X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=mlt%2B%2B%2Fsrc%2FMltFrame.cpp;h=546220d968d607218b22288b80ef208d4d92bd41;hb=6c2ae77c850ec53f67f1d15726e47611c32fd8a1;hp=0595a68ce6864f81d37c848202c6b07bf1e63e71;hpb=96f33fa9a85baf3b53d1a6961a70bb6f123fa11a;p=melted diff --git a/mlt++/src/MltFrame.cpp b/mlt++/src/MltFrame.cpp index 0595a68..546220d 100644 --- a/mlt++/src/MltFrame.cpp +++ b/mlt++/src/MltFrame.cpp @@ -19,24 +19,24 @@ */ #include "MltFrame.h" +#include "MltProducer.h" using namespace Mlt; Frame::Frame( mlt_frame frame ) : - destroy( true ), instance( frame ) { + inc_ref( ); } Frame::Frame( Frame &frame ) : - destroy( false ), instance( frame.get_frame( ) ) { + inc_ref( ); } Frame::~Frame( ) { - if ( destroy ) - mlt_frame_close( instance ); + mlt_frame_close( instance ); } mlt_frame Frame::get_frame( ) @@ -78,4 +78,12 @@ int16_t *Frame::get_audio( mlt_audio_format &format, int &frequency, int &channe return audio; } +unsigned char *Frame::get_waveform( int w, int h ) +{ + return mlt_frame_get_waveform( get_frame( ), w, h ); +} +Producer *Frame::get_original_producer( ) +{ + return new Producer( mlt_frame_get_original_producer( get_frame( ) ) ); +}