summaryrefslogtreecommitdiffstats
path: root/DOCS/interface-changes.rst
Commit message (Collapse)AuthorAgeFilesLines
* input: ignore --input-cursor for events injected by input commandswm42016-02-041-0/+2
| | | | | | Apparently useful for window embedding. Fixes #2750.
* vo_opengl: replace tscale-interpolates-only with interpolation-thresholdwm42016-01-271-1/+3
| | | | | The previous approach was too naive, and can e.g. ruin playback if scheduling switches e.g. between 1 and 2 vsync per frame.
* command: always allow setting volume/mute propertieswm42016-01-261-0/+3
| | | | | | | | | | | | | | | | | | | | | | | This seems generally easier when using libmpv (and was already requested and implemented before: see commit 327a779a; it was reverted some time later). With the weird internal logic we have to deal with, in particular the --softvol=no case (using system volume), and using the audio API's mixer (--softvol=auto on some systems), we still can't avoid all glitches and corner cases that complicate this issue so much. The API user is either recommended to use --softvol=yes or auto, or to watch the new mixer-active property, and assume the volume/mute properties have significant values if the mixer is active. Remaining glitches: - changing the volume/mute properties has no effect if no internal mixer is used (--softvol=no) and the mixer is not active; the actual mixer controls do not change, only the property values - --volume/--mute do not have an effect on the volume/mute properties before mixer initialization (the options strictly are only applied during mixer init) - volume-max is 100 while the mixer is not active
* vo_opengl: add tscale-interpolates-only sub-optionwm42016-01-251-0/+1
|
* vo_opengl: default scaler-resizes-only sub-option to yeswm42016-01-251-0/+1
| | | | | | | | Often requested. The main argument, that prominent scalers like sharpen change the image even if no scaling happens, disappeared anyway. ("sharpen", unsharp masking, is neither prominent nor a scaler anymore. This is an artifact from MPlayer, which fuses unsharp masking with bilinear scaling in order to make it single-pass, or so.)
* vo_opengl: rename custom shader entrypoint from sample to sample_pixelwm42016-01-251-0/+2
| | | | | | | "sample" is a reserved identifier at least in GLES ES. Suggestions for a better name than "sample_pixel" are still welcome. Fixes #2733.
* DOCS/interface-changes: fix typowm42016-01-231-1/+1
|
* audio: change downmix behavior, add --audio-normalize-downmixwm42016-01-201-0/+3
| | | | | | 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-0/+3
| | | | | | | | 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.
* vf_yadif: change defaultswm42015-12-211-0/+2
| | | | | | | | | | | | | | | | This is for the sake of command.c and the "deinterlace" option/property. Instead of forcing certain "better" defaults when inserting yadif, change the actual "yadif" defaults. I pondered not changing vf_yadif, and instead adding a trivial "yadif- auto" wrapper filter, which would merely have different defaults. But thinking about it, it doesn't make any sense for "deinterlace" to have different defaults from vf_yadif, with vf_yadif having the "worse" defaults. If someone wants the old behavior, the old behavior can be forced in a backward and forward compatible way by setting the suboptions. Fixes #2539 (kind of).
* DOCS/interface-changes: add some recent changeswm42015-11-291-1/+3
|
* player: handle rebasing start time differentlywm42015-11-161-0/+6
| | | | | | | | | | | | | | | | 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.)
* command: add vsync-ratio propertywm42015-11-131-0/+2
| | | | | | | | This is very "illustrative", unlike the video-speed-correction property, and thus useful. It can also be used to observe scheduling errors, which are not detected by the core. (These happen due to rounding errors; possibly not evne our fault, but coming from files with rounded timestamps and so on.)
* vo_opengl_cb: make operation more similar to normal VOswm42015-11-091-0/+2
| | | | | | | | | | | | | | | | | | | | | vo_opengl_cb is a special case, because we somehow have to render video asynchronously, all while "trusting" the API user to do it correctly. This didn't quite work, and a while ago a compromise using a timeout to prevent theoretically possible deadlocks was added. Make it even more synchronous. Basically, go all the way, and synchronize rendering between VO and user renderer thread to the full extent possible. This means the silly frame queue is dropped, and we event attempt to synchronize the GL SwapBuffer call (via mpv_opengl_cb_report_flip()). The changes introduced with commit dc33eb56 are effectively dropped. I don't even remember if they mattered. In the future, we might make all VOs fetch asynchronously from a frame queue, which would mostly remove the differences between vo_opengl and vo_opengl_cb, but this will take a while (if it will even be done).
* options: remove --use-text-osdwm42015-10-241-0/+2
|
* command: make time properties unavailable if timestamp is unknownwm42015-10-161-0/+4
| | | | | | Let's hope this doesn't confuse client API users too much. It's still the best solution to get rid of corner cases where it actually return the wrong timestamp on start, and then suddenly jump.
* audio: add option for falling back to ao_nullwm42015-10-051-0/+1
| | | | | | | | | 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 optionwm42015-09-291-0/+2
| | | | | | | | | | | 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.
* vo_opengl: remove sharpen scalers, add sharpen sub-optionwm42015-09-231-0/+2
| | | | | | | | | | | | This turns the old scalers (inherited from MPlayer) into a pre- processing step (after color conversion and before scaling). The code for the "sharpen5" scaler is reused for this. The main reason MPlayer implemented this as scalers was perhaps because FBOs were too expensive, and making it a scaler allowed to implement this in 1 pass. But unsharp masking is not really a scaler, and I would guess the result is more like combining bilinear scaling and unsharp masking.
* af_lavfi: implement af-metadata propertywm42015-09-111-0/+2
| | | | | | | Works like vf-metadata. Unfortunately requires some code duplication (even though it's not much). Fixes #2311.
* DOCS: cleanup API changes version markerswm42015-09-101-2/+2
| | | | | | Make it so that they don't need to be edited on release (no change in tense). Also, move the "stray" changes after client API version 1.19 to 1.19 itself.
* video: make container vs. bitstream aspect ratio configurablewm42015-08-301-0/+1
| | | | | | Utterly idiotic bullshit. Fixes #2259.
* player: add --playlist-pos optionwm42015-08-221-0/+1
| | | | Oddly often requested.
* player: add display sync modewm42015-08-101-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* player: separate controls for user and video controlled speedwm42015-08-101-0/+1
| | | | | | | | | | For video sync, we want separate playback speed controls for user- requested speed and the "correction" speed for video timing. Further, we use this separation to make sure only a resampler is inserted if playback speed is only changed for video sync correction. As of this commit, this is basically inactive code. It's just preparation for the video sync code (the following commit).
* demux: add options to control maximum queue sizewm42015-08-051-0/+2
| | | | | | | | | | | | | | 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 sizewm42015-08-051-0/+1
| | | | | | | | 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.
* DOCS: document video-aspect behavior changewm42015-08-051-0/+3
| | | | Forgotten in commit ae2f8fd0.
* player: remove higher-level remains of DVD/BD menu supportwm42015-08-031-0/+1
| | | | | | | | | | | | | | | Nobody wanted to restore this, so it gets the boot. If anyone still wants to volunteer to restore menu support, this would be welcome. (I might even try it myself if I feel masochistic and like wasting a lot of time for nothing.) But if it does get restored, it should be done differently. There were many stupid things about how it was done. For example, it somehow tried to pull mp_nav_events through all the layers (including needing to "buffer" them in the demuxer), which was needlessly complicated. It could be done simpler. This code was already inactive, so this commit actually changes nothing. Also keep in mind that normal DVD/BD playback still works.
* command: add property indicating per-file optionswm42015-07-231-0/+1
| | | | Fixes #2165, more or less.
* cache: make backbuffer size configurablewm42015-07-221-0/+3
| | | | | | | | | | 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.
* command: add track-list/N/audio-channels propertydeuiore2015-07-181-0/+1
| | | | | | Signed-off-by: wm4 <wm4@nowhere> (With some heavy modifications from the original patch.)
* screenshot: don't write PNG colorspace tags by defaultwm42015-07-181-0/+1
| | | | | | Generates too much discussion and confusion. Fixes #2051.
* sub: add option for stretching image subtitles to screenwm42015-07-181-0/+1
| | | | | | | 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: parse and expose m3u playlist titleswm42015-07-101-0/+1
| | | | Requested. Closes #2100.
* video: add a way to disable automatic stereo conversionwm42015-07-101-0/+1
| | | | Fixes #2111.
* player: disable seeking even if the cache is enabledwm42015-07-081-0/+1
| | | | | | | | | | | | | | 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.
* vf_vdpaupp: don't attempt to deinterlace progressive frameswm42015-07-081-1/+3
|
* vf_vavpp: don't attempt to deinterlace progressive frameswm42015-07-081-0/+1
|
* vo_opengl_cb, vo_opengl: add option for preloading hwdec contextwm42015-07-071-0/+1
| | | | | | | | 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.
* ao_coreaudio: add exclusive suboptionwm42015-07-031-0/+1
|
* DOCS: fix recent typoswm42015-06-281-1/+1
| | | | Pointed out by a certain wiiaboo.
* demux: export forced flagwm42015-06-271-0/+1
| | | | | | At least Matroska files have a "forced" flag (in addition to the "default" flag). Export this flag. Treat it almost like the default flag, but with slightly higher priority.
* audio: output human-readable channel layouts toowm42015-06-251-0/+1
| | | | | This gets you the "logical" channel layout, instead of the exact thing we're sending to the AO. (Tired of the cryptic shit ALSA gives me.)
* DOCS: document some recent interface additionswm42015-06-241-0/+2
|
* command: add keypress, keydown, and keyup commands.torque2015-06-111-0/+1
| | | | | These commands are used to simulate keypresses using the key names from input.conf.
* audio: add --audio-spdif as new method for enabling passthroughwm42015-06-051-0/+2
| | | | | | | | | | | | | 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.)
* command: remove deprecated get_property commandwm42015-05-271-0/+1
| | | | | | This command has been deprecated in the 0.8.x and 0.9.x releases - get rid of it. Its only point ever was MPlayer compatibility, which broke years ago anyway.
* options: remove --slave-brokenwm42015-05-271-0/+1
| | | | It has been deprecated for ages.
* DOCS: interface-changes: mention recent vo_opengl additionswm42015-05-271-0/+2
|
* command: change the hwdec propertieswm42015-05-251-0/+5
| | | | | | Another very minor step towards property/option unification. Not bothering with interface compatibility here.
* command: add protocol-list propertywm42015-05-231-0/+1
| | | | Fixes #1972.
* command: deprecate audio-sampleratewm42015-05-221-0/+2
| | | | | | | Also replace their implementation with the recently introduced properties. One significant difference is that audio-channels using OSD formatting does not print the channel layout. The user can just use the replacement property instead.
* command: add audio-params and audio-out-params propertieswm42015-05-221-0/+1
|
* command: rename audio-format propertywm42015-05-221-0/+1
| | | | Clashes with the option.
* options: rename --media-title optionwm42015-05-221-0/+1
| | | | Conflicts with the property.
* command: deprecate the "length" propertywm42015-05-221-0/+1
| | | | It collides with the --length option.
* DOCS: add a changelog for option/command/property changeswm42015-05-221-0/+37
All these make up both user interface and API. It's a good idea to actually keep track of changes to it.