aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* command: implement A-B loopsGravatar wm42014-11-18
| | | | | | | | | | | | | Probably needs to be polished a bit more. Also, might require a key binding that can set/clear the loop points in a more intuitive way. For now, something like this can be put into input.conf to use it: ctrl+y set ab-loop-a ${time-pos} # set A ctrl+x set ab-loop-b ${time-pos} # set B ctrl+c set ab-loop-a no # clear (mostly) Fixes #1241.
* wscript: move down some less important checksGravatar wm42014-11-17
|
* build: check for mingw-w64 explicitlyGravatar wm42014-11-17
| | | | | And fail building if not any of MingW-w64 or POSIX are found. Obviously, mpv needs one of those 2.
* command: adjust previous commitGravatar wm42014-11-17
| | | | | | | | Due to the current code structure, the "current" entry and the entry which is playing can be different. This is probably silly, but still try to mark the entries correctly. Refs #1260.
* command: playlist property: return if an entry is currently playingGravatar wm42014-11-17
| | | | | | | | This actually doesn't even write/return the new sub-property, because I dislike the idea of dumping that field for every single playlist entry, even though it's "needed" only for one. Fixes #1260.
* ao_alsa: check for EAGAIN tooGravatar wm42014-11-17
| | | | | | | Simply retry on EAGAIN. I've seen this in several other projects; it might be just cargo-culting though.
* audio/out: switch back to wasapi as default on win32Gravatar wm42014-11-17
| | | | | | dsound was set as default, because there were some hard to fix problems with wasapi. These problems were probably fixed now, so let's try with wasapi as default again.
* Merge branch 'wasapi_fix2'Gravatar Kevin Mitchell2014-11-17
|\
| * ao/wasapi: request ao reload on thread_feed failuresGravatar Kevin Mitchell2014-11-17
| | | | | | | | | | | | Even with change notifications, there are still (rare) cases when the feed thread gets AUDCLIENT_DEVICE_INVALIDATED. So handle failures in thread_feed by requesting ao_reload.
| * ao/wasapi: add retry loop on AUDCLNT_E_DEVICE_IN_USEGravatar Kevin Mitchell2014-11-17
| | | | | | | | this works around reinitializing too fast on device property changes
| * ao/wasapi: request reset on appropriate eventsGravatar Kevin Mitchell2014-11-17
| | | | | | | | | | | | | | | | on changes to PKEY_AudioEngine_DeviceFormat, device status, and default device. call ao_reload directly in the change_notify "methods". this requires keeping a device enumerator around for the duration of execution, rather than just for initially querying devices
| * ao/wasapi: add convenience functions for change notifiyGravatar Kevin Mitchell2014-11-17
| |
| * ao/wasapi: new wasapi device monitoring interfaceGravatar Jonathan Yong2014-11-17
| | | | | | | | | | | | | | | | | | | | | | Implement skeleton IMMNotificationClient to watch for changes in the sound device. This will make recovery possible from changes shared mode sample rate, bit depth, "enhancements"/effects and even graceful device removal. http://msdn.microsoft.com/en-us/library/windows/desktop/dd371417%28v=vs.85%29.aspx Signed-off-by: Kevin Mitchell <kevmitch@gmail.com>
| * ao/wasapi: look for "multimedia" default device instead of "console"Gravatar Kevin Mitchell2014-11-17
| | | | | | | | | | | | console is more for system notifications / voice command, mpv is most certainly multimedia http://msdn.microsoft.com/en-us/library/windows/desktop/dd370842%28v=vs.85%29.aspx
| * ao/wasapi: put loading of default device in it's own functionGravatar Kevin Mitchell2014-11-17
| |
| * ao/wasapi: fix possible null dereference of pDeviceGravatar Kevin Mitchell2014-11-17
| | | | | | | | | | | | IMMDeviceEnumerator::GetDefaultAudioEndpoint may set pDevice to null on failure. http://msdn.microsoft.com/en-us/library/windows/desktop/dd371401%28v=vs.85%29.aspx
| * ao/wasapi: tidy up better on failureGravatar Kevin Mitchell2014-11-17
| | | | | | | | | | | | | | Before, failures, particularly in the thread loop init, could lead to a bad state for the duration of mpvs execution. Make sure that everything that was initialized gets properly and safely uninitialized.
| * ao/wasapi: improve error messages and add more debug statementsGravatar Kevin Mitchell2014-11-17
| | | | | | | | | | | | also enforce more consistency in the exit codes and error handling thanks to Jonathan Yong <10walls@gmail.com>
| * ao/wasapi: make calling of thread_init consistent with thread_uninitGravatar Kevin Mitchell2014-11-17
| |
| * ao/wasapi: reenable the reset functionGravatar Kevin Mitchell2014-11-17
| | | | | | | | | | | | the race condition that necessitated disabling this was fixed in e4403523131a69a92a8418bb3714090a408680c7
| * ao/wasapi: fix leaked deviceIDGravatar Jonathan Yong2014-11-17
| |
* | lua: subprocess: remove minor code duplicationGravatar wm42014-11-16
| | | | | | | | | | | | | | | | Now that the code for stderr and stdout does exactly the same things, and the specialization is in the callbacks, this is blatantly duplicated. Also, define a typedef for those callbacks to reduce the verbosity.
* | demux_mkv: check file type without actually reading dataGravatar wm42014-11-16
| | | | | | | | | | | | | | | | Do a minimal check on data read with stream_peek(). This could help with probing from unseekable streams in some situations. (We could check the entire EBML and Matroska headers, but probably not worth the trouble. We could also seek back to the start, which demux.c doesn't do, but which would work usually - also not worth the trouble.)
* | demux_cue: use stream_peek()Gravatar wm42014-11-16
| | | | | | | | | | | | This could cause probing failures with unseekable streams. (Although I'm not perfectly sure why; seeking back should work in this particular case.)
* | restore-old-bindings.conf: add recently changed bindingGravatar wm42014-11-16
| |
* | lua: subprocess: add Windows implementationGravatar James Ross-Gowan2014-11-16
|/ | | | Doesn't handle mp_cancel yet.
* input.conf: Don't make ENTER exit the playerGravatar ChrisK22014-11-15
| | | | Apparently this is confusing.
* man: document osc seekbarstyle optionGravatar ahoka2014-11-15
|
* osc: add validation for string user optionsGravatar ahoka2014-11-15
|
* osc: add seekbarstyle optionGravatar ahoka2014-11-15
|
* umpv: update comment for the new FIFO locationGravatar Ben Boeckel2014-11-15
|
* sub: workaround braindead libass APIGravatar wm42014-11-15
| | | | | | | | | | | | | | | | libass won't use embedded fonts, unless ass_set_fonts() (called by mp_ass_configure_fonts()) is called. However, we call this function when the ASS_Renderer is initialized, which is long before the .ass file is actually loaded. (I'm not sure why it tries to keep 1 ASS_Renderer, but it always did this.) Fix by calling mp_ass_configure_fonts() after loading them. This also means this function will be called multiple times - hopefully this is harmless (it will reinit fontconfig every time, though). While we're at it, also initialize the ASS_Renderer lazily. Fixes #1244.
* demux_mkv: adjust subtitle preroll again (2)Gravatar wm42014-11-15
| | | | | | | | | | | | | | Make the changes started in commit c827ae5f more eloborate, and provide an option to control the amount of data read before the seek-target. To achieve this, rewrite the loop that finds the lowest still acceptable target cluster. It is now searched by time instead of file position. The behavior (both with and without preroll option) may be different from before this change, although it shouldn't be worse. The change demux_mkv_read_cues() fixes a bug: when seeking after playing normally, the code would erroneously assume that durations are set. This doesn't happen if the first operation after loading was a seek instead of playback.
* vo_opengl: allow setting different filters for downscalingGravatar wm42014-11-14
|
* command: list filters/VOs/AOs with option-infoGravatar wm42014-11-14
| | | | Another special-case, but pretty simple after all.
* command: export some option metadataGravatar wm42014-11-13
| | | | | | | This might be interesting for GUIs and such. It's probably still a little bit insufficient. For example, the filter and audio/video output lists are not available through this.
* command: rename "option-flags" property to "option-info"Gravatar wm42014-11-13
|
* command: make sub-properties more flexibleGravatar wm42014-11-13
| | | | | This makes it work with all kind of types, instead of just some simple ones.
* command: fix weird stuffGravatar wm42014-11-13
| | | | | Happens to fix some aspects of some properties (especially reading "option-flags/x" as native value).
* command: export mpv configure arguments as propertyGravatar wm42014-11-13
| | | | | It seems strange that a client API user can't get this string, other than analyzing the mpv log output.
* terminal-unix: Add some comments about FD use.Gravatar Rudolf Polzer2014-11-13
|
* terminal-unix: Fix initial terminal state.Gravatar Rudolf Polzer2014-11-13
| | | | | | When mpv is backgrounded initially (via & in the shell), do no longer change terminal settings on startup. This fixes broken local echo after launching a backgrounded mpv.
* demux: update cache state when pausedGravatar wm42014-11-12
| | | | | | | | | | | | | This was removed in commit 480f82fa. This caused the cache display not to update while paused, because the update_cache() function is never called in the thread (now I remember why the extra call was "needed"). The old implementation intentionally run update_cache() only before waiting on a mutex, with no further checks for the condition variable. In theory, this is strictly not sane, but since it was just for the retrieval of the very fuzzy cache status, it was ok. Now we want to call update_cache() outside of the mutex though - which means that in order to avoid missed wakeups, a proper condition has to be used.
* af: remove redundant functionGravatar wm42014-11-12
|
* af: check audio params for validityGravatar wm42014-11-12
| | | | Normally, these should be valid anyway, so this is just being cautious.
* mp_image: slightly better image params verbose infoGravatar wm42014-11-12
|
* video: move formatting of image parameters to separate functionGravatar wm42014-11-12
|
* vf: minor simplificationGravatar wm42014-11-12
| | | | | | | | Remove the extra vf_chain.output field - there's absolutely no need for it, because there is always a last filter which will buffer the output. For some reason, vf_chain.last was never set, which we now need to fix too.
* manpage: adjust --hwdec docsGravatar wm42014-11-12
|
* player: simplify audio uninit on segment switchesGravatar wm42014-11-12
| | | | | | | The purpose of temporarily setting stop_play was to make the audio uninit code to explicitly drain audio if needed. This was the only way to do it before ao_drain() was made a separate function; now we can just do it explicitly instead.