aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* vo_drm: add window screenshots supportGravatar Marcin Kurczewski2015-04-26
|
* ytdl: force "best" format by defaultGravatar wm42015-04-26
| | | | | | | | If the --ytdl-format option is not used, force the "best" format. Do this because youtube-dl is going to change its default format to one that will trigger the (partially broken) DASH support in our own code. Fixes #1867.
* vdpau: always render to cropped size at mostGravatar wm42015-04-26
| | | | | | | | | | | | vo_opengl (or gl_hwdec_vdpau.c to be specific) calls mp_vdpau_mixer_render() with video_rect=NULL, which means to use the full surface. This is incorrect if the surface is actually cropped, as it can happen with h264. In this case, it was rendering the parts outside of the image. Fix it by making this case use the cropped size instead. Alternative fix for PR #1863.
* DOCS/client-api-changes: fix release markerGravatar wm42015-04-25
| | | | | The release was pushed back and now actually happened; the marker became incorrect.
* demux_lavf: drop dead codeGravatar wm42015-04-25
| | | | stream.url can never be NULL, although it probably used to be.
* manpage: move --autosync descriptionGravatar wm42015-04-24
| | | | | | This was in the "Window" section. It has absolutely nothing to do with windows. Move it to the "Miscellaneous" section instead. The "--mc" option, which has a similar function, was already there.
* player: add --window-scale optionGravatar wm42015-04-24
| | | | Requested. Works similar to the property with the same name.
* player: flush decoder even if cover art is decodedGravatar wm42015-04-24
| | | | | | | | | | | | | | | Fixes PNG cover art not showing up immediately (for example when running with --pause). libavformat exports embedded cover art as a single packet. For example, a PNG attachment simply contains the PNG image, which can be sent to the decoder. Normally you would expect that the PNG decoder would return 1 frame for 1 packet, without any delays. But this stopped working, and it incurs a 1 frame delay. This is perfectly legal (even if unexpected), so let our code feed the decoder packets until we get something back. (In theory feeding the packet instead of a real flush packet is still somewhat questionable.)
* player: don't show A/V desync message in non-sense situationsGravatar wm42015-04-24
| | | | | | | last_av_difference can be MP_NOPTS_VALUE under certain circumstances (like no video timestamp yet). This triggered the desync message, because fabs(MP_NOPTS_VALUE) is quite a large value. We don't want to show a message in this situation.
* w32_common: add more rounded-down frame ratesGravatar James Ross-Gowan2015-04-25
| | | | | Suggested by avih. This handles x/1.001 frame rates for all multiples of 24 and 30 under 144.
* w32_common: use the current monitor's refresh rateGravatar James Ross-Gowan2015-04-25
|
* dxva2: fix broken build with gcc 5.1Gravatar Avi Halachmi (:avih)2015-04-24
| | | | | | gpu_mempcy should to be called from code which targets SSE Signed-off-by: wm4 <wm4@nowhere>
* terminal: printf() is not signal-safeGravatar wm42015-04-24
| | | | We shouldn't call it from a signal handler.
* man: fix PDF buildGravatar Martin Herkt2015-04-24
| | | | | | | | | | | | | | The build failed because rst2pdf apparently has problems with page breaks. In this case, the link to the ALSA upmix guide was causing a page break in an admonition block. My guess is that rst2pdf screws up when it can’t fill at least one line of text following a page break, so I worked around this by making that paragraph a little longer. Seems to do the trick. I also shortened the URL using GitHub’s service because it was causing some rather unsightly formatting in the manpage output. Maybe we should just build HTML instead of a PDF.
* DOCS/mplayer-changes: Eleborate on joystick inputGravatar robin007bond2015-04-23
| | | | | | | | | | Since joystick support was removed and is a difference from mplayer, it should be included in the document with the mplayer changes. It will help new users who were using mplayer's joystick support to seek alternatives when switching to mpv. It will also be helpful for people that had problems with the joystick support in mplayer (for example, by incorrectly recognizing other input devices as joystick) to know that those problems won't persist in mpv.
* osc: add nil check for element.eventresponderGravatar wm42015-04-23
| | | | Possibly fixes a crash (see #1101).
* mp_image: remove some unused interlacing flagsGravatar wm42015-04-23
| | | | | | MP_IMGFIELD_TOP/MP_IMGFIELD_BOTTOM were completely unused, and MP_IMGFIELD_ORDERED was always set (even though vf_vdpaupp.c strangely checked for the latter).
* vf_vapoursynth: update _FieldBased semanticsGravatar wm42015-04-23
| | | | These changed in VapourSynth. Also, "_Field" is now unused.
* options: remove unneeded hack from command line parserGravatar wm42015-04-23
| | | | | | | | | | | | | | | This was traditionally needed to silence terminal output from errors during command line parsing preparsing. Preparsing is done so that options controlling the terminal and config files are parsed and applied first, with a second command line parsing pass applying all other options, _and_ printing error messages for the preparsed ones. But the hack silencing log output during the preparse pass is actually not needed anymore, since the terminal is enabled only after preparsing is finished. update_logging() in main.c does this. So as long as update_logging() is called before m_config_preparse_command_line(), this will work.
* manpage: document ff-index sub-propertyGravatar wm42015-04-23
|
* demux_mkv: limit timestamp fixing to 1ms maxGravatar wm42015-04-23
| | | | | And also fix the description. It didn't actually reflect what the code did.
* demux_mkv: attempt to fix rounded timestampsGravatar wm42015-04-23
| | | | | There is some potential for breakage. If it happens, this might have to be disabled by default.
* demux_mkv: move global options to the demuxerGravatar wm42015-04-23
| | | | | | | The options don't change, but they're now declared and used privately by demux_mkv.c. This also brings with it a minor refactor of the subpreroll seek handling - merge the code from playloop.c into demux_mkv.c. The change in demux.c is pretty much equivalent as well.
* demux_mkv: better seeking after video endGravatar wm42015-04-23
| | | | | | | | | | | | | | | | | This change allows forward seeking even if there are no more video keyframes in forward direction. This helps with files that e.g. encode cover art as a single video frame (within a _real_ video stream - ffmpeg seems to like to produce such files). Seeking backwards will still jump to the nearest video frame, so this improvement has limited use. The old code didn't do this because of the logic the min_diff variable followed. Instead of somehow using the timestamp of the last packet read for min_diff, use the first index entry for it. This actually makes it fall back to the first/last index entry as the (removed) comment claims. Note that last_pts is basically random at this point (because the demuxer can be far ahead of playback position), so this didn't make sense in the first place.
* lua: add utils.format_json() functionGravatar wm42015-04-22
| | | | Requested. Why not.
* osc: paint over a crashGravatar wm42015-04-22
| | | | | Sometimes tries to index a nil object when seeking close to the end of the file. See #1101.
* image_writer: fix writing screenshotsGravatar wm42015-04-22
| | | | | It passed the unconverted image to the writer function. Broken since 2469cb5d.
* cache: exit early on cancellationGravatar wm42015-04-21
| | | | | | | An approximate measure to make it exit possibly slightly earlier. Relatively speaking, some time will pass between cancellation and the cache actually being requested to exit, so it's good if the cache returns EOF immediately.
* cache: another minor simplificationGravatar wm42015-04-21
| | | | | | | | The caller can check for cache interruption instead. There's no need to define special return values and such. It would be rather hard to make waiting for the condition and stream cancellation atomic too (and pointless, since the underlying stream will also be "cancelled" and exit early), so nothing about cancellation being a separate call will change.
* cache: simplify the check for printing the "cache stuck" messageGravatar wm42015-04-21
| | | | | | | | | | | | This put some effort into distinguishing between two messages to print - all worthless. Even more so, this kept printing the message, which doesn't feel overly useful either. (The message will be printed repeatedly anyway if network recovers for a while and then gets stuck again.) All in all, the demuxer cache triggering the buffering state does a better job here. But don't remove it completely, since knowing that the network did nothing for a relatively short time is still useful.
* player: do not load encoding config files in non-encoding modeGravatar wm42015-04-21
| | | | | | | | It's annoying and unnecessary. They can be manually loaded if really needed (for things like previewing). Also remove the #if. It was for suppressing warnings, and we don't need to be so careful about this in the relatively obscure encoding mode.
* TOOLS/autoload: load only files that make senseGravatar Marcin Kurczewski2015-04-21
|
* TOOLS/autoload: add blank lines for readabilityGravatar Marcin Kurczewski2015-04-21
|
* command: demuxer-cache-time propertyGravatar xylosper2015-04-21
| | | | | | | | Approximate time of video buffered in the demuxer, in seconds. Same as `demuxer-cache-duration` but returns the last timestamp of bufferred data in demuxer. Signed-off-by: wm4 <wm4@nowhere>
* vo_drm: fix return value for void functionGravatar Marcin Kurczewski2015-04-21
|
* vo_drm: fix coding style to adhere to guidelinesGravatar Marcin Kurczewski2015-04-21
|
* vo_drm: fix releasing VT if received signal twiceGravatar Marcin Kurczewski2015-04-21
| | | | | | If user switched terminals frantically, mpv could get SIGUSR1 twice in a row, which, up until now, resulted in destroying CRTC twice. This caused it to segfault. After this fix, double SIGUSR1 should be ignored.
* vo_drm: add vertical syncGravatar Marcin Kurczewski2015-04-21
|
* player: cleanup update_fps() functionGravatar wm42015-04-20
| | | | | It was called only in 2 places, one of them redundant (the container FPS can not change).
* video: cleanup some old log messagesGravatar wm42015-04-20
| | | | | These are basically MPlayer leftovers, and barely useful due to being redundant with other messages. The FPS message is used somewhere else.
* old-configure: disable HAVE_DRMGravatar wm42015-04-20
|
* client API: add a screenshot_raw commandGravatar wm42015-04-20
| | | | | | | | | Requested. The wild code for setting up the mpv_node probably deserves to be cleaned up later. Fixes #1800.
* client API: add MPV_FORMAT_BYTE_ARRAY typeGravatar wm42015-04-20
| | | | | | | | | | | | This will be used in the following commit, which adds screenshot_raw. The reasoning is that this will be better for binding scripting languages. One could special-case the screenshot_raw commit and define fixed semantics for passing through a pointer using the current API, like formatting a pointer as string. But that would be ridiculous and unclean.
* image_writer: factor image conversion into a separate functionGravatar wm42015-04-20
| | | | Needed for a later commit.
* image_writer: minor cleanupGravatar wm42015-04-20
| | | | Instead of using int like bool, use bool directly.
* client API: add glue for making full use of mpv_command_node()Gravatar wm42015-04-20
| | | | | Until now, the return value was always MPV_FORMAT_NONE. Now a command can actually set it. This will be used in one of the following commits.
* demux: report correct cache state close to EOFGravatar wm42015-04-20
| | | | | | | | | | | | | | | | | | | | | On EOF, this stopped reporting the actual cache duration, and just signalled unknown duration. Fix this and keep reporting whatever is left in the packet queue. This reverts commit 5438a8b3. The commit doesn't give a good explanation as to why it is needed, but I guess it was because the reporting was imperfect (it switched between unknown or 0, and the correct duration). This also removes a line added in commit 848546f2. The line is ds->active = false; The "active" flag basically says that data from this stream is actively needed, and it's used to calculate the minimum data that can actually be played (approximately). If this were ignored, a sparse subtitle stream would set the cache duration to 0s. The commit message adding the line says "actually does nothing, but in theory it's cleaner". Well, screw it.
* vf_vapoursynth: stupid hack to unbreak with recent API changeGravatar wm42015-04-20
| | | | | | | | Vapoursynth made an incompatible API change: clips with unknown length are not supported anymore. In fact, Vapoursynth abort()s the program (which by the way invalidate all of its claims of API/ABI stability). So add some nonsense to make it work again.
* player: change video-bitrate and audio-bitrate propertiesGravatar wm42015-04-20
| | | | | | | | | | | | | | Remove the old implementation for these properties. It was never very good, often returned very innaccurate values or just 0, and was static even if the source was variable bitrate. Replace it with the implementation of "packet-video-bitrate". Mark the "packet-..." properties as deprecated. (The effective difference is different formatting, and returning the raw value in bits instead of kilobits.) Also extend the documentation a little. It appears at least some decoders (sipr?) need the AVCodecContext.bit_rate field set, so this one is still passed through.
* options: don't restrict --hr-seek-demuxer-offsetGravatar wm42015-04-20
| | | | This was limited to 99 for unknown reasons.