Gnash
0.8.11dev
|
Abstract base class for embedded video decoders. More...
#include <VideoDecoder.h>
Public Member Functions | |
virtual | ~VideoDecoder () |
virtual void | push (const EncodedVideoFrame &buffer)=0 |
Push an encoded video frame into the decoder. More... | |
virtual std::unique_ptr< image::GnashImage > | pop ()=0 |
Pop a decoded frame from the decoder. THIS METHOD MAY BLOCK. More... | |
virtual bool | peek ()=0 |
Check whether a decoded frame is ready to be popped. More... | |
virtual int | width () const =0 |
Get the width in pixels of the Video. More... | |
virtual int | height () const =0 |
Get the height in pixels of the Video. More... | |
Abstract base class for embedded video decoders.
This very simple design allows, but does not require, the use of threads in an implementation. A user of this class push a frame into the decoder and can subsequently pop a decoded frame. Since the pop() call may block, it is advisable to first call peek() to see if there is a frame ready to be popped.
|
pure virtual |
Get the height in pixels of the Video.
Implemented in gnash::media::gst::VideoDecoderGst, gnash::media::ffmpeg::VideoDecoderFfmpeg, and gnash::media::haiku::VideoDecoderHaiku.
|
pure virtual |
Check whether a decoded frame is ready to be popped.
This method will never block.
Implemented in gnash::media::gst::VideoDecoderGst, gnash::media::ffmpeg::VideoDecoderFfmpeg, and gnash::media::haiku::VideoDecoderHaiku.
|
pure virtual |
Pop a decoded frame from the decoder. THIS METHOD MAY BLOCK.
Implemented in gnash::media::gst::VideoDecoderGst, gnash::media::ffmpeg::VideoDecoderFfmpeg, and gnash::media::haiku::VideoDecoderHaiku.
|
pure virtual |
Push an encoded video frame into the decoder.
buffer | the video frame to decode |
Implemented in gnash::media::gst::VideoDecoderGst, gnash::media::ffmpeg::VideoDecoderFfmpeg, and gnash::media::haiku::VideoDecoderHaiku.
Referenced by gnash::Video::display().
|
pure virtual |
Get the width in pixels of the Video.
Implemented in gnash::media::gst::VideoDecoderGst, gnash::media::ffmpeg::VideoDecoderFfmpeg, and gnash::media::haiku::VideoDecoderHaiku.