aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* demux: fix a commentGravatar wm42014-10-12
| | | | Don't refer to fields that were removed.
* coreaudio: use the new device selection APIGravatar Stefano Pigozzi2014-10-12
| | | | | The CoreAudio API is built around device IDs so we store the integer as string and read it back.
* af_lavcac3enc: fix byte orderGravatar wm42014-10-12
| | | | | | | | Oops. Fixes #1172. CC: @mpv-player/stable
* DOCS/edl-mpv: minor clarificationGravatar wm42014-10-12
|
* gl_x11: distinguish missing GLX and too old GLX versionsGravatar wm42014-10-12
| | | | | | This probably led to confusing output. CC: @mpv-player/stable
* vf_vapoursynth: add standalone Lua scriptingGravatar wm42014-10-12
|
* vf_vapoursynth: abstract scripting backendGravatar wm42014-10-12
| | | | | | In theory, vsscript should be doing it, but it's not there yet, neither did there seem to be any interest in making it flexible enough to handle more than 1 scripting language.
* libmpv/cocoa: allow clients to use mpv event systemGravatar Stefano Pigozzi2014-10-12
| | | | | | | | | | This allows mpv's view to take key and send events to mpv's core. To set key status correctly, clients must call -[NSWindow selectNextKeyView:] during reconfig on the main thread. All is 'documented' in the cocoabasic example. If someone knows a better way to handle giving key to the embedded view, let me know!
* cocoa: remove usage of Objective-C categoriesGravatar Stefano Pigozzi2014-10-12
| | | | | Objective-C categories need special linker flags from the user when statically linking (-ObjC LDFLAG), so make everyone's life simpler and remove them.
* command: don't display non-sense if volume is unavailableGravatar wm42014-10-11
| | | | | | | | | Showed "Volume: (unavailable)%". That was dumb. The message string is now a bit convoluted; mostly because the property expand syntax can't do "if-else", just "if". CC: @mpv-player/stable
* command: make volume/mute unavailable if audio is not initializedGravatar wm42014-10-11
| | | | | | | | | | This does nothing good. This reverts a change made over a year ago - I don't remember why this was originally done this way. The main problem is that even if the volume option is set (something like "--volume=75"), the volume property will always return "100" until audio is initialized. If audio is uninitialized again, the volume property will remain frozen at its last value.
* build: remove useless functionGravatar Stefano Pigozzi2014-10-11
|
* build: update waf to version 1.8.1Gravatar Stefano Pigozzi2014-10-11
| | | | Fixes #1164
* vf_vapoursynth: return dummy frames if frames are requested during initGravatar wm42014-10-11
| | | | | | An attempt at fixing #1168. I see black frames flashing, so it's certainly not perfect.
* vf_vapoursynth: factor stuffGravatar wm42014-10-11
|
* vf_vapoursynth: when seeking, recreate only if it's already createdGravatar wm42014-10-11
|
* x11: don't wait until window is destroyedGravatar wm42014-10-11
| | | | | | | | | | This can hang if the window was destroyed externally (or that's what I suspect happens), and we somehow didn't receive the DestroyNotify event. I'm not sure why we wouldn't receive this event (since it should just be in the xlib event queue), but on the other hand there's no real need to wait for window destruction. This essentially reverts 97fc74e2.
* build: install input config files into doc dirGravatar wm42014-10-11
| | | | | Users using binary packages don't have obvious access to them, so this seems like a good idea.
* client API: check result ptr in mpv_command_nodeGravatar James Ross-Gowan2014-10-12
| | | | This follows the docs, which say the result parameter is optional.
* libmpv/mpv.def: add mpv_command_node[_async]Gravatar James Ross-Gowan2014-10-12
|
* build: make zsh completion directory configurableGravatar Philip Sequeira2014-10-11
| | | | Also, use the zsh default location (rather than the Debian one).
* vf_vapoursynth: fail gracefully if filter init requests framesGravatar wm42014-10-11
| | | | | | | | | | | | | | | | | Some VS filters will requests frames from their parent filters while they're initialized. Thy do this in a blocking manner, and initialization will not succeed until the frame request is satisfied. This deadlocked mpv, because we can feed frames to the filter only after initialization is finished. Return an error instead of deadlocking. Note that we (probably) can handle frames being requested during init fine, as long as the requests don't block initialization. But we can distinguish this situation, and a simple test seems to indicate VS usually doesn't do this. See #1168.
* lua: add command_native() functionGravatar wm42014-10-11
| | | | This is the Lua equivalent of mpv_command_node().
* client API: add mpv_command_node[_async]Gravatar wm42014-10-11
| | | | | | | | | Allows passing native types as arguments. Also some minor doc improvements, including giving some (natural) improvements to mpv_free_node_contents(). Note: mpv_command_node_async() is completely untested.
* etc/mplayer-input.conf: fix off by one errorGravatar wm42014-10-10
| | | | | | | | | playlist-pos is 0-based, but everyone thinks it's 1-based. Stupid crap. (The "not the same as MPlayer" refers to a playlist manipulation command that doesn't exist anymore in mpv.) CC: @mpv-player/stable
* input: remove some unneeded codeGravatar wm42014-10-10
|
* input: cosmetics: move codeGravatar wm42014-10-10
|
* input: use mpv_node parser for char** command parsersGravatar wm42014-10-10
| | | | Minor simplification, also drops some useless stuff.
* input: add a function to parse mpv_node as commandGravatar wm42014-10-10
| | | | For future client API enhancements.
* command: make audio device list available to the client APIGravatar wm42014-10-10
|
* audio: don't list encoder AO with --audio-device=helpGravatar wm42014-10-10
|
* player: fix terminal status in idle modeGravatar wm42014-10-10
| | | | That's what this variable is for. This was missed in commit 9d5d031b.
* player: don't mess up cursor visibility stateGravatar wm42014-10-10
| | | | | | | | | | | | Manually setting can break things forever, because it puts the VO cursor state out of sync with the remembered state by handle_cursor_autohide(). Use the normal autohide code during idle mode too instead. (Originally the idea was to make the cursor always visible in idle mode, but not so important.) Regression since e1e8b07c. Fixes #1166. CC: @mpv-player/stable
* ao_pulse: implement AO device listing APIGravatar wm42014-10-10
| | | | | | | | | | | | | | | | While conceptually this sink stuff in PulseAudio does just the right thing, actually listing the sinks is unbelievable complicated. Not only is the idea that listing them should happen asynchronously completely bullshit (who the fuck runs the PulseAudio server on a separate computer), but the way this is done is full of bullshit too. Why separate callbacks for each device? Why this obtuse mainloop shit? Especially the mainloop shit makes it actively worse than doing things manually with pthread primitives, and the reason for that (different mainloop implementations for GUIs?) is laughable too. It's like they chose the most complicated API possible just because they attempted to "abstract" basic mechanisms in order to handle "everything". While I don't claim to design the best APIs, this API is fucking terrible without any excuse. (End of rant.)
* ao_pulse: move setup code to separate functionGravatar wm42014-10-10
| | | | | | | All the dumb crap in pa_init_boilerplate() is needed to talk to the audio server at all. Might also fix some subtle bugs in the init code (which is strange, because the original file was contributed by the devil himself).
* audio: change internal device listing APIGravatar wm42014-10-10
| | | | | Now we run ao_driver->list_devs on a dummy AO instance, which will probably confuse everyone. This is done for the sake of PulseAudio.
* player: exit if audio init fails and there's no videoGravatar wm42014-10-10
| | | | | | Seems logical. For some reason, the player allows deselecting both audio and video stream without quitting (a deliberate feature of which I have no idea why it was added years ago), so this is needed.
* player: signal EOF when using --framesGravatar wm42014-10-10
|
* player: minor simplificationGravatar wm42014-10-10
|
* player: don't close audio device in gapless modeGravatar wm42014-10-10
| | | | I don't see much of a reason for this extra corner case.
* player: --save-position-on-quit should always work (2)Gravatar wm42014-10-10
| | | | | This reimplements the feature reverted in the previous commit in a different way.
* Revert "player: --save-position-on-quit should always work"Gravatar wm42014-10-10
| | | | | | | | | This reverts commit 45c8b97efbaff7a5031b008223eeed56f7b0607a. Some else complained (github issue #1163). The feature requested in #1148 will be implemented differently in the following commit.
* Add some missing "const"sGravatar wm42014-10-10
| | | | | | | The one in msg.c was mistakenly removed with commit e99a37f6. I didn't actually test the change in ao_sndio.c (but obviously "ap" shouldn't be static).
* audio/out/push: make draining slightly more robustGravatar wm42014-10-10
| | | | | | | | Don't wait after the audio thread has pushed the remaining audio to the AO. Avoids hard hangs if the heuristic fails completely (could still happen if get_delay returns absurd values). CC: @mpv-player/stable
* audio/out/push: fix EOF heuristicGravatar wm42014-10-10
| | | | | | | | | | | | | Since the internal AO driver API has no proper way to determine EOF, we need to guess by querying get_delay. But some AOs (e.g. ao_pulse with no-latency-hacks set) may never reach 0, maybe because they naively add the latency to the buffer level. In this case our heuristic can break. Fix by always using the delay to estimate the EOF time. It's not even that important - it's mostly used to avoid blocking draining. So this should be ok. CC: @mpv-player/stable (maybe)
* fix -Wvisibility warnings with clangGravatar Stefano Pigozzi2014-10-09
| | | | Now everything compiles with no warnings! yay!
* cocoa: post keydown and keyup events without event monitorGravatar Stefano Pigozzi2014-10-09
| | | | | Our code worked under the assumption that the event monitor is always active and we did remove the keydown and keyup overrides from our cocoa view.
* fix -Wduplicate-decl-specifier warnings with clangGravatar Stefano Pigozzi2014-10-09
|
* libmpv/cocoa: don't start the event monitorGravatar Stefano Pigozzi2014-10-09
| | | | | | The event monitor is used to get keyboard events when there is no window, but since it is a global monitor to the current process, we don't want it in a library setting.
* cocoa: fix 'uninitalized' accessGravatar Stefano Pigozzi2014-10-09
| | | | | I think this doesn't make a difference, since in Objective-C nil responds as a NullObject, but better not depend on this crappy language feature.