gst-gmyth/decodebin2/gstplay-marshal.c
author renatofilho
Wed Aug 01 14:22:14 2007 +0100 (2007-08-01)
branchtrunk
changeset 789 f9cd59844f78
permissions -rw-r--r--
[svn r795] - fixed bug on transcode operation;
- some code clean;
renatofilho@787
     1
#include "gstplay-marshal.h"
renatofilho@787
     2
renatofilho@787
     3
#include	<glib-object.h>
renatofilho@787
     4
renatofilho@787
     5
renatofilho@787
     6
#ifdef G_ENABLE_DEBUG
renatofilho@787
     7
#define g_marshal_value_peek_boolean(v)  g_value_get_boolean (v)
renatofilho@787
     8
#define g_marshal_value_peek_char(v)     g_value_get_char (v)
renatofilho@787
     9
#define g_marshal_value_peek_uchar(v)    g_value_get_uchar (v)
renatofilho@787
    10
#define g_marshal_value_peek_int(v)      g_value_get_int (v)
renatofilho@787
    11
#define g_marshal_value_peek_uint(v)     g_value_get_uint (v)
renatofilho@787
    12
#define g_marshal_value_peek_long(v)     g_value_get_long (v)
renatofilho@787
    13
#define g_marshal_value_peek_ulong(v)    g_value_get_ulong (v)
renatofilho@787
    14
#define g_marshal_value_peek_int64(v)    g_value_get_int64 (v)
renatofilho@787
    15
#define g_marshal_value_peek_uint64(v)   g_value_get_uint64 (v)
renatofilho@787
    16
#define g_marshal_value_peek_enum(v)     g_value_get_enum (v)
renatofilho@787
    17
#define g_marshal_value_peek_flags(v)    g_value_get_flags (v)
renatofilho@787
    18
#define g_marshal_value_peek_float(v)    g_value_get_float (v)
renatofilho@787
    19
#define g_marshal_value_peek_double(v)   g_value_get_double (v)
renatofilho@787
    20
#define g_marshal_value_peek_string(v)   (char*) g_value_get_string (v)
renatofilho@787
    21
#define g_marshal_value_peek_param(v)    g_value_get_param (v)
renatofilho@787
    22
#define g_marshal_value_peek_boxed(v)    g_value_get_boxed (v)
renatofilho@787
    23
#define g_marshal_value_peek_pointer(v)  g_value_get_pointer (v)
renatofilho@787
    24
#define g_marshal_value_peek_object(v)   g_value_get_object (v)
renatofilho@787
    25
#else /* !G_ENABLE_DEBUG */
renatofilho@787
    26
/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.
renatofilho@787
    27
 *          Do not access GValues directly in your code. Instead, use the
renatofilho@787
    28
 *          g_value_get_*() functions
renatofilho@787
    29
 */
renatofilho@787
    30
#define g_marshal_value_peek_boolean(v)  (v)->data[0].v_int
renatofilho@787
    31
#define g_marshal_value_peek_char(v)     (v)->data[0].v_int
renatofilho@787
    32
#define g_marshal_value_peek_uchar(v)    (v)->data[0].v_uint
renatofilho@787
    33
#define g_marshal_value_peek_int(v)      (v)->data[0].v_int
renatofilho@787
    34
#define g_marshal_value_peek_uint(v)     (v)->data[0].v_uint
renatofilho@787
    35
#define g_marshal_value_peek_long(v)     (v)->data[0].v_long
renatofilho@787
    36
#define g_marshal_value_peek_ulong(v)    (v)->data[0].v_ulong
renatofilho@787
    37
#define g_marshal_value_peek_int64(v)    (v)->data[0].v_int64
renatofilho@787
    38
#define g_marshal_value_peek_uint64(v)   (v)->data[0].v_uint64
renatofilho@787
    39
#define g_marshal_value_peek_enum(v)     (v)->data[0].v_long
renatofilho@787
    40
#define g_marshal_value_peek_flags(v)    (v)->data[0].v_ulong
renatofilho@787
    41
#define g_marshal_value_peek_float(v)    (v)->data[0].v_float
renatofilho@787
    42
