aboutsummaryrefslogtreecommitdiffhomepage
path: root/options
Commit message (Collapse)AuthorAge
* options: change --h=... behaviorGravatar wm42016-12-16
| | | | | Does not match a shell pattern anymore. Instead, a simple sub-string search is done.
* cocoa: fullscreen refactoringGravatar Akemi2016-12-15
| | | | | | | | | | this replaces the old fullscreen with the native macOS fullscreen. additional the --fs-black-out-screens was removed since the new API doesn't support it in a way the old one did. it can possibly be re-added if done manually. Fixes #2857 #3272 #1352 #2062 #3864
* options: remove weird RPI-only fullscreen defaultGravatar wm42016-12-08
| | | | As announced by interface-changes.rst.
* options: some simplificationsGravatar wm42016-11-29
| | | | | | | | Remove more stuff that was needed only for legacy suboptions. One user-visible change is that parent-options like --tv are now not visible anymore. They lead to a special error message when used before, but now they're simply not part of the option list anymore.
* options: remove deprecated sub-option handling for --vo and --aoGravatar wm42016-11-25
| | | | | | | | Long planned. Leads to some sanity. There still are some rather gross things. Especially g_groups is ugly, and a hack that can hopefully be removed. (There is a plan for it, but whether it's implemented depends on how much energy is left.)
* options: remove legacy global sub-option syntaxGravatar wm42016-11-22
| | | | | | A bit of sanity, although a very small one. --vo sub-options are not affected by this yet.
* options: clarify --softvol deprecation message and manpage entryGravatar wm42016-11-19
| | | | | People seem to think that the softvol behavior is deprecated, but what is deprecated is actually disabling softvol.
* cocoa: option to scale window by HiDPI scale factorGravatar Akemi2016-11-11
| | | | | | | | | | Deactivating this options makes it possible to circumvent the default OS X behavior of using points. Windows on HiDPI resolutions won't open in double the size anymore and videos are display in their native resolution when windowed. Fixes #3716
* options: fnmatch: check existence instead of posixGravatar Avi Halachmi (:avih)2016-11-08
|
* options: make --load-scripts runtime changeableGravatar wm42016-10-22
| | | | | | | | | | | | | | | | Just that actually changing it at runtime won't do anything. This deals with a nasty initialization order issue with encoding. Encoding is initialized after options have initialized, but before --load-scripts is checked and executed. Encoding initialization accesses FFmpeg API, thus it has to run after FFmpeg is initialized (which also implies it's initialized after options/logging init). On the other hand, it sets the encoding builtin profile, which possibly sets --load-scripts to "no". That failed at this point because --load-scripts was marked as fixed. Just marking it as not fixed gets rid of the headache, even if it's not perfectly orthodox.
* options: handle legacy no-* sub-optionsGravatar wm42016-10-21
| | | | | | | | These accidentally did nothing. They must be handled explicitly. Example: --vo=vdpau:no-composite-detect (Can't wait to get rid of this crap.)
* video: add --hwdec=vdpau-copy modeGravatar wm42016-10-20
| | | | | | | At this point, all other hwaccels provide -copy modes, and vdpau is the exception with not having one. Although there is vf_vdpaurb, it's less convenient in certain situations, and exposes some issues with the filter chain code as well.
* vd_lavc: Add hwdec wrapper for crystalhdGravatar Philip Langdale2016-10-15
| | | | This hardware decodes to system memory so it only requires a wrapper.
* vo_drm: change CLI options + refactorsGravatar rr-2016-10-07
| | | | | | | | | | - Change connector selection to accept human readable names (such as eDP-1, HDMI-A-2) rather than arbitrary numbers. - Change GPU selection to accept GPU number rather than device paths. - Merge connector and GPU selection into one --drm-connector. - Add support for --drm-connector=help. - Add support for --drm-* in EGL backend. - Refactor KMS; reduce state sharing across drm_common.
* options: handle --audio-device changes like the other optionsGravatar wm42016-10-05
| | | | | | Don't require special property code for handling updates, and simply use the UPDATE_AUDIO flag instead. Also make runtime changes to --audio-client-name take effect.
* audio: make setting audio-exclusive update the audio chainGravatar Kevin Mitchell2016-10-04
| | | | | This is required since exclusive mode requires entirely different initializaiton.
* options: rename subtitle optionsGravatar Dan Oscarsson2016-10-03
| | | | | | | | | | | Rename the text subtitle options from --sub-text- to --sub- and --ass- options to --sub-ass-. The intention is to common sub options to prefixed --sub- and special ASS option be seen as a special version of sub options. The OSD options that work like the --sub- options are still named --osd-. Man page updated including a short note about renamed --sub-text-* and --ass-* options to --sub-* and --sub-ass-*.
* player: make --stop-screensaver runtime-changeableGravatar wm42016-10-02
| | | | | | | | | | Move the screensaver enable/disable determination to a central place, and call it if the stop-screensaver property is changed. Also, do not stop the screensaver when in idle mode (i.e. no file is loaded). Fixes #3615.
* rpi: add --hwdec=rpi-copyGravatar wm42016-09-30
| | | | | | This means it can be used with normal video filters. Might help out with #3604.
* path: default ~~ paths to home directoryGravatar wm42016-09-29
| | | | | | | | | | | | | The code for expanding the ~~ prefix used mp_find_config_file(), which strictly looks for _existing_ files in any config path (e.g. not just the user-local one, but also system-wide config). If no such file exists, it simply returns NULL, which makes the code below just return the literal, unexpanded path. Change this so that it'll resolve the path to the user-local config directory instead. Requested in #3591.
* win32: make --priority runtime-settableGravatar James Ross-Gowan2016-09-28
| | | | | | | | | | I'm not sure if this option affects anything or if it's a placebo, especially since the VO thread is now registered with MMCSS. Still, I think --priority=high may have helped back when I used mplayer2 on a netbook. It's also possible that encoding-mode users would want to set --priority=idle. Anyway, it was one of the last M_OPT_FIXED options, so fix that.
* options: do not mark --profile/--include as M_OPT_FIXEDGravatar wm42016-09-24
| | | | | | | | | The intention of M_OPT_FIXED is to make options not runtime-changeable, so trying to set them at runtime will always error. This is not wanted for --profile and --include, for which there is no reason to block them at runtime. Fixes #3581.
* player: do not let pseudo-gui override user config settingsGravatar wm42016-09-23
| | | | | | | | Seems like this confused users quite often. Instead of --profile=pseudo-gui, --player-operation-mode=pseudo-gui now has to be used to invoke pseudo GUI mode. The old way still works, and still behaves in the old way.
* m_config, command: remove some minor code duplicationGravatar wm42016-09-23
| | | | | | I would have been fine with this, but now I want to add another flag, and the duplication would become more messy than having a strange function for deduplication.
* player: make audio-channels etc. runtime settableGravatar wm42016-09-22
| | | | | | | | | If one of the audio output format options is set, brually reinit the audio chain. Since the audio-channels property is still mapped to the deprecated read-only property, "options/audio-channels" currently has to be used, e.g. "cycle-values options/audio-channels 2 7.1".
* player: add --watch-later-directory optionGravatar David Logie2016-09-22
| | | | | | | This option allows the user to set the directory where "watch later" files are stored. Signed-off-by: wm4 <wm4@nowhere>
* client API: more or less deprecate mpv_set_option()Gravatar wm42016-09-21
| | | | | | | | | | | | | | | | | | | | | | With the merging of options and properties, the mpv_set_option() function is close to being useless, and mpv_set_property() can be used for everything instead. There are certain conflicts remaining, which are explained in depth in the docs. For now, none of this should affect existing code using the client API. Make mpv_set_property() redirect to mpv_set_option() before initialization. Remove some options marked as M_OPT_FIXED. The "pause" and "speed" options cannot be written anymore without the playloop being notified by it, so the M_OPT_FIXED does nothing. For "vo-mmcss-profile", the problem was lack of synchronization, which has been added. I'm not sure what the problem was with "frames" - I think it was only marked as M_OPT_FIXED because changing it during playback will have no effect. Except for pause/speed, these changes are needed to make them writable as properties after mpv_initialize(). Also replace all remaining uses of CONF_GLOBAL with M_OPT_FIXED.
* options: make input options generally runtime-settableGravatar wm42016-09-21
|
* command: change update handling of some video-related propertiesGravatar wm42016-09-20
| | | | | | | | Use the new mechanism, instead of wrapped properties. As usual, extend the update handling to some options that were forgotten/neglected before. Rename video_reset_aspect() to video_reset_params() to make it more "general" (and we can amazingly include write access to video-aspect as well in this).
* options: fix window-scale propertyGravatar wm42016-09-20
| | | | | | | A recent change merged the window-scaler option and property, but forgot that the option is float for some reason, while the property uses double. This led to undefined behavior. Fix it by changing the option to double too.
* m_option: resort M_OPT_ flag valuesGravatar wm42016-09-20
| | | | Remove the gaps that have been added over time.
* player: make --osc/--ytdl settable during playbackGravatar wm42016-09-20
| | | | | | | | | Setting the osc or ytdl properties will now load/unload the associated scripts. (For ytdl this does not mean the currently played URL will be reloaded.) Also add a changelog entry for this, which also covers the preceding work for --terminal.
* options, command: simplify some option updatesGravatar wm42016-09-19
| | | | | | | Remove wrapper properties for OSD and video position updates, use the new mechanism for them. We can mark the options directly. Update behavior will work for more options (since I've casually marked more affected options than the old less direct mechanism covered).
* player: make --terminal freetly settable at runtimeGravatar wm42016-09-19
| | | | | | | | | | | | | | | | | | | So client API users don't have to care about whether to set this before or after mpv_initialize(). We still don't enable terminal at any point before mpv_initialize(), because reasons. This also subtly changes some behavior how terminal options are applied while parsing. This essentially reverts the behavior as it was reported in issue #2588. Originally, I was hoping to get rid of the pre-parse option pass, but it seems this is absolutely not possible due to the way config and command line parsing are entangled. Command line options take priority over configfile options, so they have to be applied later - but we also want to apply logging and terminal options as specified on the command-line, but _before_ parsing the config files. It has to be this way to see config file error messages on the terminal, or to hide them if --no-terminal is used. libmpv considerations also factor into this.
* options: slightly better option update mechanismGravatar wm42016-09-19
| | | | | | | | | | | | | | Extend the flag-based notification mechanism that was used via M_OPT_TERM. Make the vo_opengl update mechanism use this (which, btw., also fixes compilation with OpenGL renderers forcibly disabled). While this adds a 3rd mechanism and just seems to further the chaos, I'd rather have a very simple mechanism now, than actually furthering the mess by mixing old and new update mechanisms. In particular, we'll be able to remove quite some property implementations, and replace them with much simpler update handling. The new update mechanism can also more easily refactored once we have a final mechanism that handles everything in an uniform way.
* options: remove some M_OPT_FIXED flagsGravatar wm42016-09-19
| | | | | | | | | | | --quiet can be always set - the playloop checks it whenever rendering the status line. Nothing special about it. The ytdl- options are simply refetched by the Lua script every time a stream is opened, so it makes sense to be able to change them at runtime as well. The VO options don't have a real reason to be marked with it anymore.
* command: fix "cycle"/"add" not working on most propertiesGravatar wm42016-09-18
| | | | | | | | Oops, this is kind of important, isn't it? Stopped working for properties which don't implement M_PROPERTY_GET_CONSTRICTED_TYPE directly, as do_action() goes to the property directly, while m_property_do() does a fallback.
* player: more option/property consistency fixesGravatar wm42016-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | Some properties had a different type from their equivalent options (such as mute, volume, deinterlace, edition). This wasn't really sane, as raw option values should be always within their bounds. On the other hand, these properties use a different type to reflect runtime limits (such as range of available editions), or simply to improve the "UI" (you don't want to cycle throuhg the completely useless "auto" value when cycling the "mute" property). Handle this by making them always return the option type, but also allowing them to provide a "constricted" type, which is used for UI purposes. All M_PROPERTY_GET_CONSTRICTED_TYPE changes are related to this. One consequence is that you can set the volume property to arbitrary high values just like with the --volume option, but using the "add" command it still restricts it to the --volume-max range. Also deprecate --chapter, as it is grossly incompatible to the chapter property. We pondered renaming it to --chapters, or introducing a more powerful --range option, but concluded that --start --end is actually enough. These changes appear to take care of the last gross property/option incompatibilities, although there might still be a few lurking.
* options: rename/deprecate --playlist-posGravatar wm42016-09-18
| | | | | | Conflicts with the "playlist-pos" property. They're really a bit too different, and since the --playlist-pos option is relatively new and obscure, just rename it to get this out of the way.
* options: actually deprecate --mute=autoGravatar wm42016-09-18
| | | | Also, make it internally actually an alias to "no".
* options: take care of propertly updating options on runtime changesGravatar wm42016-09-17
| | | | | | | | | | | | | | | | | | | | | | All option write accesses are now put through the property interface, which means runtime option value verification and runtime updates are applied. This is done even for command line arguments and config files. This has many subtle and not-so-subtle consequences. The potential for unintended and intended subtle or not-subtle behavior changes is very large. Architecturally, this is us literally jumping through hoops. It really should work the other way around, with options being able to have callbacks for value verification and applying runtime updates. But this would require rewriting the entirety of command.c. This change is more practical, and if anything will at least allow incremental changes. Some options are too incompatible for this to work - these are excluded with an explicit blacklist. This change fixes many issues caused by the mismatch between properties and options. For example, this fixes #3281.
* options: fix pseudo-options like -vGravatar wm42016-09-17
| | | | | | | Some pseudo-options do not have associated storage, which made m_config_set_option_raw() return failure. Regression due to commit d1d5e9dd.
* options: simplify M_OPT_EXITGravatar wm42016-09-17
| | | | | | | | | | | | | There were multiple values under M_OPT_EXIT (M_OPT_EXIT-n for n>=0). Somehow M_OPT_EXIT-n either meant error code n (with n==0 no error?), or the number of option valus consumed (0 or 1). The latter is MPlayer legacy, which left it to the option type parsers to determine whether an option took a value or not. All of this was changed in mpv, by requiring the user to use explicit syntax ("--opt=val" instead of "-opt val"). In any case, the n value wasn't even used (anymore), so rip this all out. Now M_OPT_EXIT-1 doesn't mean anything, and could be used by a new error code.
* m_config: make option setting always call m_config_set_option_raw()Gravatar wm42016-09-17
| | | | | | | | | | This makes m_config_set_option_raw() the function that is always called on the lowest level (as leaf function for all other functions). To do this, m_config_parse_option() has to do something special to deal with "impure" options like --vf-add, which work on the previous option value, instead of fully replacing it. m_config_set_option_raw() itself always completely replaced the previous value.
* options: kill M_OPT_GLOBAL flagGravatar wm42016-09-17
| | | | | | This meant "cannot be used as per-file option" (wrt. playlist items). Doesn't make too much sense anymore, especially given how obscure per-file options are.
* options: add --hwdec=yes as alias for --hwdec=autoGravatar wm42016-09-15
| | | | | | This also lets you just do "mpv --hwdec file.mkv", with the minor caveat that the legacy syntax "--hwdec val" or "-hwdec val" (without "=") does not work as expected anymore.
* player: move builtin profiles to a separate fileGravatar wm42016-09-15
| | | | | | | | | Move the embedded string with the builtin profiles to a separate builtin.conf file. This makes it easier to read and edit, and you can also check it for errors with --include=etc/builtin.conf. (Normally errors are hidden intentionally, because there's no way to output error messages this early, and because some options might not be present on all platforms or with all configurations.)
* hwdec_cuda: Add trivial cuda-copy wrapperGravatar Philip Langdale2016-09-11
| | | | | | | | | The cuvid decoder already knows how to copy back to system memory if NV12 frames are requested, and this will happen if the decoder is used without the hwdec. For convenience, let's add a wrapper hwdec so people don't have to explicitly pick the cuvid decoder if they want this behaviour.
* options: fix another minor regressionGravatar wm42016-09-11
| | | | vf_scale's "h" sub-option was interpreted as "--h".
* options: fix --list-options after previous commitGravatar wm42016-09-10
| | | | Fixes #3509.