Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef GNASH_VIDEODECODER_H
00021 #define GNASH_VIDEODECODER_H
00022
00023 #include "GnashImage.h"
00024
00025 #include <boost/noncopyable.hpp>
00026
00027
00028 namespace gnash {
00029 namespace media {
00030 class EncodedVideoFrame;
00031 }
00032 }
00033
00034 namespace gnash {
00035 namespace media {
00036
00038
00045 class VideoDecoder : public boost::noncopyable {
00046
00047 public:
00048 virtual ~VideoDecoder()
00049 {
00050 }
00051
00053
00056 virtual void push(const EncodedVideoFrame& buffer) = 0;
00057
00059
00062 virtual std::auto_ptr<GnashImage> pop() = 0;
00063
00066
00071 virtual bool peek() = 0;
00072
00074
00077 virtual int width() const = 0;
00078
00080
00083 virtual int height() const = 0;
00084
00085 };
00086
00087
00088 }
00089 }
00090
00091 #endif // __VIDEODECODER_H__