gmyth-stream/gmencoder/src/gmencoder.h
author melunko
Wed Feb 27 11:00:07 2008 +0000 (2008-02-27)
branchtrunk
changeset 931 e8e3219edf5f
parent 898 4fbbacbbca34
permissions -rw-r--r--
[svn r940] Fixed Renato e-mail address in the copyright
renatofilho@898
     1
/* 
renatofilho@898
     2
 *  arch-tag: Header for gmencoder engine
renatofilho@898
     3
 *
melunko@931
     4
 *  Copyright (C) 2007 INdT - Renato Filho <renato.filho@indt.org.br>
renatofilho@898
     5
 *
renatofilho@898
     6
 *  This program is free software; you can redistribute it and/or modify
renatofilho@898
     7
 *  it under the terms of the GNU General Public License as published by
renatofilho@898
     8
 *  the Free Software Foundation; either version 2 of the License, or
renatofilho@898
     9
 *  (at your option) any later version.
renatofilho@898
    10
 *
renatofilho@898
    11
 *  This program is distributed in the hope that it will be useful,
renatofilho@898
    12
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
renatofilho@898
    13
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
renatofilho@898
    14
 *  GNU General Public License for more details.
renatofilho@898
    15
 *
renatofilho@898
    16
 *  You should have received a copy of the GNU General Public License
renatofilho@898
    17
 *  along with this program; if not, write to the Free Software
renatofilho@898
    18
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA.
renatofilho@898
    19
 *
renatofilho@898
    20
 */
renatofilho@898
    21
renatofilho@588
    22
#ifndef __G_MENCODER_H__
renatofilho@588
    23
#define __G_MENCODER_H__
renatofilho@588
    24
renatofilho@588
    25
#include <glib-object.h>
renatofilho@588
    26
renatofilho@752
    27
G_BEGIN_DECLS typedef struct _GMencoder GMencoder;
renatofilho@588
    28
typedef struct _GMencoderClass GMencoderClass;
renatofilho@588
    29
renatofilho@754
    30
struct _GMencoderClass {
renatofilho@754
    31
    GObjectClass    parent_class;
renatofilho@588
    32
};
renatofilho@588
    33
renatofilho@754
    34
struct _GMencoder {
renatofilho@754
    35
    GObject         parent;
renatofilho@588
    36
};
renatofilho@588
    37
renatofilho@754
    38
/*
renatofilho@754
    39
 * TYPE MACROS 
renatofilho@754
    40
 */
renatofilho@588
    41
#define G_TYPE_MENCODER \
renatofilho@588
    42
  (g_mencoder_get_type())
renatofilho@588
    43
#define G_MENCODER(obj) \
renatofilho@588
    44
  (G_TYPE_CHECK_INSTANCE_CAST((obj), G_TYPE_MENCODER, GMencoder))
renatofilho@588
    45
#define G_MENCODER_CLASS(klass) \
renatofilho@588
    46
  (G_TYPE_CHECK_CLASS_CAST((klass), G_TYPE_MENCODER, GMencoderClass))
renatofilho@588
    47
#define G_IS_MENCODER(obj) \
renatofilho@588
    48
  (G_TYPE_CHECK_INSTANCE_TYPE((obj), G_TYPE_MENCODER))
renatofilho@588
    49
#define G_IS_MENCODER_CLASS(klass) \
renatofilho@588
    50
  (G_TYPE_CHECK_CLASS_TYPE((klass), G_TYPE_MENCODER))
renatofilho@588
    51
#define G_MENCODER_GET_CLASS(obj) \
renatofilho@588
    52
  (G_TYPE_INSTANCE_GET_CLASS ((obj), G_TYPE_MENCODER, GMencoderClass))
renatofilho@588
    53
renatofilho@588
    54
renatofilho@754
    55
GType           g_mencoder_get_type(void);
renatofilho@754
    56
GMencoder      *g_mencoder_new(void);
morphbr@748
    57
renatofilho@757
    58
gboolean        g_mencoder_setup_stream(GMencoder * self,
renatofilho@768
    59
					gboolean chunked,
renatofilho@777
    60
					gboolean deinterlace,
renatofilho@754
    61
                                        const gchar * mux_name,
renatofilho@754
    62
                                        const gchar * video_encode,
renatofilho@754
    63
                                        gchar ** video_encode_prop,
renatofilho@754
    64
                                        gdouble video_fps,
renatofilho@754
    65
                                        gdouble video_rate,
renatofilho@754
    66
                                        guint video_width,
renatofilho@754
    67
                                        guint video_height,
renatofilho@754
    68
                                        const gchar * audio_encode,
renatofilho@754
    69
                                        gchar ** audio_encode_prop,
renatofilho@754
    70
                                        guint audio_rate,
renatofilho@754
    71
                                        const gchar * output_uri);
morphbr@748
    72
renatofilho@754
    73
gboolean        g_mencoder_append_uri(GMencoder * self, const gchar * uri);
morphbr@748
    74
renatofilho@754
    75
void            g_mencoder_remove_uri(GMencoder * self, const gchar * uri);
morphbr@748
    76
renatofilho@754
    77
void            g_mencoder_play_stream(GMencoder * self);
renatofilho@754
    78
void            g_mencoder_pause_stream(GMencoder * self);
renatofilho@754
    79
void            g_mencoder_close_stream(GMencoder * self);
renatofilho@588
    80
renatofilho@588
    81
G_END_DECLS
renatofilho@588
    82
#endif