*/
#include "MltFrame.h"
+#include "MltProducer.h"
using namespace Mlt;
Frame::Frame( mlt_frame frame ) :
instance( frame )
{
+ inc_ref( );
}
Frame::Frame( Frame &frame ) :
+ Mlt::Properties( frame ),
instance( frame.get_frame( ) )
{
inc_ref( );
uint8_t *Frame::get_image( mlt_image_format &format, int &w, int &h, int writable )
{
uint8_t *image = NULL;
- if ( mlt_properties_get_int( get_properties( ), "consumer_aspect_ratio" ) == 0 )
- mlt_properties_set_int( get_properties( ), "consumer_aspect_ratio", 1 );
+ if ( get_double( "consumer_aspect_ratio" ) == 0.0 )
+ set( "consumer_aspect_ratio", 1.0 );
mlt_frame_get_image( get_frame( ), &image, &format, &w, &h, writable );
set( "format", format );
set( "writable", writable );
unsigned char *Frame::fetch_image( mlt_image_format f, int w, int h, int writable )
{
uint8_t *image = NULL;
- if ( mlt_properties_get_int( get_properties( ), "consumer_aspect_ratio" ) == 0 )
- mlt_properties_set_int( get_properties( ), "consumer_aspect_ratio", 1 );
+ if ( get_double( "consumer_aspect_ratio" ) == 0.0 )
+ set( "consumer_aspect_ratio", 1.0 );
mlt_frame_get_image( get_frame( ), &image, &f, &w, &h, writable );
set( "format", f );
set( "writable", writable );
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( ) ) );
+}