1
mirror of https://github.com/mpv-player/mpv synced 2024-11-14 22:48:35 +01:00
Commit Graph

53 Commits

Author SHA1 Message Date
Uoti Urpala
b26fbeddd8 options: move -noconfig to option struct, simplify 2011-01-11 17:28:10 +02:00
Uoti Urpala
f0649f13d6 core: add support for precise non-keyframe-limited seeks
Add support for seeking to an arbitrary non-keyframe position by
decoding video starting from the previous keyframe. Whether to use
this functionality when seeking is controlled by the new option
-hr-seek and a new third argument to the "seek" command. The default
is to use it for absolute seeks (like chapter seeks) but not for
relative ones. Because there's currently no support for cutting
encoded audio some desync is expected if encoded audio passthrough is
used. Currently precise seeks always go to the first frame with
timestamp equal to or greater than the target position; there's no
support for "matching or earlier" backwards seeks at frame level.
2010-12-20 19:02:16 +02:00
Uoti Urpala
7001c2d994 core: ordered chapters: add heuristic for merging inaccurate chapters
Some Matroska files have inaccurate ordered chapter endpoints, and so
parts where one chapter should end and the next begin at the same
timestamp were not merged. This resulted in an unnecessary seek over a
minimal distance. Add a heuristic to merge parts with a minimal gap or
overlap between them.

Based on patch by Hector Martin <hector@marcansoft.com>.
2010-11-26 16:58:10 +02:00
Clément Bœsch
7eb48343d4 options: more mplayer.c options moved to option struct
Following options were moved: autoq, benchmark, [no]term-osd,
term-osd-esc, playing-msg, [no]idle, [no]consolecontrols,
list-properties.
2010-11-14 00:14:56 +02:00
Clément Bœsch
9a9a7feafe options: move various mplayer.c options to option struct
Following options were moved: [no]quiet, [no]autosync, softsleep,
[no]rtc, rtc-device.
2010-11-13 23:06:33 +02:00
Uoti Urpala
a4ce95de81 core: do initial A-V sync by modifying audio stream
Add code to enforce matching pts with video when (re)starting the
audio stream, by either cutting away the first samples or inserting
silence at the beginning. New option -noinitial-audio-sync can be used
to disable this and return to old behavior.
2010-11-13 19:46:02 +02:00
Uoti Urpala
3d999246e4 audio: add -gapless-audio option
If the option is enabled and all audio has been buffered to the AO,
then the player will move to the next file without waiting for the
buffered audio to drain, while leaving the AO initialized. If the
playback of the next file starts quickly enough (before the AO buffer
empties) then it should continue writing audio to the same AO with no
gap in between.
2010-11-12 18:29:09 +02:00
Clément Bœsch
e7d3e63a3f options: move -cache-min and cache-seek-min to option struct 2010-11-11 17:53:44 +02:00
Clément Bœsch
449484179f options: move [no]hr-mp3-seek to option struct 2010-11-11 17:51:03 +02:00
Clément Bœsch
6526bee39b options: move some demux options to option struct
Following options were moved: audiofile, audiofile-cache, subfile,
demuxer, audio-demuxer, sub-demuxer, [no]extbased.
2010-11-11 16:31:46 +02:00
Clément Bœsch
952f9b85a7 options: move -name and -title to option struct 2010-11-04 05:54:12 +02:00
Uoti Urpala
3cb3bbbddc Add a simple capture feature (-capture)
If a specified key is pressed during playback, the current stream is
captured to a file, similar to what -dumpstream achieves.

original patch by Pásztor Szilárd, don tricon hu

Taken from the following svn commits, but with several fixes and
modifications (one obvious user-visible difference is that the default
key binding is 'C', not 'c'):

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32524 b3059339-0415-0410-9bf9-f77b7e298cf2

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32529 b3059339-0415-0410-9bf9-f77b7e298cf2

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32530 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 07:48:31 +02:00
Uoti Urpala
2be10f22b2 options: move -dumpfile to option struct 2010-11-02 04:18:38 +02:00
Uoti Urpala
4de0369e8d options: move audio_output_channels, audio_output_format to struct 2010-11-02 04:18:07 +02:00
Uoti Urpala
3f076c0fb3 options: move -a52drc to option struct
Also allow a range up to 2.
2010-06-02 18:34:21 +03:00
Uoti Urpala
b3a688d45f options: move -alang and -slang to option struct
The option field corresponding to -slang is now called "sub_lang"
instead of the old misleading global name "dvdsub_lang". The code
handling -slang in subreader.c looks rather broken; disable it instead
of converting it to use the option field.
2010-05-22 10:11:15 +03:00
Uoti Urpala
a2133d7684 options: move -chapter values to option struct
-chapter can optionally take a range with a start and an end. Add a
new option type which supports such values and use that instead of a
custom per-option function.

