X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=mlt%2B%2B%2Fsrc%2FMltFrame.h;h=9d564ab816a56b364d4cbdbbeddba3e607b11cc0;hb=f4963a6aa07644399b273b5d2b1f9299c9047414;hp=0b057a5d7c77528ae3064b1e32289208632f9fcc;hpb=01c1d44e8df201c3061cf20addf5421d21d8bcb0;p=melted diff --git a/mlt++/src/MltFrame.h b/mlt++/src/MltFrame.h index 0b057a5..9d564ab 100644 --- a/mlt++/src/MltFrame.h +++ b/mlt++/src/MltFrame.h @@ -21,30 +21,31 @@ #ifndef _MLTPP_FRAME_H_ #define _MLTPP_FRAME_H_ +#include "config.h" + #include #include "MltProperties.h" namespace Mlt { - class Frame : public Properties + class Properties; + class Producer; + + class MLTPP_DECLSPEC Frame : public Properties { + private: + mlt_frame instance; public: - virtual mlt_frame get_frame( ) = 0; + Frame( mlt_frame frame ); + Frame( Frame &frame ); + virtual ~Frame( ); + virtual mlt_frame get_frame( ); mlt_properties get_properties( ); uint8_t *get_image( mlt_image_format &format, int &w, int &h, int writable = 0 ); + unsigned char *fetch_image( mlt_image_format format, int w, int h, int writable = 0 ); int16_t *get_audio( mlt_audio_format &format, int &frequency, int &channels, int &samples ); - }; - - class FrameInstance : public Frame - { - private: - bool destroy; - mlt_frame instance; - public: - mlt_frame get_frame( ); - FrameInstance( mlt_frame frame ); - FrameInstance( Frame &frame ); - virtual ~FrameInstance( ); + unsigned char *get_waveform( int w, int h ); + Producer *get_original_producer( ); }; }