[MPlayer-dev-eng] [PATCH] fix failure to initialize screenshot filter

Thomas Kirsten Tho_Ki at gmx.de
Wed Jun 29 12:26:28 CEST 2016


Hello,

ffmpeg recently extended the verification logic in avcodec_open2, see
https://github.com/FFmpeg/FFmpeg/commit/e62ff72fc1052273deb708ba715f73e5187281d4

The function now fails when timebase (in AVCodecContext) is not set
properly. This essentially disables the screenshot filter as it does not
set those members and therefor its PNG output context fails to initialize.

When run as "mplayer -vf screenshot file", it prints those errors during
the start:

[png @ 0x81101000]The encoder timebase is not set.
Could not open libavcodec PNG encoder
FATAL: Cannot initialize video driver.

The first one is from the new ffmpeg code, the others are from
libmpcodecs/vf_screenshot.c. Pressing the screenshot button makes the
program crash in "write_png" in the libmpcodecs/vf_screenshot.c.

The patch sets the timebase field in libmpcodecs/vf_screenshot.c to 1/1
(documentation states it should be 1/framerate, but a single screenshot
doesn't have a framerate). It satisfies the new check in ffmpeg, the
filter is initialized and making the screenshot works fine.

I'm not sure whether the value 1/1 for the timebase is correct, someone
knowing about avcodec_open2 should approve this.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mplayer-vf-screenshot-avcodec_open2-fix.patch
Type: application/octet-stream
Size: 680 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20160629/dcb73b22/attachment.obj>


More information about the MPlayer-dev-eng mailing list