#include <stdlib.h>
#include <sys/time.h>
+static void mlt_consumer_frame_show( mlt_listener listener, mlt_properties owner, mlt_service this, void **args );
+
/** Public final methods
*/
// Hmm - default all consumers to yuv422 :-/
this->format = mlt_image_yuv422;
+
+ mlt_events_register( properties, "consumer-frame-show", ( mlt_transmitter )mlt_consumer_frame_show );
+ mlt_events_register( properties, "consumer-stopped", NULL );
}
return error;
}
+static void mlt_consumer_frame_show( mlt_listener listener, mlt_properties owner, mlt_service this, void **args )
+{
+ if ( listener != NULL )
+ listener( owner, this, ( mlt_frame )args[ 0 ] );
+}
+
/** Create a new consumer.
*/
return frame;
}
+/** Callback for the implementation to indicate a stopped condition.
+*/
+
+void mlt_consumer_stopped( mlt_consumer this )
+{
+ mlt_properties_set_int( mlt_consumer_properties( this ), "running", 0 );
+ mlt_events_fire( mlt_consumer_properties( this ), "consumer-stopped", NULL );
+}
+
/** Stop the consumer.
*/