From: Miguel F. <mi...@ce...> - 2003-04-22 12:27:18
|
hi James, On Tue, 2003-04-22 at 07:36, James Stembridge wrote: > On Monday 21 Apr 2003 12:14, Michael Roitzsch wrote: > > Calling draw() after free() is also a bad idea. > > Ok, I guess that is the problem. Though it seems strange that this only causes > trouble with divx5. do you still have trouble? i can't reproduce it here with any divx5 files i have. > This is a major problem when it comes to supporting ffmpeg's direct rendering, > as release_buffer (which in turn calls img->free()) is called during > avcodec_decode_video, which obviously must precede the call to img->draw(). they must not be calling release_buffer to the same frame that is going to be draw, i don't think this make any sense. ffmpeg is probably releasing old buffers that have being displayed already. also notice that our approach is quite naive: we set age of all frames as "new" and therefore we avoid the trouble of drawing the same buffer twice (that wouldn't be possible in xine because of the output fifo but can be used in mplayer) regards, Miguel ps: if anybody has streams that used to work before DR1 please send me an URL. |