#define g_marshal_value_peek_double(v)   (v)->data[0].v_double
renatofilho@787
    43
#define g_marshal_value_peek_string(v)   (v)->data[0].v_pointer
renatofilho@787
    44
#define g_marshal_value_peek_param(v)    (v)->data[0].v_pointer
renatofilho@787
    45
#define g_marshal_value_peek_boxed(v)    (v)->data[0].v_pointer
renatofilho@787
    46
#define g_marshal_value_peek_pointer(v)  (v)->data[0].v_pointer
renatofilho@787
    47
#define g_marshal_value_peek_object(v)   (v)->data[0].v_pointer
renatofilho@787
    48
#endif /* !G_ENABLE_DEBUG */
renatofilho@787
    49
renatofilho@787
    50
renatofilho@787
    51
/* BOOLEAN:OBJECT (gstplay-marshal.list:1) */
renatofilho@787
    52
void
renatofilho@787
    53
gst_play_marshal_BOOLEAN__OBJECT (GClosure     *closure,
renatofilho@787
    54
                                  GValue       *return_value,
renatofilho@787
    55
                                  guint         n_param_values,
renatofilho@787
    56
                                  const GValue *param_values,
renatofilho@787
    57
                                  gpointer      invocation_hint,
renatofilho@787
    58
                                  gpointer      marshal_data)
renatofilho@787
    59
{
renatofilho@787
    60
  typedef gboolean (*GMarshalFunc_BOOLEAN__OBJECT) (gpointer     data1,
renatofilho@787
    61
                                                    gpointer     arg_1,
renatofilho@787
    62
                                                    gpointer     data2);
renatofilho@787
    63
  register GMarshalFunc_BOOLEAN__OBJECT callback;
renatofilho@787
    64
  register GCClosure *cc = (GCClosure*) closure;
renatofilho@787
    65
  register gpointer data1, data2;
renatofilho@787
    66
  gboolean v_return;
renatofilho@787
    67
renatofilho@787
    68
  g_return_if_fail (return_value != NULL);
renatofilho@787
    69
  g_return_if_fail (n_param_values == 2);
renatofilho@787
    70
renatofilho@787
    71
  if (G_CCLOSURE_SWAP_DATA (closure))
renatofilho@787
    72
    {
renatofilho@787
    73
      data1 = closure->data;
renatofilho@787
    74
      data2 = g_value_peek_pointer (param_values + 0);
renatofilho@787
    75
    }
renatofilho@787
    76
  else
renatofilho@787
    77
    {
renatofilho@787
    78
      data1 = g_value_peek_pointer (param_values + 0);
renatofilho@787
    79
      data2 = closure->data;
renatofilho@787
    80
    }
renatofilho@787
    81
  callback = (GMarshalFunc_BOOLEAN__OBJECT) (marshal_data ? marshal_data : cc->callback);
renatofilho@787
    82
renatofilho@787
    83
  v_return = callback (data1,
renatofilho@787
    84
                       g_marshal_value_peek_object (param_values + 1),
renatofilho@787
    85
                       data2);
renatofilho@787
    86
renatofilho@787
    87
  g_value_set_boolean (return_value, v_return);
renatofilho@787
    88
}
renatofilho@787
    89
renatofilho@787
    90
/* VOID:OBJECT,BOOLEAN (gstplay-marshal.list:2) */
renatofilho@787
    91
void
renatofilho@787
    92
gst_play_marshal_VOID__OBJECT_BOOLEAN (GClosure     *closure,
renatofilho@787
    93
                                       GValue       *return_value,
renatofilho@787
    94
                                       guint         n_param_values,
renatofilho@787
    95
                                       const GValue *param_values,
renatofilho@787
    96
                                       gpointer      invocation_hint,
renatofilho@787
    97
                                       gpointer      marshal_data)
