Merge ../mlt
[melted] / mlt++ / src / MltConsumer.h
index 37af2eb..04948e8 100644 (file)
 #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( );
        };
 }