renatofilho@898: /* renatofilho@898: * arch-tag: Header for gmencoder engine renatofilho@898: * renatofilho@898: * Copyright (C) 2007 INdT - Renato Filho renatofilho@898: * renatofilho@898: * This program is free software; you can redistribute it and/or modify renatofilho@898: * it under the terms of the GNU General Public License as published by renatofilho@898: * the Free Software Foundation; either version 2 of the License, or renatofilho@898: * (at your option) any later version. renatofilho@898: * renatofilho@898: * This program is distributed in the hope that it will be useful, renatofilho@898: * but WITHOUT ANY WARRANTY; without even the implied warranty of renatofilho@898: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the renatofilho@898: * GNU General Public License for more details. renatofilho@898: * renatofilho@898: * You should have received a copy of the GNU General Public License renatofilho@898: * along with this program; if not, write to the Free Software renatofilho@898: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. renatofilho@898: * renatofilho@898: */ renatofilho@898: renatofilho@588: #ifndef __G_MENCODER_H__ renatofilho@588: #define __G_MENCODER_H__ renatofilho@588: renatofilho@588: #include 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