#include "MltConsumer.h"
using namespace Mlt;
-mlt_service Consumer::get_service( )
+Consumer::Consumer( char *id, char *service ) :
+ destroy( true ),
+ instance( NULL )
{
- return mlt_consumer_service( get_consumer( ) );
+ instance = mlt_factory_consumer( id, service );
}
-int Consumer::connect( Service &service )
+Consumer::Consumer( Consumer &consumer ) :
+ destroy( false ),
+ instance( consumer.get_consumer( ) )
{
- return mlt_consumer_connect( get_consumer( ), service.get_service( ) );
}
-int Consumer::start( )
+Consumer::Consumer( mlt_consumer consumer ) :
+ destroy( false ),
+ instance( consumer )
{
- return mlt_consumer_start( get_consumer( ) );
}
-int Consumer::stop( )
+Consumer::~Consumer( )
{
- return mlt_consumer_stop( get_consumer( ) );
+ if ( destroy )
+ {
+ stop( );
+ mlt_consumer_close( instance );
+ }
}
-int Consumer::is_stopped( )
+mlt_consumer Consumer::get_consumer( )
{
- return mlt_consumer_is_stopped( get_consumer( ) );
+ return instance;
}
-mlt_consumer ConsumerInstance::get_consumer( )
+mlt_service Consumer::get_service( )
{
- return instance;
+ return mlt_consumer_service( get_consumer( ) );
}
-ConsumerInstance::ConsumerInstance( char *id, char *service ) :
- destroy( true ),
- instance( NULL )
+int Consumer::connect( Service &service )
{
- instance = mlt_factory_consumer( id, service );
+ return connect_producer( service );
}
-ConsumerInstance::ConsumerInstance( Consumer &consumer ) :
- destroy( false ),
- instance( consumer.get_consumer( ) )
+int Consumer::start( )
+{
+ return mlt_consumer_start( get_consumer( ) );
+}
+
+void Consumer::purge( )
{
+ mlt_consumer_purge( get_consumer( ) );
}
-ConsumerInstance::ConsumerInstance( mlt_consumer consumer ) :
- destroy( false ),
- instance( consumer )
+int Consumer::stop( )
{
+ return mlt_consumer_stop( get_consumer( ) );
}
-ConsumerInstance::~ConsumerInstance( )
+bool Consumer::is_stopped( )
{
- if ( destroy )
- mlt_consumer_close( instance );
+ return mlt_consumer_is_stopped( get_consumer( ) ) != 0;
}