summaryrefslogtreecommitdiffstats
path: root/core/options.c
Commit message (Collapse)AuthorAgeFilesLines
* demux: rewrite probing and demuxer initializationwm42013-07-121-2/+0
| | | | | | | | | | | | | | Get rid of the strange and messy reliance on DEMUXER_TYPE_ constants. Instead of having two open functions for the demuxer callbacks (which somehow are both optional, but you can also decide to implement both...), just have one function. This function takes a parameter that tells the demuxer how strictly it should check for the file headers. This is a nice simplification and allows more flexibility. Remove the file extension code. This literally did nothing (anymore). Change demux_lavf so that we check our other builtin demuxers first before libavformat tries to guess by file extension.
* options: remove --ignore-startwm42013-07-081-3/+0
| | | | This was used only with demux_avi.
* Remove old demuxerswm42013-07-071-8/+5
| | | | | | | | | | Delete demux_avi, demux_asf, demux_mpg, demux_ts. libavformat does better than them (except in rare corner cases), and the demuxers have a bad influence on the rest of the code. Often they don't output proper packets, and require additional audio and video parsing. Most work only in --no-correct-pts mode. Remove them to facilitate further cleanups.
* Remove internal network supportwm42013-07-071-11/+0
| | | | | | | | | | | This commit removes the "old" networking code in favor of libavformat's code. The code was still used for mp_http, udp, ftp, cddb. http has been mapped to libavformat's http support since approximately 6 months ago. udp and ftp have support in ffmpeg (though ftp was added only last month). cddb support is removed with this commit - it's probably not important and rarely used if at all, so we don't care about it.
* core: make network options available even if old net code is disabledwm42013-07-071-2/+8
| | | | Preparation for removing the old network code.
* core: remove mp_fifo indirectionwm42013-07-021-2/+1
| | | | | | | | | | For some reason mp_fifo specifically handled double clicks, and other than that was a pointless wrapper around input.c functionality. Move the double click handling into input.c, and get rid of mp_fifo. Add some compatibility wrappers, because so much VO code uses these functions. Where struct mp_fifo is still used it's just a casted struct input_ctx.
* options: rename --mkv-subtitle-preroll, --dtshdwm42013-06-281-2/+6
| | | | We still keep the old names as alias for short-time compatibility.
* options: rename --rawvideo to --demuxer-rawvideo, same with --rawaudiowm42013-06-281-3/+2
|
* options: rename -lavdopts to -vd-lavc, -lavfdopts to -demuxer-lavfwm42013-06-281-3/+4
| | | | | Also change manpage so that top-level options are documented instead of suboptions. Suboptions still work, but might go away eventually.
* options: add -sub-speed optionwm42013-06-251-0/+2
| | | | | | | | Should we actually get into trouble for unproper handling of frame-based subtitle formats, this might be the simplest way to work this around. Also is a bit more intuitive than -subfps, which might use an unknown, misdetected, or non-sense video FPS. Still pretty silly, though.
* sub: add demux_libass wrapper, drop old hackswm42013-06-251-1/+0
| | | | | | | | | | | | demux_libass.c allows us to make subtitle format detection part of the normal file loading process. libass has no probe function, but trying to load the start of a file (the first 4 KB) is good enough. Hope that libass can even handle random binary input gracefully without printing stupid log messages, and that the libass parser doesn't accept too many non-ASS files as input. This doesn't handle the -subcp option correctly yet. This will be fixed later.
* sub: do some timing postprocessing on preloaded subswm42013-06-231-4/+2
| | | | | | | | | | | | | This fixes the -subfps option (which unfortunately is still useful), and fixes minor annoying timing errors (which unfortunately still happen). Note that none of these affect ASS or image subtitles. ASS is specially handled: libass loads subtitles as ASS_Track. There are no actual packets passed around, and sd_ass just uses the ASS_Track. Disable the --sub-no-text-pp option. It's misleading now and always was completely useless.
* Merge branch 'cache_new'wm42013-06-161-1/+2
|\
| * cache: use threads instead of fork()wm42013-06-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Basically rewrite all the code supporting the cache (i.e. anything other than the ringbuffer logic). The underlying design is untouched. Note that the old cache2.c (on which this code is based) already had a threading implementation. This was mostly unused on Linux, and had some problems, such as using shared volatile variables for communication and uninterruptible timeouts, instead of using locks for synchronization. This commit does use proper locking, while still retaining the way the old cache worked. It's basically a big refactor. Simplify the code too. Since we don't need to copy stream ctrl args anymore (we're always guaranteed a shared address space now), lots of annoying code just goes away. Likewise, we don't need to care about sector sizes. The cache uses the high-level stream API to read from other streams, and sector sizes are handled transparently.
* | audio/out: remove ao->outburst/buffersize fieldswm42013-06-161-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The core didn't use these fields, and use of them was inconsistent accross AOs. Some didn't use them at all. Some only set them; the values were completely unused by the core. Some made full use of them. Remove these fields. In places where they are still needed, make them private AO state. Remove the --abs option. It set the buffer size for ao_oss and ao_dsound (being ignored by all other AOs), and was already marked as obsolete. If it turns out that it's still needed for ao_oss or ao_dsound, their default buffer sizes could be adjusted, and if even that doesn't help, AO suboptions could be added in these cases.
* | x11: enable screensaver when paused, rename/change --stop-xscreensaverwm42013-06-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | Use the recently introduced screensaver VOCTRLs to control the screensaver in the X11 backend. This means the behavior when paused changes: the old code always kept the screensaver disabled, but now the screensaver is reenabled on pausing. Rename the --stop-xscreensaver option to --stop-screensaver and make it more generic. Now it affects all backends that respond to the screensaver VOCTRLs.
* | options: remove --stereowm42013-06-131-6/+0
| | | | | | | | | | | | | | Whatever this was supposed to be originally, it doesn't have much value anymore. It just forced ad_mpg123 to upmix mono to stereo by default (the audio chain can do that). As an option, it was mostly useless and misleading, so get rid of it.
* | options: fix compilation on Windowswm42013-06-111-0/+1
| | | | | | | | Closes github issue #107. (Hopefully.)
* | Option -omaxfps: limit fps when encodingRudolf Polzer2013-06-091-0/+1
|/ | | | | Lower-fps content is left alone (NOT aligned to this fps); higher fps content is decimated to this frame rate.
* core: make options.c compile standalonewm42013-06-081-43/+43
| | | | | This also removes the split between "mplayer" and "common" opts (common opts used to be shared between mencoder and mplayer).
* core: rename cfg-mplayer.h to options.cwm42013-06-081-0/+839