aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* demux: fix rar support for files containing DTS audio tracksGravatar wm42015-03-24
| | | | | | | | | | | | | | | | | With a recent cleanup, rar support was stuffed into demux_playlist.c (because "opening" rar files pretty much just lists archive contents and adds them to a playlist using a special rar:// protocol, which will actually access the rar file contents). Since demux_playlist.c is probed _after_ demux_lavf.c (and should/must be), libavformat was given the chance to detect DTS streams embedded within the rar file. This is not really what we want, and a regression what happened before rar listing was moved to demux_playlist.c. Fix it by moving the rar listing into its own pseudo-demuxer, and let ir probe before demux_lavf.c. (Yes, this feature still has users.)
* input: remove Linux joystick supportGravatar wm42015-03-24
| | | | | | | | | | | Why did this exist in the first place? Other than being completely useless, this even caused some regressions in the past. For example, there was the case of a laptop exposing its accelerometer as joystick device, which led to extremely fun things due to the default mappings of axis movement being mapped to seeking. I suppose those who really want to use their joystick to control a media player (???) can configure it as mouse device or so.
* input: remove classic LIRC supportGravatar wm42015-03-24
| | | | It's much easier to configure remotes as X11 input devices.
* audio: remove internal libmpg123 wrapperGravatar wm42015-03-24
| | | | | | | We've been prefering the libavcodec mp3 decoder for half a year now. There is likely no benefit at all for using the libmpg123 one. It's just a maintenance burden, and tricks users into thinking it's a required dependency.
* demux_lavf: print seek failures in verbose modeGravatar wm42015-03-24
| | | | | Don't bother with making these visible by default, because often they are bogus and/or useless.
* audio: increase maximum amount of audio skipped for seekingGravatar wm42015-03-24
| | | | | | | | | | | Precise seeking requires skipping audio, since the demuxer usually doesn't seek precisely enough. There is a sanity check that prevents skipping more than 300 seconds of audio. This still fails with very large mp3s. For example, with a 1GB sized mp3 with Xing headers, entries will be 4 MB apart on average, and occasionally much more. Just bump the limit. I'm not even sure why it was added in the first place; I suppose it's most important for files with real PTS resets.
* subprocess-win: clarify argument escaping logicGravatar James Ross-Gowan2015-03-24
| | | | This bit always seemed confusing to me.
* subprocess-win: handle empty arguments correctlyGravatar James Ross-Gowan2015-03-24
|
* vo_wayland: fix null dereferenceGravatar Jari Vetoniemi2015-03-23
| | | | | If compositor sends configure event before back_buffer is allocated, it will cause null dereference.
* vo_opengl: do not block on waylandGravatar Jari Vetoniemi2015-03-23
| | | | | | | | | When not receiving frame callbacks, we should not draw anything to avoid blocking the OpenGL renderer. We do this by extending gl context api, by introducing new optional function 'is_active', that indicates whether OpenGL renderers should draw or not. This fixes issue #249.
* vo_wayland: define opaque regionGravatar Jari Vetoniemi2015-03-23
| | | | | This allows compositor to optimize rendering, as it will know mpv is not transparent.
* vo_wayland: share frame callbacks.Gravatar Jari Vetoniemi2015-03-23
| | | | | | | | Define frame callback logic in wayland_common.c As this should be used by opengl renderer as well. Preferably drawing should be skipped entierly when no frame callbacks are received. However, for now only swap buffers is skipped.
* TOOLS: add a lua scripts for extracting and setting starttime with ytdlGravatar Patrick Hipp2015-03-23
| | | | Signed-off-by: wm4 <wm4@nowhere>
* TOOLS: add a lua script for a -stay on top only during playback- modeGravatar Patrick Hipp2015-03-23
| | | | Signed-off-by: wm4 <wm4@nowhere>
* audio: prefer libdcadec by default if presentGravatar wm42015-03-23
| | | | | If you enable this library in FFmpeg, you probably really want it to be used.
* mp_image: reject 0-sized imagesGravatar wm42015-03-23
| | | | | | Like FFmpeg/Libav do. It seems not all code can actually deal with this situation, so it's better to shift the special-cases to code which needs it (possibly OSD code; screenshots of 0x0 windows would just fail).
* vo_opengl: fix XYZ input gammaGravatar Niklas Haas2015-03-23
| | | | | This seems to have been a mistranslation from the original code, which multiplied the gamma by 2.6 (*not* the color itself).
* demux_mkv_timeline: don't continue if reopening file failedGravatar wm42015-03-23
| | | | | Could theoretically dereference "d" later in the loop. It's on an error codepath, so just give up.
* m_option: remove dead initializationGravatar wm42015-03-23
|
* vo_vdpau: remove some minor code duplicationGravatar wm42015-03-23
| | | | | The way-too-big API call for clearing the screen can be easily shared between two completely different codepaths.
* vo_vdpau: check vdpau API return valueGravatar wm42015-03-23
|
* vdpau: remove dead assignmentGravatar wm42015-03-23
| | | | | | I guess we don't really care whether this particular function succeeds. If it fails, it must be completely broken anyway and it would not matter much to us.
* client API: remove dead assignmentGravatar wm42015-03-23
| | | | | Probably a leftover from an earlier refactoring. Now data is always in the format MPV_FORMAT_NODE.
* vo_opengl: remove dead assignmentGravatar wm42015-03-23
|
* ta: memcpy(ptr, NULL, 0) is undefinedGravatar wm42015-03-23
|
* m_property: memcpy(ptr, NULL, 0) is undefinedGravatar wm42015-03-23
|
* video: use less technical language for PTS warningGravatar wm42015-03-23
| | | | | | | "Non-monotonic" isn't even 100% correct; it's missing "strictly" (for briefness I guess), and also the message is printed if the PTS jumps forward. So just print something that is likely a bit easier to understand.
* encode: make --audio-channels=auto workGravatar wm42015-03-23
| | | | Basically requested. Not that anyone cares.
* manpage: ipc: make requirements for newlines more explicitGravatar wm42015-03-23
| | | | Clarifying because someone asked.
* video: fix update of vo-configured propertyGravatar wm42015-03-23
| | | | It obviously needs to be updated after the VO was destroyed.
* vo_opengl_cb: don't render OSD while VO is not createdGravatar wm42015-03-23
| | | | | | | | | | | Unlike other VOs, this rendered OSD even while no VO was created (because the renderer lives as long as the API user wants). Change this, and refactor the code so that the OSD object is accessible only while the VO is created. (There is a short time where the OSD can still be accessed even after VO destruction - this is not a race condition, though it's inelegant and unfortunately unavoidable.)
* vo_opengl: move OSD rendering to separate functionGravatar wm42015-03-23
| | | | | Also reindent the few lines that call into the actual renderer to remove the "draw_osd" goto.
* command: use mp_set_playlist_entryGravatar Sai Ke WANG2015-03-22
| | | | Signed-off-by: wm4 <wm4@nowhere>
* vo_opengl: fix video equalizer gamma controlsGravatar wm42015-03-22
| | | | It was ignored.
* af_bs2b: fix option default valueGravatar wm42015-03-22
| | | | | | | | | --af=bs2b:help abort()ed because the default value of the "profile" option is not represented by any choice. Fix it by adding an "unset" choice. (It's a bit odd because there's already a "default" choice, which is not default, but I don't care enough about this filter.) Fixes #1712.
* vo_opengl: fix background color optionGravatar wm42015-03-21
| | | | | | gl_video_set_options() didn't update it, so the default value set on initialization was used. Fix by always setting the clear color before the clear command; it's slightly easier to follow too.
* vo_opengl: fix bicubic_fast scalerGravatar wm42015-03-21
|
* vd_lavc: less confusing message when hardware decoding won't workGravatar wm42015-03-20
| | | | | | Codecs for hardware acceleration are not blacklisted, but whitelisted. Also, if this emssage is printed, the codec might not have any hardware acceleration support in the first place.
* demux_lavf: assume h264/hevc raw streams have no timestampsGravatar wm42015-03-20
| | | | | There are obscure methods to add timestamps to such streams, but assume they're unused.
* player: better handling of video with no timestampsGravatar wm42015-03-20
| | | | | | | | | | | Trying to handle such video is almost worthless, but it was requested by at least 2 users. If there are no timestamps, enable byte seeking by setting ts_resets_possible. Use the video FPS (wherever it comes from) and the audio samplerate for timing. The latter was already done by making the first packet emit DTS=0; remove this again and do it "properly" in a higher level.
* vo_xv: remove pointless castGravatar wm42015-03-20
|
* vf_expand: fix memory leak on memory allocation failureGravatar wm42015-03-20
| | | | Isn't it ironic.
* player: fix seekability testGravatar wm42015-03-20
| | | | | Commit 39ed9b7d9 got this wrong, because these shitty flags are so goddamn confusing.
* mp_image: do not assume trailing stride padding existsGravatar wm42015-03-20
| | | | | | | | | | | | Normally, the size of an mage plane is assumed to be stride*height. But in theory, if stride is larger than width*bpp, the last line might not be padded, simply because it's not necessary. FFmpeg's or mpv's image allocators always guarantee that this padding exists (it wastes some insignificant memory for avoiding such subtle issues), but some other libraries might not. I suspect one such case might be Xv via vo_xv (see #1698), although my X server appears to provide full padding. In any case, it can't harm.
* video: uninline memcpy_pic functionsGravatar wm42015-03-20
| | | | | | | | | There's literally no reason why these functions have to be inline (they might be performance critical, but then the function call overhead isn't going to matter at all). Uninline them and move them to mp_image.c. Drop the header file and fix all uses of it.
* video: replace pointless macroGravatar wm42015-03-20
| | | | Some old absurdity.
* mp_image: remove unneeded thingsGravatar wm42015-03-20
| | | | (But I'd really prefer removing our own refcounting mechanism fully.)
* manpage: remove "experimental" notice from dxva2 codeGravatar wm42015-03-19
| | | | | | | It's relatively stable now. Also fix a typo in an unrelated place (better not waste commits on typos).
* stream_lavf: workaround broken rtmp "timeout" optionGravatar wm42015-03-19
| | | | | | | | | | The libavformat rtmp protocol's "timeout" option has two problems: 1) Unlike all other protocols, it's in seconds and not microseconds 2) It enables "listen" mode, which breaks playback Make the --network-timeout do nothing in the rtmp case. Fixes #1704.
* player: warn against non-monotonic video PTS only onceGravatar wm42015-03-18
| | | | | | | | For some reason there were two points in the code where it warned against non-monotonic video PTS. The one in video.c triggered on PTS going backwards or making large jumps forwards, while dec_video.c triggered on PTS going backwards or PTS not changing. Merge them into a single check, which warns against all cases.