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 - Hardware accelerated graphics |
| http://www.directfb.org/                 |
"------------------------------------------"
_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to