X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmodules%2Ffezzik%2Fproducer_hold.c;h=08c0247d53d496faae118ae400d66b25a977f7a0;hb=7b0684ebe0975248af674dc5973a959d81f5f4a8;hp=d1fdf08bd33f08fc568f304b7f394b97c729e933;hpb=22048fea8f3365274fc4b1a193bb15d1e482895f;p=melted diff --git a/src/modules/fezzik/producer_hold.c b/src/modules/fezzik/producer_hold.c index d1fdf08..08c0247 100644 --- a/src/modules/fezzik/producer_hold.c +++ b/src/modules/fezzik/producer_hold.c @@ -28,6 +28,7 @@ // Forward references static int producer_get_frame( mlt_producer this, mlt_frame_ptr frame, int index ); +static void producer_close( mlt_producer this ); /** Constructor for the frame holding producer. Basically, all this producer does is provide a producer wrapper for the requested producer, allows the specifcation of @@ -61,6 +62,7 @@ mlt_producer producer_hold_init( char *arg ) // Override the get_frame method this->get_frame = producer_get_frame; + this->close = ( mlt_destructor )producer_close; } else { @@ -187,3 +189,11 @@ static int producer_get_frame( mlt_producer this, mlt_frame_ptr frame, int index return 0; } + +static void producer_close( mlt_producer this ) +{ + this->close = NULL; + mlt_producer_close( this ); + free( this ); +} +