summaryrefslogtreecommitdiffstats
path: root/options
<
Commit message (Collapse)AuthorAgeFilesLines
* player: add option to control duration of image displaywm42016-08-172-0/+5
| | | | | | | | | | | | | The --image-display-duration option controls how long an image is displayed. It's also possible to display the image forever (until manual user interaction stops playback). With this, the core drops the old method to "drain" video (i.e. waiting for the last frame duration on end of playback). Instead, we reuse MPContext.time_frame. The old mechanism was disabled for non-images anyway. Fixes #3425.
* m_option: add mechanism to allow inf/-inf float optionswm42016-08-171-1/+2
| | | | Used by the next commit.
* m_option: simplify float value range handlingwm42016-08-171-21/+3
| | | | | | Use clamp_double() to handle all value restriction/verification. The error messages become a bit less nice, but they were kind of incomplete before.
* player: add --no-autoload-files optionwm42016-08-102-0/+3
| | | | Allt his auto-loading is getting annoying especially for testing.
* player: add --audio-wait-open optionswm42016-08-092-0/+2
| | | | Complements the option added in the previous commit.
* player: add --audio-stream-silencewm42016-08-092-0/+2
| | | | | Completely insane that this has to be done. Crap for compensating HDMI crap.
* options: fix channels options copy/free operationswm42016-08-051-0/+6
| | | | | For some fucked up reason the arguments can be NULL. Makes no sense to me, but ok.
* audio: use --audio-channels=auto behavior, except on ALSAwm42016-08-044-33/+94
| | | | | | | | | | | | | | | | | | | | | | | This commit adds an --audio-channel=auto-safe mode, and makes it the default. This mode behaves like "auto" with most AOs, except with ao_alsa. The intention is to allow multichannel output by default on sane APIs. ALSA is not sane as in it's so low level that it will e.g. configure any layout over HDMI, even if the connected A/V receiver does not support it. The HDMI fuckup is of course not ALSA's fault, but other audio APIs normally isolate applications from dealing with this and require the user to globally configure the correct output layout. This will help with other AOs too. ao_lavc (encoding) is changed to the new semantics as well, because it used to force stereo (perhaps because encoding mode is supposed to produce safe files for crap devices?). Exclusive mode output on Windows might need to be adjusted accordingly, as it grants the same kind of low level access as ALSA (requires more research). In addition to the things mentioned above, the --audio-channels option is extended to accept a set of channel layouts. This is supposed to be the correct way to configure mpv ALSA multichannel output. You need to put a list of channel layouts that your A/V receiver supports.
* options: un-restrict --audio-delaywm42016-08-041-1/+1
| | | | Not a real reason to restrict its value range.
* options: add vp9 to --hwdec-codecswm42016-07-301-1/+1
|
* audio: refactor mixer code and delete mixer.cwm42016-07-172-1/+2
| | | | | | | | | | | | | | | | | mixer.c didn't really deserve to be separate anymore, as half of its contents were unnecessary glue code after recent changes. It also created a weird split between audio.c and af.c due to the fact that mixer.c could insert audio filters. With the code being in audio.c directly, together with other code that unserts filters during runtime, it will be possible to cleanup this code a bit and make it work like the video filter code. As part of this change, make the balance code work like the volume code, and add an option to back the current balance value. Also, since the balance semantics are unexpected for most users (panning between the audio channels, instead of just changing the relative volume), and there are some other volumes, formally deprecate both the old property and the new option.
* videotoolbox: add --hwdec=videotoolbox-copy for h/w accelerated decoding ↵Aman Gupta2016-07-151-0/+1
| | | | with video filters
* audio: drop --softvol=no and --softvol=autowm42016-07-092-9/+9
| | | | | | | | | | | | | | Drop the code for switching the volume options and properties between af_volume and AO volume controls. interface-changes.rst mentions the changes in detail. Do this because this was exceedingly complex and had other problems as well. It was also very hard to test. It's just not worth the trouble. Some leftovers like AOCONTROL_HAS_PER_APP_VOLUME will be removed at a later point. Fixes #3322.
* options: deprecate --heartbeat-cmdwm42016-06-291-1/+2
| | | | | It's useless. --heartbeat-interval is also considered deprecated, but this is not made explicit.
* options: add a deprecation warning printing mechanismwm42016-06-292-0/+11
| | | | | | | | | | We have a warning mechanism for removed and for replaced options, but none yet for options which have been simply deprecated. For the following commit. (Fun fact: just adding the m_option field increases binary size by 14KB.)
* Fix misspellingsstepshal2016-06-261-1/+1
|
* vo_opengl: refactor performance data propertiesNiklas Haas2016-06-081-0/+2
| | | | | | | | | | | | | | | Instead of having 9 different properties, requiring 18 different VOCTRLs to read them all, they are now exposed as a single property. This is not only cleaner (since they're all together) but also allows querying all 9 of them with only a single VOCTRL (by using mp.get_property_native). (The extra factor of 2 was due to an extra query being needed to get the type, which is now also unnecessary) This makes it much easier to access performance metrics from within a lua script, and also makes it easier to just show a readable, formatted version via show-text.
* vo_opengl: somewhat simplify suboption handling messwm42016-06-041-14/+37
| | | | | | | | | | | | | | | Enable m_sub_options_copy() to copy nested sub-options, and also enable it to create an option struct from defaults. We can get rid of most of the crap in assign_options() now. Calling handle_scaler_opt() to get a static allocation for scaler name is still needed. It's moved to reinit_scaler(), which seems to be a better place for it. Without it, dangling pointers could be created when options are changed. (And in fact, this fixes possible dangling pointers for window.name.) In theory we could create a dynamic copy, but that seemed even more messy. Chance of regressions.
* options: --geometry: center window position after applying sizemaniak13492016-05-221-0/+4
| | | | | | | Center window position after applying W and H parameters of the --geometry option. Passing valid X and Y values will still override the position. Fixes #2397.
* video: add --hwdec=auto-copy modewm42016-05-111-0/+1
| | | | | | | | This uses the normal autoprobing rules like "auto", but rejects anything that isn't flagged as copying data back to system memory. The chunk in command.c was dead code, so remove it instead of updating it.
* win32: make taskbar progress indication optionalmaniak13492016-05-082-0/+3
| | | | | | | | | | | Add --taskbar-progress command line option and property which controls taskbar progress indication rendering in Windows 7+. This option is on by default and can be toggled during playback. This option does not affect the creation process of ITaskbarList3. When the option is turned off the progress bar is just hidden with TBPF_NOPROGRESS. Closes #2535
* x11: rename inappropriate --x11-bypass-compositor=never optionwm42016-05-071-1/+1
| | | | This obviously made no sense.
* x11: add --x11-bypass-compositor=alwayswm42016-05-061-1/+1
| | | | Also add missing documentation for fs-only, and correct the default.
* client API: access choices as flags if appropriatewm42016-05-041-2/+15
| | | | | | | | | | | | Options/properties that are choices, and which include "yes" or "no" values (or both) can now be read and written as MPV_FORMAT_FLAG. For write access, rejecting flags in these cases was obnoxiously unintuitive and inconvenient. For read access, the value of this is less convincing, and actually it's a major API change. At this point I probably have to admit that the finer details of the client API are very unstable.
* x11: extend --x11-bypass-compositor with fs-only optionwm42016-05-021-2/+3
| | | | | | | | | | The "fs-only" choice sets the _NET_WM_BYPASS_COMPOSITOR to 1 if the window is fullscreened, and 0 otherwise. (0 is specified to be the implicit default - i.e. no change is requested in windowed mode.) In particular, change the default to "fs-only". Fixes #2582.
* options: add --fit-border video optionmaniak13492016-04-302-0/+3
| | | | | | | Flag that is set by default. Reseting it will result in mpv trying to fit client area with video instead of the whole window with border and decorations on the screen. Marked as (Windows only) for now until it's implemented on other platforms.
* sd_add: replace --sub-ass=no with --ass-style-override=stripwm42016-04-301-1/+1
| | | | | | --sub-ass=no / --ass=no still work, but --ass-style-override=strip is preferred now. With this change, --ass-style-override can control all the types of style overriding.
* vo_opengl: D3D11VA + ANGLE interopwm42016-04-271-0/+1
| | | | | | | | | | | | | | | | | | | This uses ID3D11VideoProcessor to convert the video to a RGBA surface, which is then bound to ANGLE. Currently ANGLE does not provide any way to bind nv12 surfaces directly, so this will have to do. ID3D11VideoContext1 would give us slightly more control about the colorspace conversion, though it's still not good, and not available in MinGW headers yet. The video processor is created lazily, because we need to have the coded frame size, of which AVFrame and mp_image have no concept of. Doing the creation lazily is less of a pain than somehow hacking the coded frame size into mp_image. I'm not really sure how ID3D11VideoProcessorInputView is supposed to work. We recreate it on every frame, which is simple and hopefully doesn't affect performance.
* command: fix cycling certain propertieswm42016-04-151-1/+1
| | | | | | | Commit a9bd4535 generally changed properties are set to string values. This actually broke the fallback for non-string properties, because the set string action was redirected directly to the property, instead of the generic handler and its fallback code.
* client API: improve mpv_set_property() handling of MPV_FORMAT_NODEwm42016-04-153-12/+24
| | | | | | | | | If a mpv_node wrapped a string, the behavior was different from calling mpv_set_property() with MPV_FORMAT_STRING directly. Change this. The original intention was to be strict about types if MPV_FORMAT_NODE is used. But I think the result was less than ideal, and the same change towards less strict behavior was made to mpv_set_option() ages ago.
* m_option: slightly improve --msg-level=help outputwm42016-04-131-1/+1
| | | | In particular get rid of the semi-deprecated ":" separator.
* m_option: add string conversion for --audio-channelswm42016-04-131-0/+8
| | | | Requested in #3040.
* x11: do not set _NET_WM_BYPASS_COMPOSITOR by defaultwm42016-04-031-1/+1
| | | | | | | | | | | It's pretty "unfriendly" and causes too many issues. (Probably. At least they're more obvious to a user than e.g. broken frame timing.) Potentially we could apply heuristics like applying this only on fullscreen, but let's not. It's up to the user to configure this to get best results. Fixes #2997.
* vd_lavc: add d3d11va hwdecKevin Mitchell2016-03-301-0/+1
| | | | | | This commit adds the d3d11va-copy hwdec mode using the ffmpeg d3d11va api. Functions in common with dxva2 are handled in a separate decode/d3d.c file. A future commit will rewrite decode/dxva2.c to share this code.
* Add a mediacodec decoder hwdec wrapperJan Ekström2016-03-251-0/+1
| | | | | Does the same thing as the rpi one - makes fallback possible by pretending that h264_mediacodec is a hwdec.
* ipc: rename --input-unix-socket to --input-ipc-serverJames Ross-Gowan2016-03-231-1/+2
| | | | | | | | | | | JSON IPC works on Windows now, and although the transports for each plaform have similar characteristics, they unfortunately have different names (Unix domain sockets on Linux/Unix vs. named pipes on Windows.) Hopefully this change better reflects the purpose of the option too, since with --input-ipc-server, mpv acts as an IPC server that can service many simultaneous clients (as opposed to --input-file, which can only do one-to-one IPC.)
* dxva2: add interop (non-copyback) hwdec_typeKevin Mitchell2016-02-171-0/+1
| | | | | This always falls back to software decoding right now. VO support will be added in future commits.
* player: add --external-file optionwm42016-02-082-0/+2
| | | | Mostly intended for use with --lavfi-complex.
* player: add complex filter graph supportwm42016-02-052-0/+3
| | | | | | | | | | | | | | | | See --lavfi-complex option. This is still quite rough. There's no support for dynamic configuration of any kind. There are probably corner cases where playback might freeze or burn 100% CPU (due to dataflow problems when interaction with libavfilter). Future possible plans might include: - freely switch tracks by providing some sort of default track graph label - automatically enabling audio visualization - automatically mix audio or stack video when multiple tracks are selected at once (similar to how multiple sub tracks can be selected)
* options: set fs=yes by default on RPI, and change RPI defaults handlingwm42016-02-051-4/+0
| | | | | The main reason for changing the fullscreen default is that not doing it would change the vo_rpi default behavior with the previous commit.
* audio: remove default preference for libdcadecwm42016-02-011-1/+1
| | | | Not needed anymore, because the decoder was merged with FFmpeg.
* audio: change downmix behavior, add --audio-normalize-downmixwm42016-01-202-0/+2
| | | | | | This is probably the 3rd time the user-visible behavior changes. This time, switch back because not normalizing seems to be the more expected behavior from users.
* audio: change --audio-channels default back to stereowm42016-01-201-1/+1
| | | | | | | | Too many problems. Well, actually it's just Linux audio systems which cause problems, and exclusive audio access on other platforms. In any case, it seems you have to do some manual configuration if you want multichannel audio output.
* options: add "service_name" as display tag.Oliver Freyermuth2016-01-141-1/+1
| | | | | | This is labeled as "name of the service in broadcasting (channel name)" and exported as a generic tag by avformat-demuxers, notably lavf when handling mpegts-streams from DVB.
* mpv_talloc.h: rename from talloc.hDmitrij D. Czarkoff2016-01-114-4/+4
| | | | This change helps avoiding conflict with talloc.h from libtalloc.
* player: make watch later/resume work when "playing" directorieswm42016-01-062-0/+17
| | | | | | | | | | | | | | If you do "mpv /bla/", and then branch out into sub-directories using playlist navigation, and then used quit and watch later, then playing the same directory did not resume from the previous point. This was because resuming is based on the path hash, so a path prefix can't be detected when resuming the parent directory. Solve this by writing each path prefix when playing directories is involved. (This includes all parent paths, so interestingly, "mpv /" would also resume in the above example.) Something like this was requested multiple times, and I want it too.
* options: raise maximum value for --audio-sampleratewm42016-01-051-1/+1
| | | | Helps with testing.
* options: exclude 360 from --video-rotate rangewm42016-01-021-1/+1
| | | | It's indeed completely useless. Pointed out in #2647.
* options: add --audio-file-pathswm42015-12-252-0/+2
| | | | | | | | Requested. It works like --sub-paths. This will also load audio files from a "audio" sub directory in the config file (because the same code as for subtitles is used, and it also had such a feature). Fixes #2632.
* stream: drop PVR supportwm42015-12-101-4/+0
| | | | | | | | | This is only for specific Hauppage cards. According to the comments in who is actively using this feature. Get it out of the way. Anyone who still wants to use this should complain. Keeping this code would not cause terribly much additional work, and it could be restored again. (But not if the request comes months later.)
* win32: add option to set VO MMCSS profilewm42015-12-062-0/+7
| | | | This was requested.
* path: cosmeticslzmths2015-12-021-3/+5
| | | | | | Avoiding conditional directives that split up parts of statements. Signed-off-by: wm4 <wm4@nowhere>
* x11: request bypassing compositorwm42015-11-182-0/+3
| | | | | | | Maybe this is a good idea. Also add an option to disable it again, for the sake of testing. Fixes #2502.
* videotoolbox: make decoder format customizablewm42015-11-172-0/+5
| | | | | | | | | | Because apparently there's no ideal universally working format. The weird OpenGL texture format for kCVPixelFormatType_32BGRA is from: http://stackoverflow.com/questions/22077544/draw-an-iosurface-to-an-opengl-context (Which apparently got it from the linked Apple example code.)
* player: handle rebasing start time differentlywm42015-11-162-0/+4
| | | | | | | | | | | | | | | | 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 VLAswm42015-11-062-18/+8
| | | | | | | | 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 requestedwm42015-11-051-1/+1
| | | | | 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 eagerlywm42015-11-044-19/+28
| | | | | | | | | | | 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 modewm42015-10-272-0/+5
| | | | Not very robust in the moment.
* options: remove --use-text-osdwm42015-10-242-3/+0
|
* options: add support for client certificate authenticationJoschka Tillmanns2015-10-202-0/+4
| | | | | | | | 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 defaultChrisK22015-10-111-1/+1
| | | | | | | | | | | 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)wm42015-10-062-4/+0
| | | | | | | | | 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.