aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* manpage: ipc: fix command name for observe_propertyGravatar wm42014-11-01
|
* build: remove bundle support from wafGravatar Stefano Pigozzi2014-11-01
| | | | Use TOOLS/osxbundle.py instead. It's just better and less hacky.
* player: update meaning of drop_frame_cntGravatar wm42014-11-01
| | | | | Rename the variable, update comments, and update the documentation of the property which returns its value.
* player: show AV-desync message in all framedrop modesGravatar wm42014-11-01
| | | | | | | | | | | | This was shown only if decoder-framedropping was enabled, and only if at least 50 frames were dropped by it. Since drop_frame_cnt used to mean "number of late frames", this code made sense, but this is not the case anymore: drop_frame_cnt can be even 0, all while video gets hopelessly behind audio. One problem with this is that short desync spikes (which usually can probably dealt with) will also cause this message to be shown. If it gets triggered too often, the code will need to be adjusted.
* build: fix 'ar' invocation when cross-compilingGravatar wm42014-11-01
| | | | | | | | This shouldn't use the host's 'ar' when building static libs. It only worked until now because Linux 'ar' is usually built with PE support. Couldn't confirm whether it works, because this dumb crap is just broken when cross-compiling to mingw.
* cache: don't relay STREAM_CTRL_AVSEEK if it's unsupportedGravatar wm42014-11-01
| | | | | | | | Thanks to STREAM_CTRL_HAS_AVSEEK, we actually know whether CTRL_AVSEEK is implemented at all, and we can avoid a blocking wait on the cache if demux_lavf sends CTRL_AVSEEK even if it won't wait. I'm hoping this can't currently happen, but why hope if we can explicitly prevent it. It'll make us more robust against future changes in libavformat.
* sub: remove osd_get_sub()Gravatar wm42014-11-01
| | | | | Trades one strange thing against another, but seems slightly less strange.
* command: don't require whitespace before ';' or '#'Gravatar wm42014-10-31
| | | | | | | This change is probably too simplistic, but most things appear to work, so I don't care about that now. Fixes #1232.
* sub: be more flexible about changes to how subtitles are renderedGravatar wm42014-10-31
| | | | | | | | | For example, if --force-window is used, and video is switched off during playback, then you need to redecide the rendering method to get subs displayed correctly. Do this by moving the state setup code into a function, and call it on every frame.
* osdep: potentially fix compilation on OpenBSDGravatar wm42014-10-31
| | | | | The <pthread_np.h> header expects that <pthread.h> was already included. We were including <pthread.h> only later via our threads.h.
* ao_alsa: don't make snd_pcm_hw_params_set_buffer_time_near() error fatalGravatar wm42014-10-31
| | | | | | | | | | | | | Apparently this can "sometimes" return an error. In my opinion, this should never return an error: neither the semantics of the function, nor the ALSA documentation or ALSA sample code seem to indicate that a failure is to be expected. I'm not perfectly sure about this though (I blame ALSA being a weird, big, underdocumented API). Since it causes problems for some users, and since there is really no reason why we should abort on such an error, turn it into a warning. Fixes #1231.
* player: change framedrop display in the status lineGravatar wm42014-10-31
| | | | | Hopefully less confusing, and hopefully doesn't exceed the terminal width in any situation.
* player: improve exit message in some scenariosGravatar wm42014-10-31
| | | | | | | | | | | | | | If you played e.g. an audio-only file and something bad happened that interrupted playback, the exit message could say "No files played". This was awkward, so show a different message in this case. Also overhaul how the exit status is reported in order to make this easier. This includes things such as not reporting a playback error when loading playlists (playlists contain no video or audio, which was considered an error). Not sure if I'm happy with this, but for now it seems like a slight improvement.
* options: accept --audio-channels=autoGravatar wm42014-10-30
| | | | This sounds much more intuitive, while "empty" was a bit of a WTF.
* demux_lavf, stream_lavf: drop local buffers on time-seeksGravatar wm42014-10-30
| | | | | There was chance that some data was left in various local buffers after time-seeks. Probably doesn't actually matter.
* demux_lavf: mark as seekable if protocol supports seeking by timeGravatar wm42014-10-30
| | | | | | | | | | | | Basically, this will mark the demuxer as seekable with rtmp* and mmsh protocols. These protocols have network-level time seeking, and whether you can seek on the byte level does not matter. Until now, seeking was typically only enabled because of the cache, and a (nonsensical) warning was shown accordingly. It still could happen that the server doesn't actually support thse requests (or simply rejects them), so this is somewhat imperfect.
* demux_playlist: redirect ASF streaming to mmsh://Gravatar wm42014-10-30
| | | | | | | | | | | | I'm not sure if this could be done in libavformat instead. Probably not, because libavformat doesn't seem to have any mechanism for trying one protocol and reverting (or redirecting) to another one if needed. This commit is sort of a hack too, because it redirects the URL by pretending the http:// link is a playlist containing the mmsh:// link. The list of mime types is borrowed from MPlayer (which has completely different code to handle this).
* client API: qthelper: add set_option_variant()Gravatar wm42014-10-30
|
* vo_opengl: draw OSD twice in 3D mode caseGravatar wm42014-10-29
| | | | | | | | | | | | | Apparently this is needed for correct 3D mode subtitles. In general, it seems you need to duplicate the whole "GUI", so it's done for all OSD elements. This doesn't handle the "duplication" of the mouse pointer. Instead, the mouse can be used for the top/left field only. Also, it's possible that we should "compress" the OSD in the direction it's duplicated, but I don't know about that. Fixes #1124, at least partially.
* input: cascade-load input.confGravatar wm42014-10-29
| | | | | If there are several input.confs in the set of valid config paths, load them all.
* demux: fix demux_seek signatureGravatar wm42014-10-29
| | | | Probably doesn't matter much.
* demux: move some seek flag sanitation to generic codeGravatar wm42014-10-29
| | | | No reason why only demux_mkv.c should do this.
* demux_mkv: implement percentage seeking with no indexGravatar wm42014-10-29
| | | | It was implemented only for the case the index exists (pretty useless).
* demux_mkv: export packet file positionGravatar wm42014-10-29
| | | | | This gives us approximate fallback playback percentage position if the duration is unknown.
* player: don't display zero duration for files with unknown durationGravatar wm42014-10-29
| | | | | | On OSD/terminal, just don't display the duration if unavailable. Make the "length" property unavailable if duration is unavailable.
* player: add an option to abort playback on partial init failuresGravatar wm42014-10-28
| | | | | | This is probably what libmpv users want; and it also improves error reporting (or we'd have to add a way to communicate such mid-playback failures as events).
* player: handle DVB demuxer reloading correctlyGravatar wm42014-10-28
| | | | | | | | This was probably done incorrectly in cases when the currently selected channel had no data. I'm not sure if this codepath is functional at all, though. Maybe not. Untested due to lack of DVB hardware.
* client API: better error reportingGravatar wm42014-10-28
| | | | Give somewhat more information on playback failure.
* client API: add an enum for mpv_event_end_file.reasonGravatar wm42014-10-28
| | | | | | | | | Using magic integer values was an attempt to keep the API less verbose. But it was probably not a good idea. Reason 1 (restart) is not made explicit, because it is not used anymore starting with the previous commit. For ABI compatibility, the value is left as a hole in the enum.
* player: handle edition reloading slightly differentlyGravatar wm42014-10-28
| | | | | | | Use the codepath that is normally used for DVD/BD title switching and DVB channel switching. Removes some extra artifacts from the client API: now MPV_EVENT_END_FILE will never be called on reloads (and neither is MPV_EVENT_START_FILE).
* demux: seek to position 0 when loading, instead of restoring itGravatar wm42014-10-28
| | | | | | | | | | This was originally done for DVD/BD/DVB, where the start position could be something different from 0, and seeking back to 0 would mess it up completely. Since we're not quite sure that these streams are unseekable, we can simplify this somewhat, and also make sure we also start at 0 for normal files. Helps a little bit with the following edition reloading commit.
* client API: clarify statement about thread-safetyGravatar wm42014-10-28
| | | | | | | | | The only reason for mpv_wait_event() not being thread-safe is that it returns a pointer to a mpv_event struct member in the mpv_handle context, which in turn is done for ABI-safety (user doesn't allocate or manage the struct), and to avoid the need additional memory management. Some users were interpreting this incorrectly.
* coreaudio: only list output devicesGravatar Stefano Pigozzi2014-10-28
|
* manpage: clarify loadfile append-play modeGravatar wm42014-10-28
| | | | Documents the behavior introduced with the previous commit.
* command: play the correct entry with loadfile ... append-playGravatar Alessandro Ghedini2014-10-27
| | | | | The playlist may be non-empty even if the player is idle. Instead of playing the first entry, play the entry that was just added.
* player: don't spam video-reconfig eventGravatar wm42014-10-27
| | | | | | | | Without --force-window, this is called on every iteration or so, and calling uninit_video_out() sends the video-reconfig event. Avoid sending redundant events. Fixes #1225 (using an alternative patch).
* cocoa: fix small leakGravatar Stefano Pigozzi2014-10-27
|
* libmpv: cocoa: fix view leak on uninitGravatar Stefano Pigozzi2014-10-27
| | | | | The code was lacking a -removeFromSuperview call which resulted in a leak on our part if the parent view in the client was not released.
* libmpv: cocoa: add basic menuGravatar Stefano Pigozzi2014-10-27
|
* command: try 'icy-title' metadata for media-title as wellGravatar Alessandro Ghedini2014-10-27
|
* x11: fix display FPS detection for interlaced modesGravatar wm42014-10-27
| | | | | | | | | In interlaced modes, we output fields, not complete frames, so the framerate doubles. The method to calculate this was borrowed from xrandr code. Hopefully fixes #1224.
* dxva2: use gpu_memcpy with unmatched stridesGravatar James Ross-Gowan2014-10-27
| | | | Like memcpy_pic, this checks if the strides match first.
* command: add audio-device propertyGravatar wm42014-10-27
| | | | Meant for changing the --audio-device at runtime.
* audio: add command/function to reload audio outputGravatar wm42014-10-27
| | | | | Anticipated use: simple solution for dealing with audio APIs which request configuration changes via events.
* dxva2: fix copying surfaces with different strideGravatar James Ross-Gowan2014-10-27
|
* dxva2: fix crash on initialization failureGravatar wm42014-10-26
| | | | If dxva2_init() fails, dxva2_uninit() will be called twice.
* TOOLS/lua/autoload: fix operation outside of working dirGravatar wm42014-10-26
| | | | Fixes #1222. (This commit is based on a patch posted there.)
* TOOLS/lua/autoload: don't shadow local variableGravatar wm42014-10-26
| | | | "dir" is already used somewhere above. This was ok, but not nice.
* manpage: options: various fixesGravatar Alessandro Ghedini2014-10-26
|
* dxva2: gpu_memcpy: fix build for GCC 4.8.3Gravatar James Ross-Gowan2014-10-26
|