summaryrefslogtreecommitdiffstats
path: root/options
Commit message (Collapse)AuthorAgeFilesLines
* player: extend --hls-bitrate optionwm42015-07-131-3/+3
| | | | Fixes #2116.
* player: disable seeking even if the cache is enabledwm42015-07-082-0/+3
| | | | | | | | | | | | | | 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 contextwm42015-07-072-0/+4
| | | | | | | | 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 mappingswm42015-07-071-9/+14
| | | | | | | | | 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 stringswm42015-07-011-2/+7
| | | | | | | | | | 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 messagewm42015-06-271-2/+2
| | | | | "mpv --ao=wasapi:help" on Linux gave "Option ao doesn't exist.". Completely misleading and stupid.
* audio: replace format name tablewm42015-06-261-3/+7
| | | | Having a big switch() is simpler.
* Various spelling fixesMarcin Kurczewski2015-06-181-1/+1
| | | | Signed-off-by: wm4 <wm4@nowhere>
* options: make keyvalue list parsing less strictwm42015-06-101-7/+8
| | | | | 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 passthroughwm42015-06-052-0/+3
| | | | | | | | | | | | | 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-brokenwm42015-05-272-4/+0
| | | | It has been deprecated for ages.
* player: use an array for stream ID options and suchwm42015-05-222-28/+25
| | | | This makes the code slightly more generic.
* command: remove old property deprecation warning mechanismwm42015-05-221-48/+1
| | | | | | | We don't need two. This mechanism was basically for MPlayer, and it has expired its usefulness by now.
* options: rename --media-title optionwm42015-05-221-1/+2
| | | | Conflicts with the property.
* audio: make softvol scale cubicwm42015-05-221-3/+3
| | | | | | | | 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/propertywm42015-05-221-2/+2
| | | | | | | | | 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 foreverwm42015-05-221-1/+1
| | | | | | | | | | | | 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 codecswm42015-05-141-1/+1
| | | | | This means if --hwdec is used, and hardware decoding is supported for HEVC, it's actually used.
* path: improve verbose loggingwm42015-05-091-8/+8
|
* path: use mp_path_join in one more placewm42015-05-091-1/+1
|
* player: make resuming playlists less noisy in verbose modewm42015-05-092-8/+21
| | | | | | | | | | | | | | | | | | | 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 stringswm42015-05-092-4/+10
| | | | | 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 functionswm42015-05-091-83/+60
| | | | | | | | | | | 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 modewm42015-05-081-1/+2
| | | | | | | 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.
* m_config: make m_config_set_profile() use a namewm42015-05-072-11/+16
| | | | Is simpler and avoids exposing profile structs to a degree.
* path: start special espansion with ~~name instead of ~namewm42015-05-031-1/+1
| | | | | | | Since commit 7381db60, strings like "~desktop/" were expanded as platform-specific paths by mpv. Apparently this similarity to standard Unix shell expansion caused confusion, so change it to "~~desktop/". The shell doesn't expand this, so it should be better.
* options: fix typo in variable namewm42015-05-032-2/+2
|
* options: remove --leak-reportwm42015-05-021-4/+0
| | | | Use the environment variable instead.
* path: fix user path resolutionwm42015-05-011-2/+2
| | | | Forgot to add the remainder to the path.
* screenshots: prefix default template with "mpv-"wm42015-05-011-1/+1
| | | | | | So that the user realizes where they come from, or can find them at all. This was a common complaint, and this is the most lazy solution. Better suggestions for a default template are welcome.
* path: expose platform-specific path resolverswm42015-05-011-0/+5
|
* path: refactorwm42015-05-011-43/+40
| | | | | | | | | | | | | | Somewhat less ifdeffery, higher flexibility. Now there are 3 separate config file resolvers for 3 platforms (unix, win, osx), and they can still interact with each other somewhat. For example, OSX for now uses most of Unix, but adds the OSX bundle path. This can be extended to resolve very specific platform paths, such as location of the desktop. Most of the Unix specific code moves to path-unix.c. The behavior should be the same - if not, it is likely a bug.
* screenshots: add --screenshot-directory optionwm42015-05-012-0/+2
| | | | | The plan is to use this to change the screenshot default location in pseudo-gui mode.
* ytdl: force "best" format by defaultwm42015-04-261-1/+1
| | | | | | | | If the --ytdl-format option is not used, force the "best" format. Do this because youtube-dl is going to change its default format to one that will trigger the (partially broken) DASH support in our own code. Fixes #1867.
* player: add --window-scale optionwm42015-04-242-0/+3
| | | | Requested. Works similar to the property with the same name.
* options: remove unneeded hack from command line parserwm42015-04-231-5/+0
| | | | | | | | | | | | | | | This was traditionally needed to silence terminal output from errors during command line parsing preparsing. Preparsing is done so that options controlling the terminal and config files are parsed and applied first, with a second command line parsing pass applying all other options, _and_ printing error messages for the preparsed ones. But the hack silencing log output during the preparse pass is actually not needed anymore, since the terminal is enabled only after preparsing is finished. update_logging() in main.c does this. So as long as update_logging() is called before m_config_preparse_command_line(), this will work.
* demux_mkv: move global options to the demuxerwm42015-04-232-9/+3
| | | | | | | The options don't change, but they're now declared and used privately by demux_mkv.c. This also brings with it a minor refactor of the subpreroll seek handling - merge the code from playloop.c into demux_mkv.c. The change in demux.c is pretty much equivalent as well.
* options: don't restrict --hr-seek-demuxer-offsetwm42015-04-201-1/+1
| | | | This was limited to 99 for unknown reasons.
* options: change [...] to balanced quoteswm42015-04-191-1/+12
| | | | | | | | Useful for dealing with libavfilter's terrible graph syntax. Not strictly backwards compatible (for example "[a[b]" fails now - the "[" within the quote is interpreted now). But hopefully it's obscure enough not to warrant any kind of compatibility hacks.
* options: clarify quoting for option values starting with %wm42015-04-171-1/+4
|
* options: --hr-seek=always is the same as --hr-seek=yeswm42015-04-151-1/+1
| | | | | | It seems this choice was never documented. "always" is actually older than "yes", so just declare it a compatibility value for "yes". (Also move it before "always" in the C code to make this clear.)
* options: don't let --vf-clr etc. take an argumentwm42015-04-131-0/+5
| | | | | | | It was ignored before. Passing an argument makes no sense, and might be mistaken for some form of --vf-del, so complain about it. This also affects --af-clr and the vf/af commands.
* Update license headersMarcin Kurczewski2015-04-1313-65/+52
| | | | Signed-off-by: wm4 <wm4@nowhere>
* player: use config parser for setting up pseudo-gui profilewm42015-04-102-2/+5
|
* options: fix run length escape case in config file parserwm42015-04-041-2/+2
| | | | Oops.
* options: rewrite config file parserwm42015-04-042-210/+150
| | | | | | | | | | | | | | | | The format doesn't change. Some details are different, though. For example, it will now accept option values with spaces even if they're not quoted. (I see no reason why the user should be forced to add quotes.) The code is now smaller and should be much easier to extend. It also can load config from in-memory buffers, which might be helpful in the future. read_file() should eventually be replaced with stream_read_complete(). But since the latter function may access options under various circumstances, and also needs access to the mpv_global struct, there is a separate implementation for now.
* video: cleanup stereo mode parsingwm42015-04-023-58/+1
| | | | | | | | | Use OPT_CHOICE_C() instead of the custom parser. The functionality is pretty much equivalent. (On a side note, it seems --video-stereo-mode can't be removed, because it controls whether to "reduce" stereo video to mono, which is also the default. In fact I'm not sure how this should be handled at all.)
* options: fix --geometry to string conversionwm42015-04-011-6/+2
| | | | Fixes #1744.
* options: make --video-rotate use range 0-360wm42015-03-311-1/+1
| | | | | Include 360 in the range and don't stop at 359. This makes cycling through the range in 90° steps less awkward.
* video: move colorspace overrides to vf_format, simplifywm42015-03-314-27/+18
| | | | | | | | | | | | | | | | | | | Remove the colorspace-related top-level options, add them to vf_format. They are rather obscure and not needed often, so it's better to get them out of the way. In particular, this gets rid of the semi-complicated logic in command.c (most of which was needed for OSD display and the direct feedback from the VO). It removes the duplicated color-related name mappings. This removes the ability to write the colormatrix and related properties. Since filters can be changed at runtime, there's no loss of functionality, except that you can't cycle automatically through the color constants anymore (but who needs to do this). This also changes the type of the mp_csp_names and related variables, so they can directly be used with OPT_CHOICE. This probably ended up a bit awkward, for the sake of not adding a new option type which would have used the previous format.
* csputils: unify names for colorspace/etc. nameswm42015-03-311-9/+9
|
* RPI supportwm42015-03-291-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This requires FFmpeg git master for accelerated hardware decoding. Keep in mind that FFmpeg must be compiled with --enable-mmal. Libav will also work. Most things work. Screenshots don't work with accelerated/opaque decoding (except using full window screenshot mode). Subtitles are very slow - even simple but huge overlays can cause frame drops. This always uses fullscreen mode. It uses dispmanx and mmal directly, and there are no window managers or anything on this level. vo_opengl also kind of works, but is pretty useless and slow. It can't use opaque hardware decoding (copy back can be used by forcing the option --vd=lavc:h264_mmal). Keep in mind that the dispmanx backend is preferred over the X11 ones in case you're trying on X11; but X11 is even more useless on RPI. This doesn't correctly reject extended h264 profiles and thus doesn't fallback to software decoding. The hw supports only up to the high profile, and will e.g. return garbage for Hi10P video. This sets a precedent of enabling hw decoding by default, but only if RPI support is compiled (which most hopefully it will be disabled on desktop Linux platforms). While it's more or less required to use hw decoding on the weak RPI, it causes more problems than it solves on real platforms (Linux has the Intel GPU problem, OSX still has some cases with broken decoding.) So I can live with this compromise of having different defaults depending on the platform. Raspberry Pi 2 is required. This wasn't tested on the original RPI, though at least decoding itself seems to work (but full playback was not tested).
* parse_commandline: fail gracefully on bad argswd02015-03-292-3/+6
| | | | | | Args of zero length (i.e. --=) now display a proper error message. Signed-off-by: wm4 <wm4@nowhere>
* m_config: remove assertion for option names with length 0wm42015-03-291-2/+4
| | | | | | | | | There's actually no reason why we should assert. It's unexpected and "should" not happen, but actually there are several ways to make it happen. Still, add a check m_config_get_co(), to avoid matching pseudo-entries with no name.
* options: add conversion to string for geometry option typeswm42015-03-241-0/+31
| | | | | | | | Pretty messy, which is why it wasn't done at first. (Also, I'd really like to have simpler syntax and semantics for this damn option, but who knows when this will happen.) Fixes #1705.
* input: remove Linux joystick supportwm42015-03-241-1/+0
| | | | | | | | | | | Why did this exist in the first place? Other than being completely useless, this even caused some regressions in the past. For example, there was the case of a laptop exposing its accelerometer as joystick device, which led to extremely fun things due to the default mappings of axis movement being mapped to seeking. I suppose those who really want to use their joystick to control a media player (???) can configure it as mouse device or so.
* input: remove classic LIRC supportwm42015-03-241-2/+0
| | | | It's much easier to configure remotes as X11 input devices.
* audio: prefer libdcadec by default if presentwm42015-03-231-1/+1
| | | | | If you enable this library in FFmpeg, you probably really want it to be used.
* m_option: remove dead initializationwm42015-03-231-3/+3
|
* m_property: memcpy(ptr, NULL, 0) is undefinedwm42015-03-231-1/+2
|
* options: introduce --cache=yes choicewm42015-03-121-1/+2
| | | | | | I think this is what I alwass missed ever since I found the MPlayer cache options: a way to enable the cache on local files with the default settings, whatever they are.
* cache: bump default size to 150MBwm42015-03-121-1/+1
| | | | (Well, almost 150MB.)
* options: add M_OPT_FILE to new options that are missing itPhilip Sequeira2015-03-071-1/+1
| | | | Fixes shell completion.
* player: fix operation if command line is emptywm42015-03-061-2/+2
| | | | | | | main() being called with argc==0 is probably possible. Fix by skipping the program name early. (I already changed and reverted this once, but this time we make sure that it's less likely to confuse the skipped argv with main()'s argv by naming it "options".)
* player: minor simplificationwm42015-03-052-13/+8
| | | | | argv is always terminated with a NULL, so we don't need to drag argc along. Simplifies the following commit a little bit.
* options: add flag option typewm42015-03-042-0/+121
|
* win32: fix some more -Wparentheses warningswm42015-03-041-2/+2
| | | | | | | Stupid compiler. For decode_surrogate_pair(), I changed the order of evaluation; it shouldn't matter, but this order is more readable in my opinion.
* options: handle choice -> flag fallback automaticallywm42015-02-273-19/+30
| | | | | | |