[Libav-user] debugging to play a .wmv file that throws EOF on first frame
bsenftner at earthlink.net
Tue Jan 10 22:43:15 EET 2017
I have a .wmv file, created from a Windows MovieMaker capture of a USB webcam.
It plays fine in ffplay, vlc, and other media players.
When I try it in my libav based video player, I get AVERROR_EOF on the first frame, first call to av_read_frame().
This same logic plays other media files, USB webcam streams, IP cameras and rtsp streams fine. I’m debugging edge cases after verifying that most media files, USB cams, and URLs play fine.
Note that I AM USING an interrupt_callback - but in the line just above my call to av_read_frame() I set the timeout duration to 10 seconds in the future (for connecting and buffering of rtsp streams.) I also have a breakpoint on the interrupt_callback when it returns 1 (timeout) and that is not happening.
The VLC information about the file reports:
Stream 0 is audio (I’m ignoring audio)
Stream 1 is video
Codec: Windows Media Video 9 (WMV3)
640x480, 29.97 fps, format 4:2:0 YUV
Also while playing this file, the statistics in VLC say no discarded (corrupted) or dropped (discontinued) frames.
When opening the file in my code, after avformat_open_input() and after avformat_find_stream_info(), av_dump_format reports:
"wmv3" Extra data: 8 bits left, value: 0
Input #0, asf, from 'file:C:\Users\bla\bla\bal\Evening.wmv':
WMFSDKNeeded : 0.0.0.0000
DeviceConformanceTemplate: MP at ML
WMFSDKVersion : 12.0.7601.17514
IsVBR : 0
Duration: 00:01:18.68, start: 0.000000, bitrate: 2244 kb/s
Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 640x480, 90k tbr, 90k tbn, 90k tbc
comment : Movie/video screen capture
Stream #0:1(eng): Audio: wmav2 (a / 0x0161), 48000 Hz, 2 channels, fltp, 192 kb/s
Stream #0:2(eng): Video: wmv3 (Main) (WMV3 / 0x33564D57), yuv420p, 640x480, 5500 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc
I guess I could look at the duration and ignore AVERROR_EOF if too early, but that sounds like nonsense…
Any similar experiences out there?
elite code monkey
More information about the Libav-user