renatofilho@787
    98
{
renatofilho@787
    99
  typedef void (*GMarshalFunc_VOID__OBJECT_BOOLEAN) (gpointer     data1,
renatofilho@787
   100
                                                     gpointer     arg_1,
renatofilho@787
   101
                                                     gboolean     arg_2,
renatofilho@787
   102
                                                     gpointer     data2);
renatofilho@787
   103
  register GMarshalFunc_VOID__OBJECT_BOOLEAN callback;
renatofilho@787
   104
  register GCClosure *cc = (GCClosure*) closure;
renatofilho@787
   105
  register gpointer data1, data2;
renatofilho@787
   106
renatofilho@787
   107
  g_return_if_fail (n_param_values == 3);
renatofilho@787
   108
renatofilho@787
   109
  if (G_CCLOSURE_SWAP_DATA (closure))
renatofilho@787
   110
    {
renatofilho@787
   111
      data1 = closure->data;
renatofilho@787
   112
      data2 = g_value_peek_pointer (param_values + 0);
renatofilho@787
   113
    }
renatofilho@787
   114
  else
renatofilho@787
   115
    {
renatofilho@787
   116
      data1 = g_value_peek_pointer (param_values + 0);
renatofilho@787
   117
      data2 = closure->data;
renatofilho@787
   118
    }
renatofilho@787
   119
  callback = (GMarshalFunc_VOID__OBJECT_BOOLEAN) (marshal_data ? marshal_data : cc->callback);
renatofilho@787
   120
renatofilho@787
   121
  callback (data1,
renatofilho@787
   122
            g_marshal_value_peek_object (param_values + 1),
renatofilho@787
   123
            g_marshal_value_peek_boolean (param_values + 2),
renatofilho@787
   124
            data2);
renatofilho@787
   125
}
renatofilho@787
   126
renatofilho@787
   127
/* BOOLEAN:OBJECT,POINTER (gstplay-marshal.list:3) */
renatofilho@787
   128
void
renatofilho@787
   129
gst_play_marshal_BOOLEAN__OBJECT_POINTER (GClosure     *closure,
renatofilho@787
   130
                                          GValue       *return_value,
renatofilho@787
   131
                                          guint         n_param_values,
renatofilho@787
   132
                                          const GValue *param_values,
renatofilho@787
   133
                                          gpointer      invocation_hint,
renatofilho@787
   134
                                          gpointer      marshal_data)
renatofilho@787
   135
{
renatofilho@787
   136
  typedef gboolean (*GMarshalFunc_BOOLEAN__OBJECT_POINTER) (gpointer     data1,
renatofilho@787
   137
                                                            gpointer     arg_1,
renatofilho@787
   138
                                                            gpointer     arg_2,
renatofilho@787
   139
                                                            gpointer     data2);
renatofilho@787
   140
  register GMarshalFunc_BOOLEAN__OBJECT_POINTER callback;
renatofilho@787
   141
  register GCClosure *cc = (GCClosure*) closure;
renatofilho@787
   142
  register gpointer data1, data2;
renatofilho@787
   143
  gboolean v_return;
renatofilho@787
   144
renatofilho@787
   145
  g_return_if_fail (return_value != NULL);
renatofilho@787
   146
  g_return_if_fail (n_param_values == 3);
renatofilho@787
   147
renatofilho@787
   148
  if (G_CCLOSURE_SWAP_DATA (closure))
renatofilho@787
   149
    {
renatofilho@787
   150
      data1 = closure->data;
renatofilho@787
   151
      data2 = g_value_peek_pointer (param_values + 0);
renatofilho@787
   152
    }
renatofilho@787
   153
  else
renatofilho@787
   154
    {
renatofilho@787
   155
      data1 = g_value_peek_pointer (param_values + 0);
renatofilho@787
   156
      data2 = closure->data;
renatofilho@787
   157
    }
renatofilho@787
   158
  callback = (GMarshalFunc_BOOLEAN__OBJECT_POINTER) (marshal_data ? marshal_data : cc->callback);
renatofilho@787
   159
renatofilho@787
   160
  v_return = callback (data1,
renatofilho@787
   161
                       g_marshal_value_peek_object (param_values + 1),
renatofilho@787
   162
                       g_marshal_value_peek_pointer (param_values + 2),
renatofilho@787
   163
                       data2);
renatofilho@787
   164
renatofilho@787
   165
  g_value_set_boolean (return_value, v_return);
renatofilho@787
   166
}
renatofilho@787
   167