Ticket #1744 (new defect)
SDL out freezes
| Reported by: | rogerdpack | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | avdevice |
| Version: | unspecified | Keywords: | sdl |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
Summary of the bug:
Basically, no matter what you play with SDL out in windows, it plays for a few seconds, then output window stops updating. Console continues playing on though.
How to reproduce:
% ffmpeg version N-44123-g5d55830 Copyright (c) 2000-2012 the FFmpeg developers
built on Sep 2 2012 20:23:29 with gcc 4.7.1 (GCC)
configuration: --enable-gpl --enable-version3 --disable-pthreads --enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libass --enable-libcelt --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 51. 70.100 / 51. 70.100
libavcodec 54. 55.100 / 54. 55.100
libavformat 54. 25.104 / 54. 25.104
libavdevice 54. 2.100 / 54. 2.100
libavfilter 3. 15.102 / 3. 15.102
libswscale 2. 1.101 / 2. 1.101
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
[mpeg2video @ 003ccde0] ac-tex damaged at 40 7
[mpeg2video @ 003ccde0] Warning MVs not available
[mpeg2video @ 003ccde0] concealing 1035 DC, 1035 AC, 1035 MV errors in I frame
[mpeg @ 003cc420] max_analyze_duration 5000000 reached at 5024000
Input #0, mpeg, from '\vids\sintel.mpg':
Duration: 00:14:47.58, start: 0.233367, bitrate: 4132 kb/s
Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x480 [SAR 32:27 DAR 16:9], 7000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x80]: Audio: ac3, 48000 Hz, 5.1(side), s16, 448 kb/s
[sdl @ 040812c0] w:720 h:480 fmt:yuv420p sar:32/27 -> w:720 h:405
Output #0, sdl, to 'yo':
Metadata:
encoder : Lavf54.25.104
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 720x480 [SAR 32:27 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 29.97 tbc
Stream mapping:
Stream #0:0 -> #0:0 (mpeg2video -> rawvideo)
Press [q] to stop, [?] for help
[mpeg2video @ 003ccde0] ac-tex damaged at 40 7
[mpeg2video @ 003ccde0] Warning MVs not available
[mpeg2video @ 003ccde0] concealing 1035 DC, 1035 AC, 1035 MV errors in I frame
frame= 1059 fps= 56 q=0.0 Lsize= 0kB time=00:00:38.77 bitrate= 0.0kbits/s
video:536119kB audio:0kB subtitle:0 global headers:0kB muxing overhead -100.000000%
I think the window is "moving" for some reason, and it's not responding to that. I wonder if the fix is to just integrate with "real" ffplay, but anyway this one reproduces quite easily in windows, just drag the window anywhere and output freezes, basically.
Attachments
Change History
Changed 8 months ago by rogerdpack
-
attachment
sdl_out_window_shifts.mp4
added
comment:1 Changed 8 months ago by cehoyos
I may not understand the issue, but I cannot reproduce anything similar to "plays for a few seconds, then output window stops updating". ffmpeg -f sdl plays as fast as hardware allows here, no freezes.
comment:3 Changed 8 months ago by rogerdpack
seems to reproduce quite readily here (windows 7).
http://ffmpeg.zeranoe.com/builds/win32/static/ffmpeg-20120914-git-8bdba0b-win32-static.7z
ffmpeg-20120914-git-8bdba0b-win32-static\bin\ffmpeg.exe -i sintel.mpg
-f sdl "title"
I wasn't able to reproduce the failure in Linux however...
To encourage the failure moving the window around while it's playing can sometimes cause the problem to appear more quickly, but it usually only takes about 10 seconds without any help.
comment:4 Changed 7 months ago by rogerdpack
some how I missed the original command line. It was basically
$ ffmpeg -i sintel.mpg -f sdl "title"
comment:5 Changed 7 months ago by rogerdpack
Current work around is to pipe from ffmpeg to stdout, to ffplay http://superuser.com/questions/322216/how-can-i-pipe-output-of-ffmpeg-to-ffplay
Though you might be able to use lavfi with dshow as an input to ffplay (I haven't quite got that one going though).



you can see the window location "shifting" at the end, and after that the updates stop