aboutsummaryrefslogtreecommitdiffhomepage
path: root/DOCS
Commit message (Collapse)AuthorAge
...
* manpage: fix the alternative suggested for stream-pathGravatar wm42014-05-02
| | | | | ${filename} didn't make much sense, since that doesn't include the path components, and can be otherwise mangled.
* man: grammar tweak of mp.add_timeout()Gravatar Kevin Mitchell2014-04-29
|
* vf_vapoursynth: use frame durations instead of _AbsoluteTimeGravatar wm42014-04-28
| | | | | | | | | | | | | Set _DurationNum/_DurationDen on each VS frame, instead of _AbsoluteTime. The duration is the difference between the timestamp of the frame and the next frame, and when receiving filtered VS frames, we convert them back to an absolute PTS by summing them. We pass the timestamps with microsecond resolution. mpv uses double for timestamps internally, so we don't know the "real" timebase or FPS. VS on the other hand uses fractions for frame durations. We can't pass through the numbers exactly, but microseconds ought to be enough to be even safe from accumulating rounding errors.
* client API: add chapter change eventGravatar wm42014-04-27
| | | | Also works for mpv_observe_property() on the "chapter" property.
* manpage: fix grammarGravatar wm42014-04-26
|
* manpage: forced->usedGravatar wm42014-04-26
|
* manpage: improve --osd-level descriptionGravatar wm42014-04-25
|
* af.rst: fix replaygain-track descriptionGravatar Alessandro Ghedini2014-04-25
| | | | libav now supports reading ReplayGain values from LAME's Info/XING tag as well.
* command: allow native access to "vf" propertyGravatar wm42014-04-24
| | | | | | This allows client API users and Lua scripts to side-step the pretty horrible video filter string "language" (although it's back and can't be avoided when using libavfilter).
* video: add a "hwdec" property to enable or disable hw decoding at runtimeGravatar wm42014-04-23
|
* man: minor typo why not to use portaudioGravatar Kevin Mitchell2014-04-22
|
* command: export rotation parameterGravatar wm42014-04-22
| | | | For completeness.
* vf_rotate: support all multiples of 90 degreesGravatar wm42014-04-21
| | | | | | | | | | | | | This couldn't rotate by 180°. Add this, and also make the parameter in degrees, instead of magic numbers. For now, drop the flipping stuff. You can still flip with --vf=flip or --vf=mirror. Drop the landscape/portrait stuff - I think this is something almost nobody will use. If it turns out that we need some of these things, they can be readded later. Make it use libavfilter. Its vf_transpose implementation looks pretty simple, except that it uses slice threading and should be much faster.
* encode: don't apply default config optionsGravatar wm42014-04-19
| | | | | | | | | | | | Often, user configs set options that are not suitable for encoding. Usually, playback and encoding are pretty different things, so it makes sense to keep them strictly separate. There are several possible solutions. The approach taken by this commit is to basically ignore the default config settings, and switch to an [encoding] config profile section instead. This also makes it impossible to have --o in a config file, because --o enables encode mode. See github issue #727 for discussion.
* manpage: add notes when to use/not use certain AO and VO driversGravatar wm42014-04-19
|
* lua: add example to rebuild the status lineGravatar David Weber2014-04-19
| | | | | | | This can be used to easily extent the status line for one's own needs. I'm not experienced with lua so a few things could probably be done a better way.
* input: discard key history when a key is mappedGravatar wm42014-04-19
| | | | | | This is for the sake of multi-key combinations (see github issue #718). Now a multi-key sequence isn't matched if any of the previous keys were actually mapped.
* manpage: clarify one aspect of multi-keybindingsGravatar wm42014-04-18
| | | | | The explanation is kind of obvious, but on the other it'd probably be confusing not to clarify this.
* input: close window when window close button is pressed with --input-testGravatar wm42014-04-18
| | | | | | | | | | | The window close button is usually mapped to the CLOSE_WIN pseudo-key. Until now, --input-test treated this pseudo-key like any other key (like the rest of the input handling code), so you couldn't close the window in this mode. The manpage had silly instructions and warnings how to deal with this. Just always quit when CLOSE_WIN is received, and improve the instructions.
* input: handle multi-combinations as key sequencesGravatar wm42014-04-18
| | | | | | | | | | | | | | | | | The input code always supported combinations of multiple keys (even in MPlayer, although there the code was active really only for mouse buttons). This was arcance and also made the code more complicated. I only know of a single person who ever made use of this feature. Remove this feature, and repurpose some of the support code (e.g. parsing, display of key combinations, etc.) to handle such multi- combinations as sequences, instead of keys to be pressed at the same time. This is much simpler and implements the feature requested in github issue #718. This commit will probably cause a bunch of regressions, since the input handling code has some weird corner cases. I couldn't find any problems when testing, though.
* manpage: document loop-file propertyGravatar wm42014-04-18
| | | | Was forgotten in commit 1b398e99.
* player: add a --loop-file optionGravatar wm42014-04-17
| | | | Unlike --loop, loops a file instead of the playlist.
* ao_null: add simulated device latency, simulate EOF problemsGravatar wm42014-04-17
| | | | | This EOF problems happen at least with PulseAudio, but since it's hard to reproduce, let ao_null optionally simulate it.
* vo_opengl: make spline36 default with --vo=opengl-hqGravatar wm42014-04-17
|
* player: add a --dump-stats optionGravatar wm42014-04-17
| | | | | | | | | | | | | | | | | | | | | | | This collects statistics and other things. The option dumps raw data into a file. A script to visualize this data is included too. Litter some of the player code with calls that generate these statistics. In general, this will be helpful to debug timing dependent issues, such as A/V sync problems. Normally, one could argue that this is the task of a real profiler, but then we'd have a hard time to include extra information like audio/video PTS differences. We could also just hardcode all statistics collection and processing in the player code, but then we'd end up with something like mplayer's status line, which was cluttered and required a centralized approach (i.e. getting the data to the status line; so it was all in mplayer.c). Some players can visualize such statistics on OSD, but that sounds even more complicated. So the approach added with this commit sounds sensible. The stats-conv.py script is rather primitive at the moment and its output is semi-ugly. It uses matplotlib, so it could probably be extended to do a lot, so it's not a dead-end.
* client API: remove mpv_event_pause_reasonGravatar wm42014-04-14
| | | | | | | | | And slightly adjust the semantics of MPV_EVENT_PAUSE/MPV_EVENT_UNPAUSE. The real pause state can now be queried with the "core-idle" property, the user pause state with the "pause" property, whether the player is paused due to cache with "paused-for-cache", and the keep open event can be guessed with the "eof-reached" property.
* command: add property to indicate when pausing due to --keep-openGravatar wm42014-04-14
| | | | | | | This property is set to "yes" if playback was paused due to --keep-open. The change notification might not always be perfect; maybe that should be improved.
* command: add a property to indicate core pause stateGravatar wm42014-04-14
| | | | | | | | | Currently this is (probably) equivalent to "paused-for-cache", but the latter is a bit special, while this new property is a bit more general. One case where they might actually be different is dvdnav menus, but I haven't checked. Also add property change notifications for these two properties.
* New option --no-ometadata to opt out of including metadata when encoding.Gravatar Rudolf Polzer2014-04-14
| | | | | | | This re-allows the previous behaviour of being able to reencode with metadata removed, which is useful when encoding "inconsistently" tagged data for a device/player that shows file names when tags are not present.
* vf_vapoursynth: wipe vapoursynth state completely on reloadingGravatar wm42014-04-14
| | | | | | | | Before this commit, the filter attempted to keep the vsscript state (p->se) even when the script was reloaded. Change it to destroy the script state too on reloading. Now no workaround for LoadPlugin is necessary, and this also fixes a weird theoretical race condition when destroying and recreating the mpv source filter.
* Remove radio://Gravatar wm42014-04-13
| | | | | It was disabled by default, works only for analogue radio, and I bet nobody uses it.
* command: add vf-metadata propertyGravatar Kevin Mitchell2014-04-13
| | | | | | | This is a read-only property that uses VFCTRL_GET_METADATA to retrieve mp_tags metadata from a filter specified by label Signed-off-by: wm4 <wm4@nowhere>
* command: add paused-for-cache, total-avsync-change, drop-frame-count propertiesGravatar David Weber2014-04-13
| | | | | | | | | This is needed if you want to reimplement the status line in lua I could only test drop-frame-count because I didn't find an easy way to trigger paused-for-cache and total-avsync-change Signed-off-by: wm4 <wm4@nowhere>
* manpage: vf_vapoursynth: document what happens on seekingGravatar wm42014-04-13
| | | | Unfortunately, reloading on seeking causes real problems.
* manpage: lua: separate "advanced" functions into a separate sectionGravatar wm42014-04-12
| | | | This will be less confusing.
* lua: make it easier to integrate with foreign event loopsGravatar wm42014-04-12
| | | | We provide some "official" utility functions for this.
* lua: wrap mpv_get_wakeup_pipe()Gravatar wm42014-04-12
| | | | Pretty much experimental for issue #661.
* video: add VapourSynth filter bridgeGravatar wm42014-04-12
| | | | | | | | | | | | Mainly meant to apply simple VapourSynth filters to video at runtime. This has various restrictions, which are listed in the manpage. Additionally, this actually copies video frames when converting frame references from mpv to VapourSynth, and a second time when going from VapourSynth to mpv. This is inefficient and could probably be easily improved. But for now, this is simpler, and in fact I'm not sure if we even can references VapourSynth frames after the core has been destroyed.
* manpage: fix --vf=scale optionsGravatar James Ross-Gowan2014-04-11
|
* manpage: document how the client API retrieves the complicated propertiesGravatar wm42014-04-11
| | | | | "Complicated" as in they use sub-properties, and using MPV_FORMAT_NODE allows an application to retrieve all information at once.
* lua: add a minor helper functionGravatar wm42014-04-10
|
* cache: allow resizing at runtimeGravatar wm42014-04-09
| | | | | | | | | | | The only tricky part is keeping the cache contents, which is made simple by allocating the new cache while still keeping the old cache around, and then copying the old data. To explain the "Don't use this when playing DVD or Bluray." comment: the cache also associates timestamps to blocks of bytes, but throws away the timestamps on seek. Thus you will experience strange behavior after resizing the cache until the old cached region is exhausted.
* manpage: --ad-spdif-dtshd=yes works nowGravatar wm42014-04-08
| | | | | It was fixed a while ago. There are still some issues, as pointed out in the manpage addition.
* vd_lavc: by default, do not show corrupt framesGravatar wm42014-04-08
| | | | This flips the default value. Use --vd-lavc-show-all=yes to revert.
* client API: avoid redundant property change events if possibleGravatar wm42014-04-08
| | | | | This is done simply by comparing the previous and current values. Do this only if the requested format is not MPV_FORMAT_NONE.
* lua: add API for observing property changesGravatar wm42014-04-08
| | | | | A low level API was added already earlier, but that was merely a binding for the raw C API. Add a "proper" one, and document it.
* remove redundant/outdated line from encodeing.rst:"what works"Gravatar Kevin Mitchell2014-04-03
|
* lua: give more control over timersGravatar wm42014-04-02
| | | | | | | | | | | Now they can be paused and resumed. Since pausing and disabling the timer is essentially the same underlying operation, we also just provide one method for it. mp.cancel_timer probably still works, but I'm considering this deprecated, and it's removed from the manpage. (We didn't have a release with this function yet, so no formal deprecation.)
* lua: add mp.unregister_event() functionGravatar wm42014-04-01
| | | | Someone requested this... I think.
* DOCS/encoding: make "What does not work yet" a proper RST sectionGravatar wm42014-04-01
|