aboutsummaryrefslogtreecommitdiffhomepage
path: root/options
Commit message (Collapse)AuthorAge
* player: handle rebasing start time differentlyGravatar wm42015-11-16
| | | | | | | | | | | | | | | | Most of this is explained in the DOCS additions. This gives us slightly more sanity, because there is less interaction between the various parts. The goal is getting rid of the video_offset entirely. The simplification extends to the user API. In particular, we don't need to fix missing parts in the API, such as the lack for a seek command that seeks relatively to the start time. All these things are now transparent. (If someone really wants to know the real timestamps/start time, new properties would have to be added.)
* Remove some VLAsGravatar wm42015-11-06
| | | | | | | | They are evil and should be eradicated. Some of these were pretty dumb anyway. There are probably some more around in platform specific code or other code not enabled by default on Linux.
* options: enable mpeg2 hw decoding by default if hw decoding is requestedGravatar wm42015-11-05
| | | | | We didn't include this codec in the whitelist because of past problems with vdpau and interlacing. (I can't reproduce any problems anymore.)
* options: handle terminal/logging settings eagerlyGravatar wm42015-11-04
| | | | | | | | | | | Update msg.c state immediately if a terminal or logging setting is set. Until now, this was delayed until mp[v]_initialize() was called. When using the client API, you could easily miss logged error messages, even when logging was initialized early on by calling mpv_request_log_messages(). (Properties can't be used for this either, because properties do not work before mpv_initialize().)
* player: add audio drop/duplicate modeGravatar wm42015-10-27
| | | | Not very robust in the moment.
* options: remove --use-text-osdGravatar wm42015-10-24
|
* options: add support for client certificate authenticationGravatar Joschka Tillmanns2015-10-20
| | | | | | | | Client certificates are supported by ffmpeg as documented here: > https://www.ffmpeg.org/ffmpeg-protocols.html#tls Signed-off-by: wm4 <wm4@nowhere>
* ytdl: Remove DASH hacks, use DASH by defaultGravatar ChrisK22015-10-11
| | | | | | | | | | | Thanks to rcombs, ffmpeg now properly supports DASH and we can remove our hacks for it and use it by default whenever available. If you don't like this for whatever reason, you can get the "normal" streams back with --ytdl-format=best . Closes #579 Closes #1321 Closes #2359
* video: remove user-controllable PTS sorting (--pts-association-mode)Gravatar wm42015-10-06
| | | | | | | | | Useless. Sometimes it might be useful to make some extremely broken files work, but on the other hand --no-correct-pts is sufficient for these cases. While we still need some of the code for AVI, the "auto" mode in particular inflated the size of the code.
* audio: add option for falling back to ao_nullGravatar wm42015-10-05
| | | | | | | | | The manpage entry explains this. (Maybe this option could be always enabled and removed. I don't quite remember what valid use-cases there are for just disabling audio entirely, other than that this is also needed for audio decoder init failure.)
* video: replace vf_format outputlevels option with global optionGravatar wm42015-09-29
| | | | | | | | | | | The vf_format suboption is replaced with --video-output-levels (a global option and property). In particular, the parameter is removed from mp_image_params. The mechanism is moved to the "video equalizer", which also handles common video output customization like brightness and contrast controls. The new code is slightly cleaner, and the top-level option is slightly more user-friendly than as vf_format sub-option.
* video: remove VDA supportGravatar wm42015-09-28
| | | | | | | | | VideoToolbox is preferred. Now that FFmpeg released 2.8, there's no reason to support VDA anymore. In fact, we had a bug that made VDA not useable with older FFmpeg versions in some newer mpv releases. VideoToolbox is supported even on slightly older OSX versions, and if not, you still can run mpv without hw decoding.
* player: prefer logical current directory pathGravatar wm42015-09-11
| | | | | | | The "PWD" enviornment variable is described by POSIX. We don't go to length to verify its contents, but just trust it. This affects the logic for resuming playback.
* options: fix --no-configGravatar wm42015-09-05
| | | | | | | | | | | | | | | | | | This was completely broken. It was checked manually in some config loading paths, so it appeared to work. But the intention was always to completely disable reading from the normal config dir. This logic was broken in commit 2263f37d. The manual checks are actually redundant, and are not needed if --no-config is implemented properly - remove them. Additionally, the change to load the libmpv defaults from an embedded profile also failed to set "config=no". The option is marked as not being settable by a config file, and the libmpv default profile is parsed as a config file, so this option was rejected. Fix it by removing the CONF_NOCFG flag. (Alternatively, m_config_set_profile() could be changed not to set the "config file" flag by default, but I'm not bothering with this.)
* video: make container vs. bitstream aspect ratio configurableGravatar wm42015-08-30
| | | | | | Utterly idiotic bullshit. Fixes #2259.
* player: add --playlist-pos optionGravatar wm42015-08-22
| | | | Oddly often requested.
* options: sub-file replaces subfile, instead of subGravatar Stian Eikeland2015-08-21
|
* player: add display sync modeGravatar wm42015-08-10
| | | | | | | | | | | | | | | | | | | | | | | | If this mode is enabled, the player tries to strictly synchronize video to display refresh. It will adjust playback speed to match the display, so if you play 23.976 fps video on a 24 Hz screen, playback speed is increased by approximately 1/1000. Audio wll be resampled to keep up with playback. This is different from the default sync mode, which will sync video to audio, with the consequence that video might skip or repeat a frame once in a while to make video keep up with audio. This is still unpolished. There are some major problems as well; in particular, mkv VFR files won't work well. The reason is that Matroska is terrible and rounds timestamps to milliseconds. This makes it rather hard to guess the framerate of a section of video that is playing. We could probably fix this by just accepting jittery timestamps (instead of explicitly disabling the sync code in this case), but I'm not ready to accept such a solution yet. Another issue is that we are extremely reliant on OS video and audio APIs working in an expected manner, which of course is not too often the case. Consequently, the new sync mode is a bit fragile.
* options: remove the period at the end of "No file."Gravatar Niklas Haas2015-08-09
| | | | | | Since we're on the topic of consistency, I've seen multiple users complain about the presence of this period, which does not really match other programs' behavior.
* options: move program name to end of window titleGravatar Martin Herkt2015-08-09
| | | | Fixes #2188
* demux: add options to control maximum queue sizeGravatar wm42015-08-05
| | | | | | | | | | | | | | Add --demuxer-max-packets and --demuxer-max-bytes, which control the maximum size of the packet queue. These can be helpful to avoid excessive memory usage. Memory usage is the reason why there's a limit in the first place. If a file is more or less broken, and audio and video don't line up, the decoders will fill up the packet queue trying to read more audio or video, and the maximum sizes are required to avoid unbounded memory allocation. Being able to override the maximum sizes is useful; either for restricting memory usage further, or enlarging the sizes when attempting to play various broken files.
* demux: remove options to control minimum packet queue sizeGravatar wm42015-08-05
| | | | | | | | Remove --demuxer-readahead-packets and --demuxer-readahead-bytes. These were a bit useless. They could force a minimum packet queue size, but controlling the queue size with --demuxer-readahead-secs is much nicer. It's fairly certain nobody ever used these options.
* hwdec: add VideoToolbox supportGravatar Sebastien Zwickert2015-08-05
| | | | | | | | VDA is being deprecated in OS X 10.11 so this is needed to keep hwdec working. The code needs libavcodec support which was added recently (to FFmpeg git, libav doesn't support it). Signed-off-by: Stefano Pigozzi <stefano.pigozzi@gmail.com>
* command: add property indicating per-file optionsGravatar wm42015-07-23
| | | | Fixes #2165, more or less.
* cache: make backbuffer size configurableGravatar wm42015-07-22
| | | | | | | | | | Allow setting an arbitrary amount, instead of the fixed 50%. This is nto striclty backwards compatible. The defaults don't change, but the --cache/--cache-default options now set the readahead portion. So in practice, users who configured this until now will see the double amount of cache being used, _plus_ the 75MB default backbuffer will be in use.
* sub: add option for stretching image subtitles to screenGravatar wm42015-07-18
| | | | | | | Probably makes users happy who want bitmap subtitles to show up in the screen margins, and stops them from doing idiotic crap with vf_expand. Fixes #2098.
* player: extend --hls-bitrate optionGravatar wm42015-07-13
| | | | Fixes #2116.
* player: disable seeking even if the cache is enabledGravatar wm42015-07-08
| | | | | | | | | | | | | | Until now, if a stream wasn't seekable, but the stream cache was enabled (--cache), we've enabled seeking anyway. The idea was that at least short seeks would typically fall within the cache. And if not, the user was out of luck and terrible things happened. In other words, it was unreliable. Be stricter about it and remove this behavior. Effectively, this will for example disable seeking in piped data. Instead of trying to be clever, add an --force-seekable option, which will always enable seeking if the user really wants it.
* vo_opengl_cb, vo_opengl: add option for preloading hwdec contextGravatar wm42015-07-07
| | | | | | | | See manpage additions. This is mainly useful for vo_opengl_cb, but can also be applied to vo_opengl. On a side note, gl_hwdec_load_api() should stop using a name string, and instead always use the IDs. This should be cleaned up another time.
* options: cleanup hwdec name mappingsGravatar wm42015-07-07
| | | | | | | | | Now there's a "canonical" table for mapping the names, that other code can use, without having to rely too much on option code magic. Also, use the central HWDEC constants, instead of magic values. (There used to be semi-ok reasons to do this, but now it makes no sense anymore.)
* options: fix conversion of flags to stringsGravatar wm42015-07-01
| | | | | | | | | | This flags stuff tried to be too clever - if there are overlapping flags (e.g. exclusive or combined flags), the one matching with most bits has to be chosen. This fixes logging of the seek command. E.g. "relative" and "absolute" overlap to make them exclusive, but "relative" was always printed as it happened to match first.
* options: improve an error messageGravatar wm42015-06-27
| | | | | "mpv --ao=wasapi:help" on Linux gave "Option ao doesn't exist.". Completely misleading and stupid.
* audio: replace format name tableGravatar wm42015-06-26
| | | | Having a big switch() is simpler.
* Various spelling fixesGravatar Marcin Kurczewski2015-06-18
| | | | Signed-off-by: wm4 <wm4@nowhere>
* options: make keyvalue list parsing less strictGravatar wm42015-06-10
| | | | | Affects for example --script-opts. A bunch of characters are now allowed in them without causing trouble to the user.
* audio: add --audio-spdif as new method for enabling passthroughGravatar wm42015-06-05
| | | | | | | | | | | | | This provides a new method for enabling spdif passthrough. The old method via --ad (--ad=spdif:ac3 etc.) is deprecated. The deprecated method will probably stop working at some point. This also supports PCM fallback. One caveat is that it will lose at least 1 audio packet in doing so. (I don't care enough to prevent this.) (This is named after the old S/PDIF connector, because it uses the same underlying technology as far as the higher level protoco is concerned. Also, the user should be renamed that passthrough is backwards.)
* options: remove --slave-brokenGravatar wm42015-05-27
| | | | It has been deprecated for ages.
* player: use an array for stream ID options and suchGravatar wm42015-05-22
| | | | This makes the code slightly more generic.
* command: remove old property deprecation warning mechanismGravatar wm42015-05-22
| | | | | | | We don't need two. This mechanism was basically for MPlayer, and it has expired its usefulness by now.
* options: rename --media-title optionGravatar wm42015-05-22
| | | | Conflicts with the property.
* audio: make softvol scale cubicGravatar wm42015-05-22
| | | | | | | | This brings the volume control closer to what is percepted as linear volume change. Adjust the --softvol-max default to roughly the old maximum (roughly doubles the gain).
* audio: change range of volume option/propertyGravatar wm42015-05-22
| | | | | | | | | Now --volume takes an absolute volume, meaning it doesn't depend on --softvol-max. 0 is still silence, and 100 now always means unchanged volume. The OSD and the "volume" property are changed accordingly. Also raise the minimum value of --softvol-max. A value below 100 makes no sense and breaks the OSD.
* options: --loop without argument means looping foreverGravatar wm42015-05-22
| | | | | | | | | | | | Adding a "yes" choice makes the option parser consider this option as a multi-state flag option, and without argument "yes" is implicitly selected. "yes" is made an alias for "inf", so it will loop infinitely. As a negative side effect, the old syntax "-loop inf" does not work anymore. Since this is ambiguous, the option parser prefers interpreting the "inf" as filename. Fixes #1970.
* video: add hevc to whitelist of hwdec codecsGravatar wm42015-05-14
| | | | | This means if --hwdec is used, and hardware decoding is supported for HEVC, it's actually used.
* path: improve verbose loggingGravatar wm42015-05-09
|
* path: use mp_path_join in one more placeGravatar wm42015-05-09
|
* player: make resuming playlists less noisy in verbose modeGravatar wm42015-05-09
| | | | | | | | | | | | | | | | | | | mp_find_config_file() will print the filename lookup and its result in verbose mode. This is wanted, but gets inconvenient when it is done for every playlist entry (for resuming). Lookup the watch_later subdir only once and cache the result instead. This drops the logic for loading the resume file from other locations, which should generally be unnecessary, though might lead to confusion if the user has mixed old and new config paths (which the user shouldn't). Also add a mp_find_user_config_file() function for a more straightforward and reliable way to get actual local configpaths, instead of possibly global and unwritable locations. Also, for symmetry, check the resume option in mp_load_playback_resume() just like mp_check_playlist_resume() does.
* path: make mp_path_join accept normal C stringsGravatar wm42015-05-09
| | | | | Instead of bstr. Most callers of this function do not need bstr. The bstr version of this function is now mp_path_join_bstr().
* path: unify the two config file lookup functionsGravatar wm42015-05-09
| | | | | | | | | | | Share most of the implementation of config file lookup between mp_find_all_config_files() and mp_find_config_file(). Also move the check for config path overrides to mp_get_platform_path() directly. From the point of view of config file lookup, this is a bit stupid, but on the other hand increases consistency, as user path resolution exposes the mp_get_platform_path() functionality directly to the user.
* player: add --force-window=immediate modeGravatar wm42015-05-08
| | | | | | | This creates the window before the first file is loaded. This was requested a bunch of times, but on the other hand a change to make this behavior the default was reverted some time ago, because other users hated it.