]> git.sesse.net Git - mlt/blobdiff - src/framework/mlt_service.h
Filter cleanup and fixes
[mlt] / src / framework / mlt_service.h
index 88b91b5019b1c5d95d685322498f2dfe2127c35f..627bbbeb977d5ee584f4c721f2d59b1ad391d29f 100644 (file)
@@ -14,7 +14,7 @@
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
+ * along with self program; if not, write to the Free Software Foundation,
  * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  */
 
 
 #include "mlt_properties.h"
 
-/** State of a service.
-
-    Note that a service may be dormant even though it's fully connected,
-       providing or consuming.
-*/
-
-typedef enum
-{
-       mlt_state_unknown   = 0,
-       mlt_state_dormant   = 1,
-       mlt_state_connected = 2,
-       mlt_state_providing = 4,
-       mlt_state_consuming = 8
-}
-mlt_service_state;
-
 /** The interface definition for all services.
 */
 
@@ -48,32 +32,26 @@ struct mlt_service_s
        struct mlt_properties_s parent;
 
        // Protected virtual
-       int ( *accepts_input )( mlt_service this );
-       int ( *accepts_output )( mlt_service this );
-       int ( *has_input )( mlt_service this );
-       int ( *has_output )( mlt_service this );
-       int ( *get_frame )( mlt_service this, mlt_frame_ptr frame, int index );
+       int ( *get_frame )( mlt_service self, mlt_frame_ptr frame, int index );
 
        // Private data
-       void *private;
+       void *local;
        void *child;
 };
 
 /** The public API.
 */
 
-extern int mlt_service_init( mlt_service this, void *child );
-extern mlt_properties mlt_service_properties( mlt_service this );
-extern int mlt_service_connect_producer( mlt_service this, mlt_service producer, int index );
-extern mlt_service_state mlt_service_get_state( mlt_service this );
-extern void mlt_service_close( mlt_service this );
+extern int mlt_service_init( mlt_service self, void *child );
+extern int mlt_service_connect_producer( mlt_service self, mlt_service producer, int index );
+extern int mlt_service_get_frame( mlt_service self, mlt_frame_ptr frame, int index );
+extern mlt_properties mlt_service_properties( mlt_service self );
+extern mlt_service mlt_service_consumer( mlt_service self );
+extern mlt_service mlt_service_producer( mlt_service self );
+extern void mlt_service_close( mlt_service self );
 
-extern int mlt_service_accepts_input( mlt_service this );
-extern int mlt_service_accepts_output( mlt_service this );
-extern int mlt_service_has_input( mlt_service this );
-extern int mlt_service_has_output( mlt_service this );
-extern int mlt_service_get_frame( mlt_service this, mlt_frame_ptr frame, int index );
-extern int mlt_service_is_active( mlt_service this );
+// I'm not sure about self one - leaving it out of docs for now (only used in consumer_westley)
+extern mlt_service mlt_service_get_producer( mlt_service self );
 
 #endif