#ifndef _MLTPP_CONSUMER_H_
#define _MLTPP_CONSUMER_H_
+#include "config.h"
+
#include <framework/mlt.h>
#include "MltService.h"
namespace Mlt
{
- class Consumer : public Service
- {
- public:
- virtual mlt_consumer get_consumer( ) = 0;
- mlt_service get_service( );
- int connect( Service &service );
- int start( );
- int stop( );
- int is_stopped( );
- };
+ class Service;
+ class Profile;
- class ConsumerInstance : public Consumer
+ class MLTPP_DECLSPEC Consumer : public Service
{
private:
- bool destroy;
mlt_consumer instance;
public:
- mlt_consumer get_consumer( );
- ConsumerInstance( char *id, char *service = NULL );
- ConsumerInstance( Consumer &consumer );
- ConsumerInstance( mlt_consumer consumer );
- virtual ~ConsumerInstance( );
+ Consumer( );
+ Consumer( Profile& profile );
+ Consumer( Profile& profile, const char *id , const char *service = NULL );
+ Consumer( Service &consumer );
+ Consumer( Consumer &consumer );
+ Consumer( mlt_consumer consumer );
+ virtual ~Consumer( );
+ virtual mlt_consumer get_consumer( );
+ mlt_service get_service( );
+ virtual int connect( Service &service );
+ int run( );
+ int start( );
+ void purge( );
+ int stop( );
+ bool is_stopped( );
};
}