This commit also fixes a build configuration bug: before the
availability of the -chapter option depended on DVD functionality
being enabled in the binary, even though the option works with other
sources too.
2010-04-25 22:48:10 +03:00
Uoti Urpala
4583c12a2c options: move lavfdopts to option struct 2010-04-23 22:08:18 +03:00
Daniel Dawson
c3c0309eec Support for multiple editions in Matroska
Add code to intelligently choose an appropriate Matroska edition when
there are several. Will choose, in descending order of preference: the
edition chosen by the user through the option "-edition <edition id>"
if it exists, the first edition with EditionFlagDefault set to 1 if
there is one, or the first edition.
2009-12-04 19:43:17 +02:00
Uoti Urpala
9afcdab694 options: Move ass_enabled to options struct 2009-12-02 17:37:39 +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
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
cf9edda1d3 Merge svn changes up to r29117 2009-04-01 02:43:47 +03:00
Uoti Urpala
694c067e19 options: Move osd_level and osd_duration to options struct 2009-03-31 18:24:10 +03:00
Uoti Urpala
8ca11dda9e VO: Don't force window position in X11 VOs
Disable by default the code that forcefully moved the video output
window to the middle of the screen whenever it was reconfigured or
created. That behavior was really annoying when switching video
streams within a file, and overriding the window manager like that is
not good default behavior for the initial creation of a window either.
Add a new option "-force-window-position" that can be used to restore
the old behavior.
2009-03-31 18:23:45 +03:00
Uoti Urpala
ae2faad666 Merge svn changes up to r28951 2009-03-14 23:52:45 +02: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
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
Uoti Urpala
1d1ddcb593 Move aspect.c options to option struct 2008-05-01 11:14:29 +03:00
Uoti Urpala
8de8be1536 Move input options to option struct 2008-04-30 19:34:48 +03:00
Uoti Urpala
06405a5ba5 Move key_fifo_size & doubleclick_time to options struct 2008-04-29 15:52:29 +03:00
Uoti Urpala
0885f4e5b5 Move vf_settings to options struct 2008-04-26 01:19:29 +03:00
Uoti Urpala
e08c8d6378 options.h: Field order cosmetics
Move correct_pts and user_correct_pts next to each other. loop_times
was accidentally added between them.
2008-04-26 01:19:29 +03:00
Uoti Urpala
4db72f6a80 Move vo_gamma_* to options struct 2008-04-26 01:19:29 +03:00
Uoti Urpala
7dc4226348 Move vd_use_slices to options struct 2008-04-25 07:15:07 +03:00
Uoti Urpala
60e2c8604d Move movie_aspect to options struct 2008-04-25 03:34:28 +03:00
Uoti Urpala
0a39709c15 Move screen_size_xy to options struct 2008-04-25 03:34:28 +03:00
Uoti Urpala
b14909a955 Move opt_screen_size_[x|y] to options struct 2008-04-25 03:34:27 +03:00
Uoti Urpala
1351b50ea5 Move flip and softzoom to options struct 2008-04-25 03:34:27 +03:00
Uoti Urpala
0dc3a72273 Move vidmode to options struct 2008-04-25 03:34:27 +03:00
Uoti Urpala
41d6879236 Move fullscreen to options struct 2008-04-25 03:34:27 +03:00
Uoti Urpala
3fa6f2d3e1 Move -lavdopts to options struct 2008-04-25 03:31:57 +03:00
Uoti Urpala
66bd120a3a Move dvdsub_id to options struct
Name the field "sub_id" as it's not specific to DVD subs.

Remove some other unused extern declarations together with dvdsub_id
from demux_mkv.c and demux_lavf.c.
2008-04-23 13:48:38 +03:00
Uoti Urpala
c0c914effd Move audio_id and video_id to options struct 2008-04-23 13:48:38 +03:00
Uoti Urpala
d9aa368a6d Move playback_speed to options struct 2008-04-23 13:48:37 +03:00
Uoti Urpala
ef74d21b1f Move loop_times to option struct 2008-04-23 13:47:44 +03:00
Uoti Urpala
78172918ff Move vo_screenwidth,vo_screenheight to options struct 2008-04-23 13:46:40 +03:00
Uoti Urpala
ce76dfdd4a Move vo_dbpp to options struct 2008-04-23 13:46:40 +03:00
Uoti Urpala
bfe569b76e Move vo_ontop to options struct
Add a 'struct vo *vo' argument to the x11_common.c functions that
access the variable so it's available as vo->opts->vo_ontop. To keep
VOs using the old API working create a global vo variable that is set
to the currently used old vo. "vo_ontop" will be #defined to
"global_vo->opts->vo_ontop", and x11_common.h will add defines like
the following when it is included by old VOs:
 #define vo_x11_ontop() vo_x11_ontop(global_vo)
so that they will call the function according to the new declaration.
2008-04-23 13:41:06 +03:00