From: Michael R. <mr...@us...> - 2004-12-09 14:21:56
|
Hi, > > > the thing with disposing a video driver is that we must make sure > > > their frames are no longer been used. for example, if i pause the > > > playback of an mpeg stream with XV, i can safely rewire it to the > > > "none" VO. but the frames held inside decoder still belong to XV, > > > therefore it cannot be disposed. > > > > Is there really a problem here? The disposal should just block until all > > frames have returned. (see xine-lib/src/xine-engine/video_out.c, line > > 1478f) > > Michael, i guess this function does release only frames on > free_img_buf_queue and display_img_buf_queue. frames currently held by > decoders (or post plugins) are not disposed, right? True. So the blocking is the actual problem. My point is that the video out can never be disposed as long as its frames are still in use, because the disposal would block. As a result of that, it might never get disposed... Michael -- panic("mother..."); 2.2.16 /usr/src/linux/drivers/block/cpqarray.c |