X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmodules%2Fqimage%2Fproducer_qimage.c;h=9c1ead8cad8524ac8f98a7d3a6d5ea597aeecb8f;hb=70933f360aa7d16e5140267ce2f716de924464c7;hp=302bca0cfdf43f45463a67a7c28419fc92e529ab;hpb=399e3ce12bafdf1e2668d69ad839f0ef4c686739;p=melted diff --git a/src/modules/qimage/producer_qimage.c b/src/modules/qimage/producer_qimage.c index 302bca0..9c1ead8 100644 --- a/src/modules/qimage/producer_qimage.c +++ b/src/modules/qimage/producer_qimage.c @@ -21,7 +21,7 @@ * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include "producer_qimage.h" +#include #include "qimage_wrapper.h" #include @@ -35,7 +35,7 @@ static int producer_get_frame( mlt_producer parent, mlt_frame_ptr frame, int index ); static void producer_close( mlt_producer parent ); -mlt_producer producer_qimage_init( char *filename ) +mlt_producer producer_qimage_init( mlt_profile profile, mlt_service_type type, const char *id, char *filename ) { producer_qimage this = calloc( sizeof( struct producer_qimage_s ), 1 ); if ( this != NULL && mlt_producer_init( &this->parent, this ) == 0 ) @@ -46,7 +46,9 @@ mlt_producer producer_qimage_init( char *filename ) mlt_properties properties = MLT_PRODUCER_PROPERTIES( &this->parent ); // Callback registration +#ifdef USE_KDE init_qimage(); +#endif producer->get_frame = producer_get_frame; producer->close = ( mlt_destructor )producer_close; @@ -210,7 +212,7 @@ static int producer_get_frame( mlt_producer producer, mlt_frame_ptr frame, int i if ( stat( full, &buf ) == 0 ) { sprintf( key, "%d", keyvalue ++ ); - mlt_properties_set( this->filenames, "0", full ); + mlt_properties_set( this->filenames, key, full ); gap = 0; } else @@ -241,7 +243,7 @@ static int producer_get_frame( mlt_producer producer, mlt_frame_ptr frame, int i } // Generate a frame - *frame = mlt_frame_init( ); + *frame = mlt_frame_init( MLT_PRODUCER_SERVICE( producer ) ); if ( *frame != NULL && this->count > 0 ) { @@ -281,6 +283,8 @@ static void producer_close( mlt_producer parent ) { producer_qimage this = parent->child; parent->close = NULL; + mlt_pool_release( this->current_image ); + mlt_pool_release( this->current_alpha ); mlt_producer_close( parent ); mlt_properties_close( this->filenames ); free( this );