kino/configure: automatically disable on OS X - does not build due to missing headers
[melted] / src / framework / mlt_consumer.h
index f39fd9a..2245704 100644 (file)
@@ -1,7 +1,9 @@
-/*
- * mlt_consumer.h -- abstraction for all consumer services
- * Copyright (C) 2003-2004 Ushodaya Enterprises Limited
- * Author: Charles Yates <charles.yates@pandora.be>
+/**
+ * \file mlt_consumer.h
+ * \brief abstraction for all consumer services
+ *
+ * Copyright (C) 2003-2008 Ushodaya Enterprises Limited
+ * \author Charles Yates <charles.yates@pandora.be>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
 #define _MLT_CONSUMER_H_
 
 #include "mlt_service.h"
+#include "mlt_events.h"
 #include <pthread.h>
 
-/** The interface definition for all consumers.
-*/
+/** \brief Consumer abstract service class
+ *
+ * \extends mlt_service_s
+ */
 
 struct mlt_consumer_s
 {
@@ -53,16 +58,14 @@ struct mlt_consumer_s
        pthread_cond_t put_cond;
        mlt_frame put;
        int put_active;
+       mlt_event event_listener;
 };
 
-/** Public final methods
-*/
-
 #define MLT_CONSUMER_SERVICE( consumer )       ( &( consumer )->parent )
 #define MLT_CONSUMER_PROPERTIES( consumer )    MLT_SERVICE_PROPERTIES( MLT_CONSUMER_SERVICE( consumer ) )
 
-extern int mlt_consumer_init( mlt_consumer self, void *child );
-extern mlt_consumer mlt_consumer_new( );
+extern int mlt_consumer_init( mlt_consumer self, void *child, mlt_profile profile );
+extern mlt_consumer mlt_consumer_new( mlt_profile profile );
 extern mlt_service mlt_consumer_service( mlt_consumer self );
 extern mlt_properties mlt_consumer_properties( mlt_consumer self );
 extern int mlt_consumer_connect( mlt_consumer self, mlt_service producer );
@@ -75,6 +78,5 @@ extern int mlt_consumer_stop( mlt_consumer self );
 extern int mlt_consumer_is_stopped( mlt_consumer self );
 extern void mlt_consumer_stopped( mlt_consumer self );
 extern void mlt_consumer_close( mlt_consumer );
-extern int mlt_consumer_profile( mlt_properties properties, char *profile );
 
 #endif