Some more information about my somewhat special case : 1) the number of buffers is unknown at first, it depends of the complexity of the video stream. 2) i'm not sure about how the last decoded buffer is selected, maybe the algorithm is more complex than just : buffer_idx = ((last_buffer_idx + 1) % nb_buffers) Regards,
-- Lionel Le lundi 26 octobre 2009 à 15:10 +0100, Niels Roest a écrit : > Thought about this scenario too occasionally, but not sure how to do > this best. > If you have a fixed number of buffers, it might be easier to change the > layer buffering to n-buffer, and to getsurface/buffer and pass this to > the video provider; in this way, a "flip" will display the new buffer > once decoding is done. > > thoughts anyone? > > Lionel Landwerlin wrote: > > Hi, > > > > I'm currently working with STx710x chips from ST microelectronic. > > Usually on thoses chips the video decoding buffer (in fact there is > > usally a set of buffer) is represented as a displaylayer. This allow a > > quick processing of a new decoded frame, because it only requires to > > update the buffer in the mixer setup (under interruption) to get the new > > frame displayed on screen. So there no processing to be done by the > > application. > > > > I wonder if it would be possible to add a SetSurface on the > > IDirectFBDisplayLayer interface to reflect these possibility. > > > > So to display a video on a display layer, things would go like this : > > > > dfb->CreateVideoProvider(dfb, "file.avi", &dfb_video_provider); > > dfb->GetDisplayLayer(dfb, 1, &dfb_layer); > > > > dfb_video_provider->GetSurface(dfb_video_provider, &video_surface); > > dfb_layer->SetSurface(dfb_layer, video_surface); > > > > Maybe this is not the best solution, but I'm open to suggestions. > > > > Thanks for your feedback, > > > > > > > > _______________________________________________ directfb-dev mailing list directfb-dev@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev