renatofilho@588: #ifndef __G_MENCODER_H__
renatofilho@588: #define __G_MENCODER_H__
renatofilho@588: 
renatofilho@588: #include <glib-object.h>
renatofilho@588: 
renatofilho@752: G_BEGIN_DECLS typedef struct _GMencoder GMencoder;
renatofilho@588: typedef struct _GMencoderClass GMencoderClass;
renatofilho@588: 
renatofilho@754: struct _GMencoderClass {
renatofilho@754:     GObjectClass    parent_class;
renatofilho@588: };
renatofilho@588: 
renatofilho@754: struct _GMencoder {
renatofilho@754:     GObject         parent;
renatofilho@588: };
renatofilho@588: 
renatofilho@754: /*
renatofilho@754:  * TYPE MACROS 
renatofilho@754:  */
renatofilho@588: #define G_TYPE_MENCODER \
renatofilho@588:   (g_mencoder_get_type())
renatofilho@588: #define G_MENCODER(obj) \
renatofilho@588:   (G_TYPE_CHECK_INSTANCE_CAST((obj), G_TYPE_MENCODER, GMencoder))
renatofilho@588: #define G_MENCODER_CLASS(klass) \
renatofilho@588:   (G_TYPE_CHECK_CLASS_CAST((klass), G_TYPE_MENCODER, GMencoderClass))
renatofilho@588: #define G_IS_MENCODER(obj) \
renatofilho@588:   (G_TYPE_CHECK_INSTANCE_TYPE((obj), G_TYPE_MENCODER))
renatofilho@588: #define G_IS_MENCODER_CLASS(klass) \
renatofilho@588:   (G_TYPE_CHECK_CLASS_TYPE((klass), G_TYPE_MENCODER))
renatofilho@588: #define G_MENCODER_GET_CLASS(obj) \
renatofilho@588:   (G_TYPE_INSTANCE_GET_CLASS ((obj), G_TYPE_MENCODER, GMencoderClass))
renatofilho@588: 
renatofilho@588: 
renatofilho@754: GType           g_mencoder_get_type(void);
renatofilho@754: GMencoder      *g_mencoder_new(void);
morphbr@748: 
renatofilho@757: gboolean        g_mencoder_setup_stream(GMencoder * self,
renatofilho@768: 					gboolean chunked,
renatofilho@777: 					gboolean deinterlace,
renatofilho@754:                                         const gchar * mux_name,
renatofilho@754:                                         const gchar * video_encode,
renatofilho@754:                                         gchar ** video_encode_prop,
renatofilho@754:                                         gdouble video_fps,
renatofilho@754:                                         gdouble video_rate,
renatofilho@754:                                         guint video_width,
renatofilho@754:                                         guint video_height,
renatofilho@754:                                         const gchar * audio_encode,
renatofilho@754:                                         gchar ** audio_encode_prop,
renatofilho@754:                                         guint audio_rate,
renatofilho@754:                                         const gchar * output_uri);
morphbr@748: 
renatofilho@754: gboolean        g_mencoder_append_uri(GMencoder * self, const gchar * uri);
morphbr@748: 
renatofilho@754: void            g_mencoder_remove_uri(GMencoder * self, const gchar * uri);
morphbr@748: 
renatofilho@754: void            g_mencoder_play_stream(GMencoder * self);
renatofilho@754: void            g_mencoder_pause_stream(GMencoder * self);
renatofilho@754: void            g_mencoder_close_stream(GMencoder * self);
renatofilho@588: 
renatofilho@588: G_END_DECLS
renatofilho@588: #endif