1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-22 03:08:33 +00:00
Commit Graph

1605 Commits

Author SHA1 Message Date
diego
89dfec20a2 Declare mp_input_register_options() in input/input.h.
This also avoids a forward declaration in mplayer.c.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30572 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-14 12:39:58 +00:00
diego
8a67379319 Rename exit_reason_t enum to exit_reason and do not typedef it.
The _t namespace is reserved for POSIX; the typedef is pointless obfuscation.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30560 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-14 11:02:05 +00:00
reimar
f346180391 Move the check for valid sh_video into the init_vo_spudec, this fixes a crash
when command.c calls this function without having to duplicate the check.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30548 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-13 11:38:36 +00:00
Uoti Urpala
e187de88a1 vo_vdpau: make queuing future frame flips adjustable
Add -vo vdpau suboptions "queuetime_windowed" and "queuetime_fs" to
specify the maximum number of milliseconds how far into the future a
frame flip can be queued using the VDPAU presentation queue
functionality. The intended main use of these options is to allow
disabling use of the queuing feature on systems where using it causes
choppiness in other graphics behavior (this is an NVIDIA driver issue;
the video itself isn't affected).
2010-02-05 20:20:31 +02:00
reimar
fc50523f80 Add support for loading ASS subtitles through the stream layer and thus e.g.
from some network location.
Patch by Yuriy Kaminskiy [yumkam mail ru]


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30515 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-02-05 17:13:47 +00:00
diego
99c1bbca2a Add license header to all top-level files missing them.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30471 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-30 23:24:23 +00:00
Grigori Goronzy
42a87fc611 Disable libass fallbacks for fontconfig < 2.4.2
libass doesn't support fontconfig < 2.4.2 so fallbacks for these
ancient versions aren't needed anymore. Also update the man page
(English, German) to reflect the change. Additionally note that
-embeddedfonts controls the use of ASS script embedded fonts too.

-embeddedfonts is now always enabled by default. Fonts are never
extracted into a directory anymore but passed to libass via memory.
2010-01-27 12:46:59 +02:00
Uoti Urpala
e28e4a1b15 Merge svn changes up to r30419 2010-01-25 15:59:53 +02:00
reimar
71dcc053fe Move the resync-related code into more consistent places instead of having it
scattered all over the place with half of it forgotten in some places.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30420 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-24 15:16:39 +00:00
reimar
4e28b4bc9e Change code to allow playing a stream even if enabling the cache failed
while still handling it when the user aborts the cache fill.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30402 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-23 12:13:28 +00:00
Uoti Urpala
1f126fc60c Avoid misleading error "ASS: cannot add video filter"
When using libass with a VO that has direct EOSD support the vf_ass
video filter is unnecessary and is not added automatically, but the
code that adds the filter when it is needed produced misleading output
messages in this case. The following two messages were printed at
MSGL_ERR level, making it look like an error condition:
Couldn't open video filter 'ass'.
ASS: cannot add video filter

Add a version of vf_open_plugin() called vf_open_plugin_noerr() that
does not itself print an error message if opening a vf fails and that
returns the exact status code returned by the vf open() function. Make
vf_ass return a different status code depending on whether there was
an actual error or if it determined a filter would be redundant. Use
the _noerr function in the code adding the filter to avoid the first
message and check the status code to avoid the second.
2010-01-16 20:37:13 +02:00
Uoti Urpala
43c3a07f58 subtitles: avoid running subreader.c parser when using libass
When loading external subtitle files, the code always tried parsing
the file with subreader.c sub_read_file() first, even if libass was
then used to parse and render the file (the results of the first
parsing would be ignored in that case). This could cause problems like
unnecessary error messages. Change the code to try libass parsing
first if enabled, and skip subreader.c parsing if that succeeds.
2010-01-16 19:40:45 +02:00
Uoti Urpala
ee98209ab8 translations: add infrastructure for translated OSD messages
Add function set_osd_tmsg() which is a version of set_osd_msg that
translates its format argument. Pass OSD message strings in the
command.c property_osd_display table through mp_gtext before they're
used.
2010-01-12 12:16:00 +02:00
Uoti Urpala
b390b9b28f Merge svn changes up to r30185 2010-01-08 01:36:05 +02:00
reimar
5e1b88a019 At startup and while seeking avoid to introduce pointless sleeps and possibly
desync due to codec delay.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30218 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-04 21:38:45 +00:00
reimar
e57a8e1040 Also reset time_frame and next_frame_time on reset, it makes no sense to
process the sleep before playing the frame seeked to and can be annoying
when the user tries to escape a series of "stuck" frames with a huge duration.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30217 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-04 21:27:08 +00:00
reimar
c23a01e260 Fixup SDL configure check:
- Make it work without sdl-config which adds at least useless or even hurtful
  cflags and also does not work for cross-compiling
- If using sdl-config, make it use the CFLAGS we actually use for compiling
  instead of something else. Thus #undef main is needed in the test program.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30178 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-03 11:33:33 +00:00
Uoti Urpala
d46b86bc7c Merge svn changes up to r30136
Ignore another broken correct-pts change in 30134.
2009-12-30 00:56:10 +02:00
Uoti Urpala
57ce95b96a audio: Remove fixed decode_audio() return size limit (MAX_OUTBURST)
A couple of months ago MPlayer's ALSA driver started rounding the
amount of input data it was willing to accept in one call down to an
integer multiple of the value it set in ao_data.outburst. In some
configurations it was possible for this value to exceed the 64 KiB
limit on the amount MPlayer was willing to write in a single call to
the AO. As a result ao_alsa accepted 0 bytes in each play() call and
audio playback failed. Fix this by removing the fixed 64 KiB limit on
the amount of audio sent to AO at once; the limit was mostly a remnant
of older code anyway.
2009-12-29 15:51:59 +02:00
reimar
3241bdffd6 Set some freed pointers to NULL.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30118 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-26 12:07:14 +00:00
reimar
487ddca70c Free playtree_iter upon exiting MPlayer
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30117 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-26 12:04:48 +00:00
reimar
2908957147 Remove more direct includes of libass/ass.h
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30105 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-24 10:26:29 +00:00
Uoti Urpala
1598302be6 Fix printf format strings with invalid '%lf' conversion
Some code used an invalid '%lf' conversion specification for double
arguments. Maybe they were written that way due to confusion with
scanf where doubles are indicated by '%lf'; however it is not a valid
printf format specifier. Change those cases to use '%f'.
2009-12-15 15:27:30 +02:00
Uoti Urpala
8e77ab12b8 -identify output: use ordered chapters length for ID_LENGTH
Print the overall timeline length as ID_LENGTH instead of the length
of the main file. This may help external GUIs handle ordered chapters
somewhat better.
2009-12-13 00:51:11 +02:00
reimar
1057181fd7 Add braces to avoid ambiguous else.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29979 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-07 23:11:40 +00:00
Uoti Urpala
9afcdab694 options: Move ass_enabled to options struct 2009-12-02 17:37:39 +02:00
Uoti Urpala
6da77386e9 core: Fix timeline state at start of playback
A timeline starting in the middle of a source file resulted in initial
playback state not being set up properly. Fix this by forcing an
absolute seek to initialize timeline state before playback starts.
2009-12-02 13:47:48 +02:00
Uoti Urpala
4ef079f279 mplayer.c: Remove unneeded blit_frame arguments
The video updating functions no longer need to separately track
whether a frame is available for flipping. That information is
now available in video_out->frame_loaded, and all the separate
tracking did was present opportunities for things to go out of sync.
2009-12-02 13:01:36 +02:00
Uoti Urpala
de11a44bba core: Fix ordered chapter timeline building memory corruption
Two arrays were allocated one element too small, causing writes beyond
the allocated area. The bug was triggered when playing a Matroska file
with ordered chapters where each chapter came from a different source
and none of the sources was the original file.

Noticed by Daniel Dawson <ddawson@icehouse.net>
2009-12-02 12:38:13 +02:00
Uoti Urpala
ed333bb31d Merge svn changes up to r29971 2009-11-29 06:11:02 +02:00
reimar
731e9490b2 Readjust the global number of subs when switching dvdnav track to take
into account any change in the number of DVD subtitles available.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29964 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-24 06:59:21 +00:00
Uoti Urpala
d3a1fa98f4 core: Fix rare corner cases in video frame generation
Check that frames added by filters reach the screen and are not just
buffered by the VO, and give filters a chance to output added frames
if previous frame at EOF was buffered by VO. It's unlikely that anyone
ever noticed practical problems caused by these issues.
2009-11-23 04:38:32 +02:00
Uoti Urpala
e43926d6d1 core: Handle VO-added frames even with correct-pts disabled
At least show the extra frames even if correct-pts mode is disabled.
They cannot be timed properly though; the most practical way to fix
that is to just move to correct-pts mode instead.
2009-11-23 04:31:15 +02:00
Uoti Urpala
5995bc175a Merge svn changes up to r29962 2009-11-23 01:56:21 +02:00
Uoti Urpala
4c552b2e42 core: Do OSD/subtitle updates at a more accurate point
OSD contents such as video position and non-libass subtitles were
updated just before feeding a video frame through filters. The updates
were done at that point mainly for the benefit of vf_expand OSD
rendering functionality, which draws the OSD contents when the frame
passes through that filter. However this gave the wrong results for
VO-drawn OSD if the filter chain or VO had any delay or timestamp
manipulation: the OSD contents should reflect the most recent contents
that were _output_ after any filtering, not the last frame that was
fed _into_ the filtering machinery. This issue became more important
after vo_vdpau started buffering frames by default.

Move the OSD updates to be done just before the OSD is drawn, using
the most accurate available information. This fixes the common case
but worsens vf_expand OSD behavior (adding extra latency). A special
case could be added to fall back to the previous behavior when
vf_expand OSD is being used; however I don't consider that a high
priority at the moment especially when other problems with vf_expand
OSD would still remain.

This has little effect on libass-rendered subtitles either way,
because both vf_ass and VO libass rendering use timestamps from the
filter chain and do not rely on separate position updates.
2009-11-22 14:15:12 +02:00
Uoti Urpala
74b7dcc5f4 core: Add support for decoder reordering of pts values
Add a mode where libavcodec's reordered_opaque feature is used to
associate container packet timestamps with decoded frames. This should
improve behavior at least for MPEG files with interlaced h264; the
previous code does not cope well with the libavformat demuxer
producing two field packets with separate timestamps but the
libavcodec h264 decoder only producing a single output frame for those
two packets (so half the timestamps have no associated output frame).

The current libavformat mpeg demuxer seems to finally work with
interlaced h264 files and produce valid timestamps which are useful
with a mode like this.

By default MPlayer now selects between this new mode and the old one
automatically based on the number of timestamp problems they cause; by
default the new mode is used if both seem to work. The new option
-pts-association-mode can be used to force a particular mode. If
correct-pts mode is disabled this has no effect on timing.

Also remove the "EXPERIMENTAL" marker from the manpage description of
-correct-pts.
2009-11-21 20:53:10 +02:00
reimar
98ab90d2ca Remove useless check for valid fd with -dumpstream, the code does not
necessarily need it.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29927 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-17 18:28:43 +00:00
Uoti Urpala
34279a8ce3 cosmetics: remove some unused variables 2009-11-17 06:56:29 +02:00
Uoti Urpala
a1af75d83e mplayer.c: Fix compilation with dvdnav enabled
I had forgotten to check dvdnav-specific code after last merge of svn
changes.
2009-11-16 15:10:35 +02:00
Uoti Urpala
287b62163e Merge svn changes up to r29912 2009-11-16 07:01:46 +02:00
Uoti Urpala
507f4fe6c7 Merge branch 'vdpau' 2009-11-16 04:18:13 +02:00
Uoti Urpala
201bef7ee1 Implement vsync-aware frame timing for VDPAU
Main things added are custom frame dropping for VDPAU to work around
the display FPS limit, frame timing adjustment to avoid jitter when
video frame times keep falling near vsyncs, and use of VDPAU's timing
feature to keep one future frame queued in advance.

NVIDIA's VDPAU implementation refuses to change the displayed frame
more than once per vsync. This set a limit on how much video could be
sped up, and caused problems for nearly all videos on low-FPS video
projectors (playing 24 FPS video on a 24 FPS projector would not work
reliably as MPlayer may need to slightly speed up the video for AV
sync). This commit adds a framedrop mechanism that drops some frames
so that no more than one is sent for display per vsync. The code
tries to select the dropped frames smartly, selecting the best one to
show for each vsync. Because of the timing features needed the drop
functionality currently does not work if the correct-pts option is
disabled.

The code also adjusts frame timing slightly to avoid jitter. If you
for example play 24 FPS video content on a 72 FPS display then
normally a frame would be shown for 3 vsyncs, but if the frame times
happen to fall near vsyncs and change between just before and just
after then there could be frames alternating between 2 and 4
vsyncs. The code changes frame timing by up to one quarter vsync
interval to avoid this.

The above functionality depends on having reliable vsync timing
information available. The display refresh rate is not directly
provided by the VDPAU API. The current code uses information from the
XF86VidMode extension if available; I'm not sure how common cases
where that is inaccurate are. The refresh rate can be specified
manually if necessary.

After the changes in this commit MPlayer now always tries to keep one
frame queued for future display using VDPAU's internal timing
mechanism (however no more than 50 ms to the future). This should make
video playback somewhat more robust against timing inaccuracies caused
by system load.
2009-11-15 12:45:58 +02:00
reimar
fd35beaf0a Check that mpctx->audio_out is not NULL when trying to uninit it.
Make audio uninit consistent with e.g. the demuxer uninit code and
also avoids a possible crash.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29908 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-13 13:21:59 +00:00
ptt
ab4bdb64e1 Added -name, -title and -use-filename-title options and implementation in X11 vos
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29904 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-12 09:21:53 +00:00
reimar
a63f28b99a Whitespace cosmetics: fix pause_loop indentation/remove inconsistently used tabs.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29899 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-11 11:35:28 +00:00
reimar
376aa9416f Do not call resume on unpausing if we have already reached eof while
being paused (e.g. because of a "pausing_keep_force pt_step 1").


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29898 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-11 11:31:36 +00:00
reimar
254b4855b1 Remember which subtitle was auto-selected for dvdnav due to -slang
and if it is unchanged re-apply -slang on stream reset.
This makes -slang work when used with menu navigation or in general
when the subtitle is not available for parts of the playback or the
subtitle stream ID changes during playback.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29897 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-11 11:22:12 +00:00
reimar
d1e5bdf365 Factor out code that decides which subtitle to play.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29896 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-11 11:19:50 +00:00
reimar
36a0a35598 Use switch_program property from mplayer.c to set ts_prog.
This seems to leave the ts demuxer unaffected, but fixes -tsprog with
the lavf demuxer.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29846 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-07 11:12:56 +00:00
reimar
b963af59f1 Whitespace cosmetics: reindent reinit_audio_chain function
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29843 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-06 16:16:22 +00:00
reimar
89c9b3b769 Remove some useless comments/commented-out code.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29842 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-06 16:11:58 +00:00
reimar
477057dbb5 Split assignment from error value check to avoid overcomplicated if () condition.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29841 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-06 16:10:19 +00:00
reimar
e83addcbfa Reuse the init_error exit path also for init_best_audio_codec errors.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29840 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-06 16:08:00 +00:00
reimar
bf80f35958 Simplify: use &= instead of a = b & a;
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29839 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-06 16:06:33 +00:00
reimar
9edfe2046e Remove some unnecessary else blocks
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29838 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-06 16:04:39 +00:00
reimar
f4926132f8 Use an early return instead of a {} block over the whole function in reinit_audio_chain
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29837 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-06 15:59:42 +00:00
reimar
fefbdf991b Disable audio when initializing the filter chain fails (can happen e.g. when the hwmpa
decoder is used but the hardware does not support hardware MPEG audio).
Otherwise this will lead to a crash later on when the decode code tries to access
the audio filter chain.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29836 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-06 15:56:30 +00:00
reimar
7566e72f77 Change dvdnav_reset_stream to not disable subtitles, since that breaks
selecting the subtitle via -slang or -sid.
It is quite possible that removing it will cause other issues, though
I could not see any with the DVDs I had available for testing.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29827 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-05 20:59:46 +00:00
Uoti Urpala
8bbb79c03a av_log callback handling overhaul
Move av_log callback handling from vd_ffmpeg.c to a new file
av_log.c and install the callback immediately when starting the
program. Main functionality improvements of the new code:

 - The old version only installed the callback when opening an FFmpeg
   video decoder. If nothing had triggered that then av_log() messages
   from other sources (libavformat, audio decoding, swscale usage)
   bypassed MPlayer's output system completely. Now the callback is
   always installed.

 - Current av_log message severity levels are handled correctly. The
   old code used MSGL_ERR for some messages that should be MSGL_V.

 - Message type is now set for libavformat contexts
   (MSGT_DEMUXER / MSGT_MUXER).

 - The old code did "mp_msg_test(type, mp_level)" before actually
   determining the type, so that it always used MSGT_FIXME. This led
   to some messages being incorrectly dropped in case the user
   had specified module-specific verbosity levels. The old check in
   question was originally motivated by performance problems when
   there were a lot of callbacks; however it's not clear whether the
   part about it skipping the type determination was intentional (most
   of the performance problems must have come from the way the
   original code used snprintf) and in my tests current FFmpeg
   libraries have not generated unreasonable amounts of callbacks
   anyway.
2009-10-31 23:59:16 +02:00
Uoti Urpala
7fd3eb0f74 Merge svn changes up to r29752
As part of merging subtitle-in-terminal changes make
update_subtitles() only clear existing subtitles if called with the
reset argument, and not try to set new ones. Later calls should set
the needed new subtitles, and this change avoids some problems with
trying to set subtitles when mp_property_sub() in command.c gets
called from initialization code before full initialization.
2009-10-06 04:48:00 +03:00
reimar
6fa7e2d867 Make -nosub work to disable subtitles even if -slang and dvd streams are used.
This still needs some additional checking that subtitle selection via dvdnav works.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29732 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-09-29 06:44:10 +00:00
reimar
e3625bd232 Add a -nosub option that allows disabling auto-selected subtitles as e.g. the
mkv demuxer supports.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29730 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-09-28 11:32:27 +00:00
reimar
f43cc7c3cc Enable loading of external subtitles also for audio-only files.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29728 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-09-28 11:26:19 +00:00
reimar
95d60aa019 Use a_pos to update subtitle for audio-only files instead of mpctx->sh_audio->pts
which e.g. for mp3 in AVI never has a useful value.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29727 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-09-28 11:24:13 +00:00
reimar
4b182ff652 Add support for displaying subtitles on the command-line when playing
audio-only files.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29712 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-09-23 21:48:48 +00:00
reimar
bf16f6f4f3 Make update_subtitles work without sh_video for text subtitles.
This fixes a crash with e.g. auto-enabled subtitles and -novideo due to
command.c calling update_subtitles even without video and is a step
toward subtitle support for audio-only files.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29710 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-09-23 21:21:58 +00:00
Uoti Urpala
3f215c9f8e Merge branch 'vdpau' into build
* vdpau: (22 commits)
  VO: Prefer vo_vdpau over vo_xv again
  vo_vdpau: Fix X event handling bugs
  vo_vdpau: Fix memory corruption bug with MP_IMGTYPE_NUMBERED
  core/VO: Allow VO drivers to add/modify frames
  video_out.h: Cosmetics
  VO interface: Remove obsolete draw_frame() from new interface
  vo_vdpau: Support recovering from VDPAU display preemption
  vo_vdpau: Support updating OSD while paused
  vo_vdpau.c: Reindent control() switch statement
  vo_vdpau: Allocate one large surface for EOSD content
  vo_vdpau.c: cosmetics
  vo_vdpau: reindent after GUI code removal
  vo_vpdau: Clean up uninit logic
  vo_vdpau: Make CHECK_ST macro safer
  vo_vdpau: Move all remaining static/global variables to context
  vo_vdpau: Move things to context struct
  vo_vdpau: Make info struct const
  vo_vdpau: Replace global function table with context variable
  vo_vdpau: Move VDPAU interface pointers into one struct
  vo_vdpau: Add template file for VDPAU functions
  ...
2009-09-19 00:28:17 +03:00
Uoti Urpala
350fc4f5a2 core/VO: Allow VO drivers to add/modify frames
Add interfaces to allow VO drivers to add or remove frames from the
video stream and to alter timestamps. Currently this functionality
only works with in correct-pts mode. Use the new functionality in
vo_vdpau to properly support frame-adding deinterlace modes.

Frames added by the VDPAU deinterlacing code are now properly timed.
Before every second frame was always shown immediately (probably next
monitor refresh) after the previous one, even if you were watching
things in slow motion, and framestepping didn't stop at them at all.
When seeking the deinterlace algorithm is no longer fed a mix of
frames from old and new positions.

As a side effect of the changes a problem with resize events was also
fixed. Resizing calls video_to_output_surface() to render the frame at
the new resolution, but before this function also changed the list of
history frames, so resizing could give an image different from the
original one, and also corrupt next frames due to them seeing the
wrong history. Now the function has no such side effects. There are
more resize-related problems though that will be fixed in a later
commit.

The deint_mpi[] list of reserved frames is increased from 2 to 3
entries for reasons related to the above. Having 2 entries is enough
when you initially get a new frame in draw_image() because then you'll
have those two entries plus the new one for a total of 3 (the code
relied on the oldest mpi implicitly staying reserved for the duration
of the call even after usage count was decreased). However if you want
to be able to reproduce the rendering outside draw_image(), relying on
the explicitly reserved list only, then it needs to store 3 entries.
2009-09-18 17:12:53 +03:00
Uoti Urpala
e1ecc43152 Merge svn changes up to r29684 2009-09-16 22:28:12 +03:00
reimar
4dae2a980c Merge two Windows-specific #if sections to simplify the condition.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29684 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-09-16 18:09:48 +00:00
reimar
1782e34b55 Hack: set DEP/NX on Windows via SetProcessDEPPolicy.
This should really be done via the NXCOMPAT PE flag, but looks like
binutils will not get support for it any time soon and not having this
security feature enabled is just ridiculous.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29683 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-09-16 18:07:19 +00:00
Uoti Urpala
0e1b7765be Merge svn changes up to r29644 2009-09-04 19:49:35 +03:00
reimar
9600686eb5 10l, fix misplaced check in r29613, for loop detection we must compare
current file name against full name to be added, not current file name
against new base path.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29637 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-09-02 19:55:24 +00:00
reimar
76cb85c056 Limit amount of data allocated on stack, strlen(filename) is not a good idea for
file name strings that might come from arbitrary playlists, use PATH_MAX instead.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29636 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-09-02 19:49:10 +00:00
reimar
7e8ff35fd2 Add support for directory-specific mplayer.conf configuration file.
Patch by Christian P. Schmidt "schmidt digadd de"


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29634 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-09-02 19:43:05 +00:00
reimar
d1ff4b7f90 Make the loop detection for mov reference files less aggressive, fixes
playback of http://stream.qtv.apple.com/qtv/wgbh/http/nova_eu/nova_eu_3012c01_mp4_ref.mov


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29613 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-09-01 15:52:13 +00:00
reimar
efdf0e5fc7 Fix per-file config file loading for DOS paths (i.e. where \ and : can
also separate path and file name).


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29604 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-08-31 10:07:44 +00:00
reimar
a0eda318e8 Factor out code to try and load a config file only if it exists.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29603 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-08-31 09:48:25 +00:00
Uoti Urpala
95da34aa07 Merge svn changes up to r29532 2009-08-18 02:29:37 +03:00
Grigori Goronzy
1e98ef7789 Change type names to match upstream libass 2009-08-07 00:13:33 +03:00
diego
3fde5bd68b Only #include stream/dvbin.h when DVB is enabled.
dvbin.h #includes some system DVB headers that may be unavailable.
Fixes compilation with DVB disabled.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29474 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-08-03 16:31:55 +00:00
diego
64d5279410 Remove pointless #ifdefs around harmless internal header #includes.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29471 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-08-02 16:00:55 +00:00
Uoti Urpala
546c3fb53c Remove internal libass tree
Remove the libass/ directory and use the newest standalone version of
the library instead.
2009-07-26 20:22:43 +03:00
Uoti Urpala
d6c410b54c Replace libavutil internal header #includes with MPlayer copies
Change #include lines for libavutil/intreadwrite.h, libavutil/bswap.h
and libavutil/x86_cpu.h to use the MPlayer file under ffmpeg_files/
instead.
2009-07-26 06:16:43 +03:00
Anton Khirnov
87366694d8 Remove the internal GUI
The GUI is badly designed and too closely coupled to the internal
details of other code. The GUI code is in bad shape and unmaintained
for years. There is no indication that anyone would maintain it in the
future either. Even if someone did volunteer to implement a better
integrated GUI having the current code in the tree probably wouldn't
help much. So get rid of it.
2009-07-07 21:49:42 +03:00
Uoti Urpala
a2037a2eff Merge svn changes up to r29412 2009-07-07 02:56:01 +03:00
Uoti Urpala
0eb321bf2c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
Amar Takhar
e306174952 Translation system changes part 2: replace macros by strings
Replace all MSGTR_ macros in the source by the corresponding English
string.
2009-07-07 01:38:20 +03:00
Amar Takhar
b5972d6f14 Translation system changes part 1: wrap translated strings
Replace mp_msg() calls which have a translated string as the format
argument with mp_tmsg and add _() around all other translated strings.
2009-07-07 01:28:07 +03:00
reimar
960285ea46 Make ID_SEEKABLE depend on both the stream and the demuxer being seekable,
instead of only depending on the stream.
This makes the value correctly 0 e.g. for AVI files without index.
Patch by Jason Tackaberry [tack urandom ca]


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29331 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-05-31 12:48:53 +00:00
reimar
b60e7f8ba5 100l, demuxer info tags are _not_ case sensitive, so use strcasecmp.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29329 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-05-30 13:15:53 +00:00
Uoti Urpala
f48840f820 Fix ordered chapter pruning of redundant timeline parts
Code that was supposed to merge two timeline parts if the second one
started exactly where the first one stopped didn't work because it
mixed timestamps in different units (I had changed the units of some
variables after originally writing that code but forgotten to update
it). As a result of the bug there were unnecessary part switches, but
it was unlikely to cause any serious problems.
2009-05-22 18:25:54 +03:00
diego
6e9cbdc104 whitespace cosmetics: Remove all trailing whitespace.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29305 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-05-13 02:58:57 +00:00
Uoti Urpala
1db1773ec2 Merge svn changes up to r29277 2009-05-08 23:50:26 +03:00
Uoti Urpala
b863100784 core: Set mpctx->chapters to NULL at uninit
The uninit code called talloc_free(mpctx->chapters) but didn't clear
the pointer. As a result playing a file with ordered chapters and one
without almost certainly triggered an abort when closing the second
file. Fix by setting the pointer to NULL after freeing.
2009-05-03 21:48:58 +03:00
diego
d0f79295a9 sane verbosity levels for menu initialization
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29231 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-04-25 12:34:24 +00:00
Uoti Urpala
017fafac44 core: Handle missing timestamp errors a bit better
If there is no timestamp available for a video frame at all, use
timestamp from the previous frame (if any) instead of leaving it as
MP_NOPTS_VALUE. The main practical difference for playback is that
MP_NOPTS_VALUE caused timing to be reset, moving current video
position immediately to time of the next frame that had a timestamp
and thus likely advancing the video too fast. Now the next frame with
a timestamp will be shown at its proper position relative to the
previous timestamp.
2009-04-24 04:00:42 +03:00
Uoti Urpala
0e8c38c19b Merge svn changes up to r29154
Synchronizes runtime CPU detection handling in the build system with
latest FFmpeg.
2009-04-09 02:38:37 +03:00
ramiro
ca242e5f73 Rename RUNTIME_CPUDETECT to CONFIG_RUNTIME_CPUDETECT and always define it.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29154 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-04-08 20:21:21 +00:00
Uoti Urpala
53eeb0e412 Merge branch 'ordered_chapters' 2009-04-08 02:43:44 +03:00
Uoti Urpala
96daf7ed5e Add option -noordered-chapters. 2009-04-08 02:42:19 +03:00
Uoti Urpala
2d91b19956 Support chapter seeking with ordered chapters 2009-04-02 06:51:26 +03:00
Uoti Urpala
f12c83b85b Change demuxer_seek_chapter() parameters
Remove the "num_chapters" and "mode" parameters that aren't needed by
any callers. Change "float *seek_pts" to "double *". Allocate the
string returned via "chapter_name" with talloc.
2009-04-02 06:51:26 +03:00
Uoti Urpala
7db6430959 VO: Don't reset pause status in VO config() functions
Many VOs kept track of pause status, but reset the value when their
config() function was called. However it can be called while playback
stays in pause mode. Modify the VOs to not change anything in
config(). Also send the VO either VOCTRL_PAUSE or VOCTRL_RESUME when
the playback of a new file is starting to make sure they have the
right status.
2009-04-02 06:51:26 +03:00
Uoti Urpala
58497380e5 Initial ordered chapters support
Add basic support for Matroska ordered chapters. The switching between
segments is implemented as a general edit timeline that could also be
used for other purposes.

Some things still need improvement. In particular the current code
does not try to do any proper mapping between audio/video/subtitle
streams of different files and there should be options for better
control of how MPlayer searches other files for the required content.
2009-04-02 06:51:25 +03:00
Uoti Urpala
cf9edda1d3 Merge svn changes up to r29117 2009-04-01 02:43:47 +03:00
Uoti Urpala
0f590fce19 core: Clean up OSD seek info logic
Clean up the code and make the behavior more consistent. Before
bits of the OSD information were triggered in different places, and
various property commands that affect playback position only showed
the seek bar while the main seek command also triggered showing the
percentage in OSD text. Now only the seek and chapter commands trigger
all information and others nothing (which is consistent with most
property behavior).
2009-03-31 19:15:08 +03:00
Uoti Urpala
694c067e19 options: Move osd_level and osd_duration to options struct 2009-03-31 18:24:10 +03:00
reimar
74e6fb2c01 Set the forced_subs_only value correctly whenever a new spudec is created.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29108 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-30 17:05:39 +00:00
Uoti Urpala
73fb23c1cf Add improved relative seek mode
When the new mode is active relative seeks are converted to absolute
ones (current video pts + relative seek amount) and forward/backward
flag before being sent to the demuxer. This mode is used if the
demuxer has set the accurate_seek field in the demuxer struct and
there is a video stream. At the moment the mkv and lavf demuxers
enable the flag.

This change is useful for later Matroska ordered chapter support (and
for more general timelime editing), but also fixes problems in
existing functionality. The main problem with the old mode, where
relative seeks are passed directly to the demuxer, is that the user
wants to seek relative to the currently displayed position but the
demuxer does not know what that position is. There can be an arbitrary
amount of buffering between the demuxer read position and what is
displayed on the screen. In some situations this makes small seeks
fail to move backward at all (especially visible at high playback
speed, when audio needs to be demuxed and decoded further ahead to
fill the output buffers after resampling).

Some container formats that can be used with the lavf demuxer do not
always have reliable timestamps that could be used for unambiguous
absolute seeking. However I made the demuxer always enable the new
mode because it already converted all seeks to absolute ones before
sending them to libavformat, so cases without reliable absolute seeks
were failing already and this should only improve the working cases.
2009-03-24 04:05:04 +02:00
Uoti Urpala
ebcb5a7154 Fix video stream switch code typo
Restore accidentally dropped '!' to fixed-vo test in
reinit_video_chain(). It could have caused some issues when switching
video streams. Probably nobody noticed because files with multiple
video streams are rare.
2009-03-20 03:39:29 +02:00
reimar
062f66bbca Make pausing_keep_force the default for the set_mouse_pos and key_down_event -
different behaviour is unlikely to make sense but it is better to handle
this in input.c instead of adding special cases to mplayer.c and being
able to override the default behaviour at least should not hurt.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28870 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-07 13:25:55 +00:00
Uoti Urpala
66f6f9f076 Merge svn changes up to r28712 2009-02-23 21:00:52 +02:00
diego
8d8646d573 Print the version string after the command line has been parsed.
This allows printing the CPU information when verbose mode is
triggered on the command line.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28691 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-21 17:35:48 +00:00
Uoti Urpala
1e86963828 Merge svn changes up to r28537 2009-02-12 04:17:55 +02:00
diego
cdfafa6999 Add priority support for OS/2 and factorize the Windows priority support.
patch by KO Myung-Hun, komh chollian net


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28520 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-10 15:34:44 +00:00
reimar
a93f56abeb Use SetErrorMode so Windows will not show all kinds of error dialogs
we do not want.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28497 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-09 15:43:51 +00:00
Uoti Urpala
9790f4e6e7 Merge svn changes up to r28461 2009-02-04 00:28:17 +02:00
diego
043159f3bb Do not print a warning if current pts is equal to previous pts.
patch by Dennis Vshivkov, jaimor orcon net nz


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28445 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-01 16:02:19 +00:00
compn
43744a2d0f increase max OSD message size limit
patch by Scaevolus on irc


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28413 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-01 00:00:21 +00:00
Uoti Urpala
dd888b05ff Merge svn changes up to r28366
Contains more changes needed to sync build system with latest FFmpeg.

Conflicts:
	Makefile
	configure
	mplayer.c
2009-01-26 00:58:15 +02:00
diego
2067a1f750 Factorize print_version().
Print CPU information in verbose mode instead of by default.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28360 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-01-25 20:35:58 +00:00
Uoti Urpala
79e1aa7cc7 Merge svn changes up to r28341
Conflicts:
	configure
	libmpcodecs/native/rtjpegn.c
2009-01-19 00:04:43 +02:00
reimar
9dee994c23 100l, mixed up ao_data.samplerate and ao_data.bps when calculating sleep time.
Fixes stuttering audio when playing audio-only files.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28329 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-01-16 09:41:26 +00:00
reimar
452cda5332 More #ifdef -> #if
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28324 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-01-16 08:45:35 +00:00
Uoti Urpala
2b45912684 Fix dvdnav call broken in pause changes 2009-01-15 06:00:38 +02:00
Uoti Urpala
9bcd12fdf5 Merge svn changes up to r28310
The libdvdread4 and libdvdnav directories, which are externals in the
svn repository, are at least for now not included in any form. I added
configure checks to automatically disable internal libdvdread and
libdvdnav if the corresponding directories are not present; if they're
added manually then things work the same as in svn.
2009-01-15 05:57:31 +02:00
Uoti Urpala
d419ecd161 OSD: Ensure that OSD content is drawn in filter-added frames
Move the OSD drawing calls from filter_video() to higher-level code to
ensure that VOs will draw the OSD also in filter-added frames, which
are displayed without a separate call to filter_video().
2009-01-15 01:09:21 +02:00
Uoti Urpala
2d532689fc core: Improve handling of bad timestamps
Rewrite some of the -correct-pts frame generation code. The most
noticeable difference is that video timestamps which jump around but
do not go backwards more than 0.5 seconds will not affect overall
video playback speed. Only larger jumps are treated as timestamp
resets and increase the overall length of the video timeline. This
will hopefully give watchable results for videos which have broken
timestamps or which MPlayer does not demux or otherwise handle
properly.
2009-01-15 00:32:03 +02:00
Uoti Urpala
38a76f7fdf core: Better -nocorrect-pts pause and filter-added frames handling
Rewrite the -nocorrect-pts frame creation code. The new version always
updates the visible frame when seeking while pausing, and supports
filter-added frames. It can not time those properly though.

Now the handling of filter-added frames in MPlayer always uses the new
method independently of the value of correct-pts but MEncoder still
expects the old behavior. Add a global variable that is set under
MEncoder only and change the filters to choose behavior based on that
instead of the correct_pts option.
2009-01-14 03:42:05 +02:00
Uoti Urpala
1f782eb802 core: Set OSD contents better while paused
Handle timing out of OSD messages and set the OSD function symbol to
pause instead of play. The implementation is hackish and should be
cleaned up later with other pause loop changes.
2009-01-14 02:06:14 +02:00
Uoti Urpala
321c93ee99 core: Rewrite some of the A/V sync related code
Notable functionality changes:
* Timing change between any two frames is now accurately limited to
  1/10 of their nominal distance. Previous code did not always use the
  correct duration.
* The status line now keeps showing the same A-V sync value from one
  video frame change to the next. Previously it kept recalculating
  the value using a new audio position but the same video position
  when the status line was updated between video frames. This
  incorrectly showed the video losing sync with audio.
* The status line now displays actual measured A-V difference in
  autosync mode too. The previous code displayed values that
  completely ignored real timing in autosync mode, showing 0 A-V
  difference even when video was significantly behind audio due to
  inadequate decoding speed. The new behavior can make the shown A-V
  values appear more unstable if the audio out has unreliable delay
  measurements (the most likely reason to use autosync), but this is a
  display change rather than a timing quality change.
* Autosync mode now tries to adjust timing by the amount of time
  vo_flip() calls take, so the calls start earlier and finish at the
  time the frame should be shown. Previously non-autosync mode
  adjusted for this but autosync did not.
* The warning about the system being too slow to decode the video in
  realtime is now displayed in autosync mode too.
2009-01-14 02:06:13 +02:00
diego
61f18f2381 Add missing const qualifier to mpctx_get_audio_out function declaration.
This fixes the warning:
mplayer.c:381: warning: return discards qualifiers from pointer target type


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28294 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-01-10 20:01:47 +00:00
reimar
c9ba917877 Avoid a uselessly high number of wakeups when playing audio-only files.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28220 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-01-01 10:24:19 +00:00
Uoti Urpala
02efad79a2 Update OSD while paused
When OSD contents change while paused, try to change the OSD drawn in
the currently visible frame. If such OSD updates are not supported
then advance by one frame and draw the OSD normally. Add some support
for OSD redrawing to vo xv.

The new xv code makes a copy of the original frame contents before
drawing the OSD if MPlayer is already paused when the frame is drawn.
If such a copy of the current frame exists then the frame contents can
be restored and a different OSD drawn on top of the same frame.
2008-12-09 04:31:07 +02:00
Uoti Urpala
6fec7ec734 Allow seeking while paused
Screen is now updated immediately (doesn't always work without
correct-pts yet though). Doing audio unpause after the seek reset can
display errors.

Main loop code now checks for possible reasons to stop command
processing instead of relying on each command to also set an explicit
'break' flag.
2008-12-09 04:31:07 +02:00
Uoti Urpala
77c709ad31 Start pause handling changes
Add separate pause_player() / unpause_player functions(), move some
pausing-related state into explicit variables and make commands while
paused not unpause. Not everything works properly while paused yet (no
screen updates etc).
2008-12-09 04:31:07 +02:00
Uoti Urpala
8c144171bb Merge svn changes up to r28087
Conflicts:
	command.c
	libao2/ao_ivtv.c
	libao2/ao_v4l2.c
	libmpcodecs/dec_video.h
	libvo/aspect.h
	libvo/sub.c
	libvo/sub.h
	libvo/vo_directx.c
	libvo/vo_macosx.m
	libvo/vo_quartz.c
	mp_core.h
	mplayer.c
	mplayer.h
	osdep/getch2.h
	osdep/timer.h
2008-12-04 01:55:52 +02:00
diego
0864f92e7a Get rid of pointless 'extern' keywords.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28085 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-12-03 23:01:03 +00:00
reimar
f6b9f42516 Print ID_EXIT and exit reason message in identify mode when exiting.
Patch by rvm [rvm3000 ya com]


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28066 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-12-02 19:53:41 +00:00
Uoti Urpala
835511ac39 Merge svn changes up to r28038 2008-11-25 21:12:01 +02:00
reimar
c8993e3c66 Reimplement -endchapter support again for -dump*, it was broken in r25987.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27987 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-11-23 12:45:07 +00:00
Uoti Urpala
e46ce9c0ac Merge svn changes up to r27899 2008-11-06 20:41:40 +02:00
diego
74dd64e71d Add an option that sets initial playback volume.
patch by Reimar and rvm, rvm3000 ya com


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27872 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-10-31 18:44:45 +00:00
Uoti Urpala
479f5e742f Merge svn changes up to r27841
Conflicts:
	mplayer.c
2008-10-28 04:12:18 +02:00
aurel
97293969b4 Factorize vobsub idx/extradata handling.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27841 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-10-27 22:51:22 +00:00
aurel
65db2ef944 Avoid calling init_vo_spudec() too early.
(before mpctx->d_sub->sh initialization)


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27839 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-10-27 22:34:33 +00:00
Uoti Urpala
0301309425 Merge svn changes up to 27824
Conflicts:
	cfg-common-opts.h
	libmpcodecs/dec_video.c
	libmpcodecs/vd.c
	libvo/x11_common.h
	mplayer.c
	stream/cache2.c
2008-10-25 05:12:34 +03:00
diego
4d644f513c Replace preprocessor check for WIN32 with checks for __MINGW32__ and __CYGWIN__.
This avoids a pointless indirection that only obscures what is really done.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27761 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-10-13 16:23:55 +00:00
Uoti Urpala
ebb4abf208 Merge svn changes up to r27682
Addition of the "outdir" suboption to vo_png in svn was reverted
before merging.

Conflicts:
	command.c
	mplayer.c
2008-10-02 05:17:23 +03:00
nicodvb
20e4a74eb5 slave command to get the number of chapters; patch by Kevin DeKorte - kdekorte gmail com
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27667 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-26 21:17:01 +00:00
reimar
e628297bbd Since the pause loop now also runs commands, set mpctx->was_paused
before entering it for more consistency.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27666 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-25 17:42:56 +00:00
reimar
97cf6acdab Add an experimental pausing_keep_force slave mode command prefix
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27665 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-25 17:40:33 +00:00
Uoti Urpala
8ea7eb77fc core: Clean up move-to-next-file logic
The mpctx->eof field was used to also store other reasons to stop
playing the current file besides EOF, and the code didn't properly
distinguish those from EOF. Rename the field to "stop_play" and clean
up some of the code accessing it. Properly separating EOF from other
reasons allows handling file switching better.

Before this commit buffered audio was always drained before moving to
the next file (the only exception when it was NOT drained when
stopping a file was when quitting the player completely). This added
an extra delay when manually moving to the next file as you had to
wait for the currently buffered audio to finish playing before the
next file would start. After this commit audio is only drained if the
file reaches EOF normally; otherwise audio is cut and the next file
starts immediately.
2008-08-13 08:06:26 +03:00
Uoti Urpala
e09fe1ce04 Merge svn changes up to r27458 2008-08-12 15:03:34 +03:00
Uoti Urpala
9425571f41 mplayer.c: #include mplayer.h and access_mpcontext.h
Both declare symbols defined in mplayer.c, so include them to make the
compiler check the declarations match.
2008-08-12 14:57:18 +03:00
Uoti Urpala
cfe2839386 Move some declarations from mplayer.c to proper headers
Declare mp_input_register_options in input.h and
xscreensaver_heartbeat in x11_common.h.
2008-08-12 14:57:18 +03:00
Uoti Urpala
f6dfaf26f8 Make various functions static 2008-08-12 14:57:12 +03:00
diego
ff2a3dd060 Use translatable string instead of hardcoded message for process priority.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27445 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-08-09 15:45:00 +00:00
Uoti Urpala
17d3e4b36d Merge svn changes up to r27441
Conflicts:

	cfg-common-opts.h
	command.c
	configure
	input/input.c
	libmpcodecs/dec_video.c
	libmpcodecs/vd.c
	libmpdemux/stheader.h
	libvo/sub.c
	libvo/video_out.c
	libvo/vo_xv.c
	libvo/vosub_vidix.c
	libvo/x11_common.c
	libvo/x11_common.h
	mp_core.h
	mplayer.c
	stream/stream.h
2008-08-08 02:13:09 +03:00
diego
e0b1c9a6b7 Give a CONFIG_ prefix to preprocessor directives that lacked one and
change arbitrary prefixes to CONFIG_.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27429 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-08-07 12:20:50 +00:00
diego
091d352d06 Rename font-related preprocessor directives.
Switch them from a HAVE_ to a CONFIG_ prefix.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27425 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-08-07 10:36:07 +00:00
diego
141e81cce4 Rename a bunch of miscellaneous preprocessor directives.
Switch them from a HAVE_ to a CONFIG_ prefix.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27423 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-08-07 08:58:07 +00:00
diego
82f319af62 Change a bunch of X11-specific preprocessor directives.
Switch from a HAVE_ prefix to a CONFIG_ prefix.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27409 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-08-04 06:16:23 +00:00
diego
02135001b4 Change a bunch of video/audio-output-specific preprocessor directives from
a HAVE_ prefix to a CONFIG_ prefix.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27402 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-08-03 15:21:40 +00:00
Uoti Urpala
6cce822505 Merge svn changes up to r27399
Conflicts:

	libmpcodecs/vd.c
	libmpcodecs/ve_raw.c
	libvo/video_out.c
	libvo/x11_common.c
	mplayer.c
2008-08-02 22:04:35 +03:00
diego
d17f9943af Rename some preprocessor directives from CONFIG_* to HAVE_* where appropriate;
CONFIG_ prefix for configurable options, HAVE_ for system-dependent stuff.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27391 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-08-01 20:28:58 +00:00
diego
6138ec05eb Rename preprocessor directive HAVE_MENU --> CONFIG_MENU.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27377 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-07-30 18:07:19 +00:00
diego
3b31fa5717 Rename two GUI-related preprocessor directives:
HAVE_NEW_GUI --> CONFIG_GUI, HAVE_GTK2_GUI --> CONFIG_GTK2


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27375 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-07-30 13:44:59 +00:00
Uoti Urpala
04f3909a72 Merge svn changes up to r27374
Conflicts:

	cfg-common-opts.h
	cfg-mplayer.h
	command.c
	configure
	libmpcodecs/dec_video.c
	libmpcodecs/vd.c
	libmpcodecs/vf_vo.c
	libmpdemux/demuxer.h
	libmpdemux/stheader.h
	mp_core.h
	mplayer.c
	stream/stream_radio.c
2008-07-30 16:39:24 +03:00
diego
4b141479da Start unifying names of internal preprocessor directives.
Replace all USE_ prefixes by CONFIG_ prefixes to indicate
options which are configurable.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27373 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-07-30 12:01:30 +00:00
reimar
f6b9076a6d Use GetTimerMS() instead of time() with srand.
This is more portable and avoids generating the same random numbers
for a whole second (and on MinGW for some unexplainable reason for
almost 10 seconds).

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27353 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-07-26 21:58:00 +00:00
Uoti Urpala
06c533b167 Fix crash during early exit
Starting MPlayer with options such as "-demuxer help" that exit before
initializing OSD struct would crash at exit because of a reference to
mpctx->osd->sub_font in deinitialization code. Fix by checking that
mpctx->osd is not NULL.

Checking that osd->sub_font is not NULL was unnecessary because
free_font_desc(NULL) is safe.
2008-07-09 20:02:34 +03:00
Uoti Urpala
0f73474fca Fix compilation with dvdnav enabled
Some dvdnav-specific code had not been properly updated after moving
options to option struct and removing global mpctx.
2008-06-26 06:42:03 +03:00
Uoti Urpala
0e85dc0f32 Move global sub_font to OSD struct 2008-06-24 08:29:36 +03:00
Uoti Urpala
dd89386500 Remove unnecessary casts of sh_video->vfilter
The casts were left from the time when the type of sh_video->vfilter
was (unnecessarily) void *. Now that the field has the correct type
the casts are pointless.
2008-06-24 02:03:19 +03:00
Uoti Urpala
a232f564d3 Create a context struct for OSD state
This commit creates the struct and passes it to some functions that
needs to access OSD state but does not yet move much data from globals
to it.

vf_expand accesses the OSD state for rendering purposes outside of the
normal OSD draw time. The way this currently works is suboptimal, but
I did not attempt to clean it up now. To keep things working the same
way vf_expand needs to know the address of the state object to be able
to access the data even in the functions that should normally not need
it. For that purpose this commit adds a VFCTRL to tell vf_expand the
address of the object.
2008-06-24 01:53:58 +03:00
Uoti Urpala
68e70b3ec3 Merge svn changes up to r27092
Conflicts:

	libmpdemux/demuxer.c
	libvo/vo_xv.c
	mencoder.c
2008-06-17 05:04:32 +03:00
reimar
dcd0902bcd Try harder to honour CTRL+C etc. during dumpstream
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27092 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-06-16 18:42:58 +00:00
diego
ca8d41adb5 Add the ugly HELP_MP_DEFINE_STATIC back, otherwise we produce warnings like
./help_mp.h:21: warning: 'help_text' defined but not used


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27071 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-06-15 13:37:44 +00:00
diego
da3eec542c Remove pointless HELP_MP_DEFINE_STATIC definition.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27068 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-06-15 12:56:09 +00:00
Uoti Urpala
af3fcdf2de Merge svn changes up to r27025
Conflicts:

	command.c
	libvo/vosub_vidix.c
	libvo/vosub_vidix.h
	mplayer.c
2008-06-07 19:57:57 +03:00
ben
c71d348a7d Rename some functions as they are mplayer related and not
from libdvdnav public API.



git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27018 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-06-07 12:57:23 +00:00
diego
f9810c0dfb Fix the linking of TOOLS/netstream and TOOLS/vivodump.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26995 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-06-06 13:28:25 +00:00
Uoti Urpala
d5c868325c Merge svn changes up to r26979
Most of the conflicts are trivial.

Conflicts:

	Makefile
	cfg-mplayer.h
	input/input.c
	libmenu/vf_menu.c
	libmpcodecs/dec_video.c
	libmpcodecs/vf_expand.c
	libmpcodecs/vf_vo.c
	libmpdemux/demux_mkv.c
	libmpdemux/demuxer.c
	libmpdemux/demuxer.h
	libvo/vo_directfb2.c
	libvo/vo_gl.c
	libvo/vo_winvidix.c
	libvo/vo_xv.c
	libvo/vo_xvidix.c
	libvo/vo_xvmc.c
	libvo/x11_common.c
	mplayer.c
	osdep/timer-linux.c
	stream/cache2.c
2008-06-04 08:10:48 +03:00
ben
bc212e3500 Add a slave command to stop stream playback.
Mostly useful when used with -idle mode.
Patch by Mathieu Schroeter ( mathieu dot schroeter at gamesover dot ch )



git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26909 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-27 18:39:57 +00:00
reimar
05f93a0054 Re-add (hackish) support for -chapter (only start chapter, end is not supported) with -dumpstream.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26864 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-24 07:47:11 +00:00
reimar
08678c2c6a Avoid crash with video stream switching and -nosound
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26850 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-21 20:46:05 +00:00
Uoti Urpala
a41db36b22 Merge svn changes up to r26783
Conflicts:

	Makefile
	common.mak
	configure
	libmpcodecs/vd_ffmpeg.c
	libmpdemux/demux_mkv.c
	libvo/vo_xv.c
	mplayer.c
2008-05-15 21:19:35 +03:00
ben
c289ff3a72 Delcare a dvdnav-specific input section if the currently played
stream is from such a type.



git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26760 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-13 17:26:41 +00:00
eugeni
9440d4aaed Cosmetics: remove some commented code.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26753 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-12 20:40:42 +00:00
eugeni
27cdeb019d Change subtitle selection order by giving "indirect" ways of specifying the
desired subtitle track the least priority.

Selection of displayed subtitles by language (-slang) and default track
attribute is only performed if all other ways have failed. They are not
directly controllable by the user (especially default tracks), therefore they
should not override -sub, -vobsub and even auto-subs.

Based on a patch by Sergey Malkovsky (mplayer.win32_gmail_com).


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26752 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-12 20:40:39 +00:00
reimar
7420952caf Request a timer resolution of 1 ms on Windows, the default of
between 10 and 55 ms (depending on OS version) is too inaccurate
for our needs.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26721 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-10 15:03:04 +00:00
Uoti Urpala
8de8be1536 Move input options to option struct 2008-04-30 19:34:48 +03:00
Uoti Urpala
a5fdd8f6f9 input: Move command filedescriptor list to context struct 2008-04-30 14:46:21 +03:00
Uoti Urpala
423b95bf5c input: Move cmd_queue to context struct
Menu instances now also need a input context pointer to queue commands.
2008-04-30 14:46:21 +03:00
Uoti Urpala
bfcb3a7a81 input: Move key filedescriptor list to context struct
The context variable is now passed to VOs too as it's now needed to
add a callback on the X filedescriptor.
2008-04-30 14:46:17 +03:00
Uoti Urpala
66db9ec7d6 Remove INITIALIZED_INPUT from mpctx->initialized_flags
The input functions are never uninited except at exit. Move the uninit
to player exit function and remove the flag.
2008-04-30 13:24:56 +03:00
Uoti Urpala
7b085d4514 input: Move command bind variables to context struct 2008-04-30 13:24:56 +03:00
Uoti Urpala
9e9932d4d7 Create a context for input.c state
Start moving static variables to a context struct. Only autorepeat
state is moved to the struct in this commit.

mp_input_check_interrupt now requires the context variable. Change
stream functions to pass it. It's still stored in a static variable in
stream/.
2008-04-30 13:24:54 +03:00