summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* cocoa: allow to disable apple remote at compile timeStefano Pigozzi2014-10-173-1/+15
| | | | | Actually doesn't remove the related flags so that one can still pass the option with the option doing nothing.
* demux: print a warning if stream is not seekablewm42014-10-171-2/+3
|
* options: don't load per-file config files by defaultwm42014-10-172-12/+12
| | | | | | Generally useless feature, and might be slightly dangerous if paths can "escape" from the profile dir. (Normally this shouldn't be possible, though.)
* sub: adjustments to --ass-style-override optionwm42014-10-173-5/+9
| | | | | | | | | | Now requires newest libass git. Since this feature wasn't part of a libass release yet, I'm not bothering making the mpv code compatible with as how it was previously implemented (it will just be disabled with any older libass). CC: @mpv-player/stable (because mpv-build uses libass git, and this breaks the feature)
* audio: don't go to sleep after audio reinitwm42014-10-171-0/+1
| | | | | | | It possibly goes to sleep without actually starting to decode audio. Possibly fixes a problem with --no-osc --no-video reported on IRC. CC: @mpv-player/stable
* input: don't add weird padding when formatting keycodewm42014-10-171-1/+1
| | | | No idea what this was for. It has no purpose and looks weird.
* terminal: recognize ^hwm42014-10-171-0/+1
| | | | | | Fixes #1185. CC: @mpv-player/stable
* stream: better error message for unmatched protocolwm42014-10-171-1/+3
| | | | See #1187.
* vo_opengl: fix wrong commentswm42014-10-161-2/+2
| | | | | | The previous commit was actually incorrect, and the change had absolutely no effect. The two formats are (fortunately) the same. I'm probably too tired.
* vo_opengl: fix theoretical format mismatch issuewm42014-10-161-4/+4
| | | | | | | | | This would have been wrong for hw decoders which pass us NV12 or NV21. The format the GL shader filter chain gets is stored in p->image_desc, while p->image_format still contains the "real" input format (which in case of hw decoding is an opsque hw accel format). Since no hw decoder did this, this is really just a theoretical fix and doesn't fix any actual bugs.
* cocoa: perform init and uninit synchronouslyStefano Pigozzi2014-10-161-3/+1
| | | | | This is slightly safer and without the resize redraw, should not cause any deadlock.
* DOCS/client_api_examples: qtexample: set a magic Qt flagwm42014-10-161-0/+1
| | | | | | Otherwise, other magic Qt stuff can be magically broken. (No, I don't know the real reasons for this.)
* DOCS/client_api_examples: qtexample: embedding works on Cocoawm42014-10-161-2/+1
|
* player: quote %-starting stringsshdown2014-10-161-0/+2
| | | | | Leading percent sign is a quote indicator so it needs to be quoted itself.
* common: fix \x-style escapingshdown2014-10-161-1/+1
| | | | This was rejecting correct escapes and accepting incorrect ones.
* TOOLS/vf_dlopen/ildetect.sh: remove duplicated assigmentshdown2014-10-161-1/+0
|
* manpage: fix reference to a defunct optionshdown2014-10-161-2/+2
| | | | The change was made with faad40aad92d51290ef2fc4d94277eca89863873.
* player: fix crash on early audio uninitwm42014-10-161-2/+2
| | | | | | | Could crash when exiting playback in very early stages of initialization. CC: @mpv-player/stable
* player: free subtitle renderer on exitwm42014-10-161-1/+1
| | | | | | This was probably commented as an oversight. Since the subtitle renderer was uninitialized on reinitialization anyway, this had no negative consequences, except a memory on exit.
* command: add a mechanism to allow scripts to intercept file loadswm42014-10-168-12/+193
| | | | | | | | | | | | | | | | | | | | | | | A vague idea to get something similar what libquvi did. Undocumented because it might change a lot, or even be removed. To give an idea what it does, a Lua script could do the following: -- type ID priority mp.commandv("hook_add", "on_load", 0, 0) mp.register_script_message("hook_run", function(param, param2) -- param is "0", the user-chosen ID from the hook_add command -- param2 is the magic value that has to be passed to finish -- the hook mp.resume_all() -- do something, maybe set options that are reset on end: mp.set_property("file-local-options/name", "value") -- or change the URL that's being opened: local url = mp.get_property("stream-open-filename") mp.set_property("stream-open-filename", url .. ".png") -- let the player (or the next script) continue mp.commandv("hook_ack", param2) end)
* command: allow setting per-file options at runtimewm42014-10-152-7/+34
| | | | | The intended use-case is for doing this at load time, after the load command was issued. (See following commit.)
* audio/out/push: reset projected EOF time on new datawm42014-10-141-1/+4
| | | | | Seems like this could theoretically happen in low buffer situations, but I haven't spotted this behavior in the wild.
* client API: qthelper: remove commented codewm42014-10-141-2/+0
| | | | This is already taken care of by Q_DISABLE_COPY().
* demux_lavf: set stream network options if applicablewm42014-10-143-31/+50
| | | | | | | | | | | Normally, we pass libavformat demuxers a wrapped mpv stream. But in some cases, such as HLS and RTSP, we let libavformat open the stream itself. In these cases, set typical network properties like useragent according to the mpv options. (We still don't set it for the cases where libavformat opens other streams on its own, e.g. when opening the companion .sub file for .idx files - not sure if we maybe should always set these options.)
* demux_lavf: let libavformat open HLS streams directlywm42014-10-141-1/+2
| | | | | | | | Fixes opening some streams. This means the HLS playlist will be opened twice, but that's not much of a problem, considering it's pretty small, and HLS will make many other http accesses anyway.
* player: fix OSD cyclingwm42014-10-141-0/+2
| | | | | | | OSD cycling attempted to remove the current message by setting an empty message with duration 0. Duration 0 tripped up a corner case causing no OSD to be displayed (until the next message was set), so exclude this explicitly.
* stream_lavf: expose concat://wm42014-10-142-0/+5
| | | | | | | Apparently there's an use for this; see #1178. I won't redocument obscure FFmpeg features, so add a hint to the manpage that some protocols are documented in FFmpeg instead.
* osd: properly redraw external overlays when they are setwm42014-10-141-0/+1
|
* client API: allow returning float properties as integerswm42014-10-141-0/+4
| | | | | I'm starting to think that being type-strict with this interface actually sucks. This commit is a step towards being less strict.
* player: fix --frameswm42014-10-142-2/+4
| | | | | | | | | This could produce an extra frame, because reaching the maximum merely signals the playloop to exit, without strictly enforcing the limit. Fixes #1181. CC: @mpv-player/stable
* DOCS/client_api_examples: qtexample: remove debugging codewm42014-10-141-2/+1
| | | | Forgotten.
* client API: qthelper: fix bugswm42014-10-141-1/+3
| | | | Pretty dumb oversights.
* DOCS/client_api_examples: qtexample: stuffwm42014-10-133-7/+31
| | | | | | Dump chapters and track list to the log for demo purposes. Compile in debug mode.
* client API: add qthelper.hppwm42014-10-134-2/+237
| | | | | | | | | | | | | | This provides some helper functions and classes for C++/Qt. As the top of qthelper.hpp says, this is built on top of the client API, and is a mere helper provided for convenience. Maybe this should be a separate library, but on the other hand I don't see much of a point in that. It's also header-only, but C++ people like such things. This makes it easier for us, because we don't need to care about ABI compatibility. The client API doesn't change, but bump it so that those who are using this header can declare a proper dependency.
* ta/README: fix typoswm42014-10-131-2/+2
|
* ao_wasapi: implement device listingwm42014-10-133-10/+32
|
* ao_dsound: implement device listingwm42014-10-131-20/+86
|
* ao_portaudio: implement device listingwm42014-10-131-2/+24
|
* ao_openal: implement device listingwm42014-10-131-1/+16
|
* audio/out: add "auto" pseudo-devicewm42014-10-131-1/+3
| | | | | Also, don't set an empty string for the fallback device if an AO doesn't list any devices.
* demux_mkv: fix undefined behaviorwm42014-10-131-1/+1
| | | | | | | With some files, the extradata variable can remain uninitialized, but will be used for memory access. CC: @mpv-player/stable (with high priority)
* vf_vapoursynth: add debug message when returning error from GetFramewm42014-10-131-0/+1
| | | | | Some filters still (or will) behave badly on these errors, so explicitly log when it happens.
* x11: don't wait for asynchronous X resizing with window-scalewm42014-10-131-3/+4
| | | | | | | | | | | | | | | Instead of letting the window-scale property return the old value until X11 actually executed the resize, just set the new assumed internal window size immediately. This avoids a "lag" between setting and reading the window-scale property, like OSD controls typically do. Remove the additional calls from vo_x11_highlevel_resize() - they're pointless and slightly wrong, and resize events will take care of updating these things correctly anyway. Fixes #1176. ("window-scale" works via VOCTRL_[S|G]ET_UNFS_WINDOW_SIZE.)
* vf_vapoursynth: don't error if invoke() doesn't return a clipwm42014-10-121-3/+2
| | | | | Not all functions are for creating filters. Consider for example LoadPlugin.
* vf_vapoursynth: resolve paths relative to home/configwm42014-10-121-0/+3
| | | | | This affects the script filename passed to the filter. Resolve "~" (and some other variants) as described in the "Paths" section of mpv.rst.
* demux: fix a commentwm42014-10-121-2/+1
| | | | Don't refer to fields that were removed.
* coreaudio: use the new device selection APIStefano Pigozzi2014-10-124-54/+28
| | | | | The CoreAudio API is built around device IDs so we store the integer as string and read it back.
* af_lavcac3enc: fix byte orderwm42014-10-121-2/+2
| | | | | | | | Oops. Fixes #1172. CC: @mpv-player/stable
* DOCS/edl-mpv: minor clarificationwm42014-10-121-1/+1
|
* gl_x11: distinguish missing GLX and too old GLX versionswm42014-10-121-3/+5
| | | | | | This probably led to confusing output. CC: @mpv-player/stable
* vf_vapoursynth: add standalone Lua scriptingwm42014-10-127-19/+326
|
* vf_vapoursynth: abstract scripting backendwm42014-10-121-28/+87
| | | | | | 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 systemStefano Pigozzi2014-10-123-36/+54
| | | | | | | | | | 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 categoriesStefano Pigozzi2014-10-125-89/+37
| | | | | 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 unavailablewm42014-10-111-1/+1
| | | | | | | | | 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 initializedwm42014-10-111-6/+4
| | | | | | | | | | 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 functionStefano Pigozzi2014-10-111-3/+0
|
* build: update waf to version 1.8.1Stefano Pigozzi2014-10-114-21/+9
| | | | Fixes #1164
* vf_vapoursynth: return dummy frames if frames are requested during initwm42014-10-111-1/+12
| | | | | | An attempt at fixing #1168. I see black frames flashing, so it's certainly not perfect.
* vf_vapoursynth: factor stuffwm42014-10-111-13/+25
|
* vf_vapoursynth: when seeking, recreate only if it's already createdwm42014-10-111-1/+2
|
* x11: don't wait until window is destroyedwm42014-10-111-5/+0
| | | | | | | | | | 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 dirwm42014-10-111-0/+5
| | | | | 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_nodeJames Ross-Gowan2014-10-121-1/+1
| | | | This follows the docs, which say the result parameter is optional.
* libmpv/mpv.def: add mpv_command_node[_async]James Ross-Gowan2014-10-121-0/+2
|
* build: make zsh completion directory configurablePhilip Sequeira2014-10-112-1/+2
| | | | Also, use the zsh default location (rather than the Debian one).
* vf_vapoursynth: fail gracefully if filter init requests frameswm42014-10-111-0/+10
| | | | | | | | | | | | | | | | | 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() functionwm42014-10-112-0/+32
| | | | This is the Lua equivalent of mpv_command_node().
* client API: add mpv_command_node[_async]wm42014-10-113-6/+63
| | | | | | | | | 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 errorwm42014-10-101-1/+1
| | | | | | | | | 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 codewm42014-10-101-59/+25
|
* input: cosmetics: move codewm42014-10-101-68/+69
|
* input: use mpv_node parser for char** command parserswm42014-10-106-64/+43
| | | | Minor simplification, also drops some useless stuff.
* input: add a function to parse mpv_node as commandwm42014-10-102-62/+162
| | | | For future client API enhancements.
* command: make audio device list available to the client APIwm42014-10-102-0/+53
|
* audio: don't list encoder AO with --audio-device=helpwm42014-10-101-0/+2
|
* player: fix terminal status in idle modewm42014-10-101-0/+1
| | | | That's what this variable is for. This was missed in commit 9d5d031b.
* player: don't mess up cursor visibility statewm42014-10-101-1/+1
| | | | | | | | | | | | 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 APIwm42