~ubuntu-branches/ubuntu/trusty/rygel/trusty

« back to all changes in this revision

Viewing changes to src/rygel/rygel-wmv-transcoder-bin.c

  • Committer: Package Import Robot
  • Author(s): Andreas Henriksson
  • Date: 2011-12-16 15:21:25 UTC
  • mfrom: (14.1.2 sid)
  • Revision ID: package-import@ubuntu.com-20111216152125-qgn31dkfmhouhrf0
Upload to unstable

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* rygel-wmv-transcoder-bin.c generated by valac 0.14.1, the Vala compiler
 
2
 * generated from rygel-wmv-transcoder-bin.vala, do not modify */
 
3
 
 
4
/*
 
5
 * Copyright (C) 2009 Jens Georg <mail@jensge.org>.
 
6
 *
 
7
 * Author: Jens Georg <mail@jensge.org>
 
8
 *
 
9
 * This file is part of Rygel.
 
10
 *
 
11
 * Rygel is free software; you can redistribute it and/or modify
 
12
 * it under the terms of the GNU Lesser General Public License as published by
 
13
 * the Free Software Foundation; either version 2 of the License, or
 
14
 * (at your option) any later version.
 
15
 *
 
16
 * Rygel is distributed in the hope that it will be useful,
 
17
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
18
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
19
 * GNU Lesser General Public License for more details.
 
20
 *
 
21
 * You should have received a copy of the GNU Lesser General Public License
 
22
 * along with this program; if not, write to the Free Software Foundation,
 
23
 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
24
 */
 
25
 
 
26
#include <glib.h>
 
27
#include <glib-object.h>
 
28
#include <gst/gst.h>
 
29
#include <stdlib.h>
 
30
#include <string.h>
 
31
#include <glib/gi18n-lib.h>
 
32
 
 
33
 
 
34
#define RYGEL_TYPE_WMV_TRANSCODER_BIN (rygel_wmv_transcoder_bin_get_type ())
 
35
#define RYGEL_WMV_TRANSCODER_BIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_TYPE_WMV_TRANSCODER_BIN, RygelWMVTranscoderBin))
 
36
#define RYGEL_WMV_TRANSCODER_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RYGEL_TYPE_WMV_TRANSCODER_BIN, RygelWMVTranscoderBinClass))
 
37
#define RYGEL_IS_WMV_TRANSCODER_BIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_TYPE_WMV_TRANSCODER_BIN))
 
38
#define RYGEL_IS_WMV_TRANSCODER_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RYGEL_TYPE_WMV_TRANSCODER_BIN))
 
39
#define RYGEL_WMV_TRANSCODER_BIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RYGEL_TYPE_WMV_TRANSCODER_BIN, RygelWMVTranscoderBinClass))
 
40
 
 
41
typedef struct _RygelWMVTranscoderBin RygelWMVTranscoderBin;
 
42
typedef struct _RygelWMVTranscoderBinClass RygelWMVTranscoderBinClass;
 
43
typedef struct _RygelWMVTranscoderBinPrivate RygelWMVTranscoderBinPrivate;
 
44
#define _gst_object_unref0(var) ((var == NULL) ? NULL : (var = (gst_object_unref (var), NULL)))
 
45
 
 
46
#define RYGEL_TYPE_MEDIA_OBJECT (rygel_media_object_get_type ())
 
47
#define RYGEL_MEDIA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_TYPE_MEDIA_OBJECT, RygelMediaObject))
 
48
#define RYGEL_MEDIA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RYGEL_TYPE_MEDIA_OBJECT, RygelMediaObjectClass))
 
49
#define RYGEL_IS_MEDIA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_TYPE_MEDIA_OBJECT))
 
50
#define RYGEL_IS_MEDIA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RYGEL_TYPE_MEDIA_OBJECT))
 
51
#define RYGEL_MEDIA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RYGEL_TYPE_MEDIA_OBJECT, RygelMediaObjectClass))
 
52
 
 
53
typedef struct _RygelMediaObject RygelMediaObject;
 
54
typedef struct _RygelMediaObjectClass RygelMediaObjectClass;
 
55
 
 
56
#define RYGEL_TYPE_MEDIA_ITEM (rygel_media_item_get_type ())
 
57
#define RYGEL_MEDIA_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_TYPE_MEDIA_ITEM, RygelMediaItem))
 
58
#define RYGEL_MEDIA_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RYGEL_TYPE_MEDIA_ITEM, RygelMediaItemClass))
 
59
#define RYGEL_IS_MEDIA_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_TYPE_MEDIA_ITEM))
 
60
#define RYGEL_IS_MEDIA_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RYGEL_TYPE_MEDIA_ITEM))
 
61
#define RYGEL_MEDIA_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RYGEL_TYPE_MEDIA_ITEM, RygelMediaItemClass))
 
62
 
 
63
typedef struct _RygelMediaItem RygelMediaItem;
 
64
typedef struct _RygelMediaItemClass RygelMediaItemClass;
 
65
 
 
66
#define RYGEL_TYPE_TRANSCODER (rygel_transcoder_get_type ())
 
67
#define RYGEL_TRANSCODER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_TYPE_TRANSCODER, RygelTranscoder))
 
68
#define RYGEL_TRANSCODER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RYGEL_TYPE_TRANSCODER, RygelTranscoderClass))
 
69
#define RYGEL_IS_TRANSCODER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_TYPE_TRANSCODER))
 
70
#define RYGEL_IS_TRANSCODER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RYGEL_TYPE_TRANSCODER))
 
71
#define RYGEL_TRANSCODER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RYGEL_TYPE_TRANSCODER, RygelTranscoderClass))
 
72
 
 
73
typedef struct _RygelTranscoder RygelTranscoder;
 
74
typedef struct _RygelTranscoderClass RygelTranscoderClass;
 
75
 
 
76
#define RYGEL_TYPE_WMV_TRANSCODER (rygel_wmv_transcoder_get_type ())
 
77
#define RYGEL_WMV_TRANSCODER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_TYPE_WMV_TRANSCODER, RygelWMVTranscoder))
 
78
#define RYGEL_WMV_TRANSCODER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RYGEL_TYPE_WMV_TRANSCODER, RygelWMVTranscoderClass))
 
79
#define RYGEL_IS_WMV_TRANSCODER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_TYPE_WMV_TRANSCODER))
 
80
#define RYGEL_IS_WMV_TRANSCODER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RYGEL_TYPE_WMV_TRANSCODER))
 
81
#define RYGEL_WMV_TRANSCODER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RYGEL_TYPE_WMV_TRANSCODER, RygelWMVTranscoderClass))
 
82
 
 
83
typedef struct _RygelWMVTranscoder RygelWMVTranscoder;
 
84
typedef struct _RygelWMVTranscoderClass RygelWMVTranscoderClass;
 
85
 
 
86
#define RYGEL_TYPE_WMA_TRANSCODER (rygel_wma_transcoder_get_type ())
 
87
#define RYGEL_WMA_TRANSCODER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_TYPE_WMA_TRANSCODER, RygelWMATranscoder))
 
88
#define RYGEL_WMA_TRANSCODER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RYGEL_TYPE_WMA_TRANSCODER, RygelWMATranscoderClass))
 
89
#define RYGEL_IS_WMA_TRANSCODER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_TYPE_WMA_TRANSCODER))
 
90
#define RYGEL_IS_WMA_TRANSCODER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RYGEL_TYPE_WMA_TRANSCODER))
 
91
#define RYGEL_WMA_TRANSCODER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RYGEL_TYPE_WMA_TRANSCODER, RygelWMATranscoderClass))
 
92
 
 
93
typedef struct _RygelWMATranscoder RygelWMATranscoder;
 
94
typedef struct _RygelWMATranscoderClass RygelWMATranscoderClass;
 
95
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
 
96
#define _g_free0(var) (var = (g_free (var), NULL))
 
97
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
 
98
 
 
99
struct _RygelWMVTranscoderBin {
 
100
        GstBin parent_instance;
 
101
        RygelWMVTranscoderBinPrivate * priv;
 
102
};
 
103
 
 
104
struct _RygelWMVTranscoderBinClass {
 
105
        GstBinClass parent_class;
 
106
};
 
107
 
 
108
struct _RygelWMVTranscoderBinPrivate {
 
109
        GstElement* audio_enc;
 
110
        GstElement* video_enc;
 
111
        GstElement* muxer;
 
112
};
 
113
 
 
114
typedef enum  {
 
115
        RYGEL_GST_ERROR_MISSING_PLUGIN,
 
116
        RYGEL_GST_ERROR_LINK
 
117
} RygelGstError;
 
118
#define RYGEL_GST_ERROR rygel_gst_error_quark ()
 
119
 
 
120
static gpointer rygel_wmv_transcoder_bin_parent_class = NULL;
 
121
 
 
122
GType rygel_wmv_transcoder_bin_get_type (void) G_GNUC_CONST;
 
123
#define RYGEL_WMV_TRANSCODER_BIN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RYGEL_TYPE_WMV_TRANSCODER_BIN, RygelWMVTranscoderBinPrivate))
 
124
enum  {
 
125
        RYGEL_WMV_TRANSCODER_BIN_DUMMY_PROPERTY
 
126
};
 
127
#define RYGEL_WMV_TRANSCODER_BIN_DECODEBIN "decodebin2"
 
128
#define RYGEL_WMV_TRANSCODER_BIN_MUXER "ffmux_asf"
 
129
#define RYGEL_WMV_TRANSCODER_BIN_AUDIO_ENC_SINK "audio-enc-sink-pad"
 
130
#define RYGEL_WMV_TRANSCODER_BIN_VIDEO_ENC_SINK "sink"
 
131
GType rygel_media_object_get_type (void) G_GNUC_CONST;
 
132
GType rygel_media_item_get_type (void) G_GNUC_CONST;
 
133
GType rygel_transcoder_get_type (void) G_GNUC_CONST;
 
134
GType rygel_wmv_transcoder_get_type (void) G_GNUC_CONST;
 
135
RygelWMVTranscoderBin* rygel_wmv_transcoder_bin_new (RygelMediaItem* item, GstElement* src, RygelWMVTranscoder* transcoder, GError** error);
 
136
RygelWMVTranscoderBin* rygel_wmv_transcoder_bin_construct (GType object_type, RygelMediaItem* item, GstElement* src, RygelWMVTranscoder* transcoder, GError** error);
 
137
GstElement* rygel_gst_utils_create_element (const gchar* factoryname, const gchar* name, GError** error);
 
138
RygelWMATranscoder* rygel_wma_transcoder_new (void);
 
139
RygelWMATranscoder* rygel_wma_transcoder_construct (GType object_type);
 
140
GType rygel_wma_transcoder_get_type (void) G_GNUC_CONST;
 
141
GstElement* rygel_wma_transcoder_create_encoder (RygelWMATranscoder* self, RygelMediaItem* item, const gchar* src_pad_name, const gchar* sink_pad_name, GError** error);
 
142
GstElement* rygel_wmv_transcoder_create_encoder (RygelWMVTranscoder* self, RygelMediaItem* item, const gchar* src_pad_name, const gchar* sink_pad_name, GError** error);
 
143
static void rygel_wmv_transcoder_bin_decodebin_pad_added (RygelWMVTranscoderBin* self, GstElement* decodebin, GstPad* new_pad);
 
144
static void _rygel_wmv_transcoder_bin_decodebin_pad_added_gst_element_pad_added (GstElement* _sender, GstPad* pad, gpointer self);
 
145
static gboolean rygel_wmv_transcoder_bin_autoplug_continue (RygelWMVTranscoderBin* self, GstElement* decodebin, GstPad* new_pad, GstCaps* caps);
 
146
static gboolean _rygel_wmv_transcoder_bin_autoplug_continue_dynamic_autoplug_continue2_ (GstElement* _sender, GstPad* new_pad, GstCaps* caps, gpointer self);
 
147
static void g_cclosure_user_marshal_BOOLEAN__OBJECT_GST_CAPS (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data);
 
148
void _dynamic_autoplug_continue3_connect (gpointer obj, const char * signal_name, GCallback handler, gpointer data);
 
149
GQuark rygel_gst_error_quark (void);
 
150
void rygel_gst_utils_post_error (GstElement* dest, GError* _error_);
 
151
static void rygel_wmv_transcoder_bin_finalize (GObject* obj);
 
152
 
 
153
 
 
154
static gpointer _gst_object_ref0 (gpointer self) {
 
155
#line 52 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
156
        return self ? gst_object_ref (self) : NULL;
 
157
#line 158 "rygel-wmv-transcoder-bin.c"
 
158
}
 
159
 
 
160
 
 
161
static void _rygel_wmv_transcoder_bin_decodebin_pad_added_gst_element_pad_added (GstElement* _sender, GstPad* pad, gpointer self) {
 
162
#line 63 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
163
        rygel_wmv_transcoder_bin_decodebin_pad_added (self, _sender, pad);
 
164
#line 165 "rygel-wmv-transcoder-bin.c"
 
165
}
 
166
 
 
167
 
 
168
static gboolean _rygel_wmv_transcoder_bin_autoplug_continue_dynamic_autoplug_continue2_ (GstElement* _sender, GstPad* new_pad, GstCaps* caps, gpointer self) {
 
169
        gboolean result;
 
170
        result = rygel_wmv_transcoder_bin_autoplug_continue (self, _sender, new_pad, caps);
 
171
#line 64 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
172
        return result;
 
173
#line 174 "rygel-wmv-transcoder-bin.c"
 
174
}
 
175
 
 
176
 
 
177
static void g_cclosure_user_marshal_BOOLEAN__OBJECT_GST_CAPS (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) {
 
178
        typedef gboolean (*GMarshalFunc_BOOLEAN__OBJECT_GST_CAPS) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2);
 
179
        register GMarshalFunc_BOOLEAN__OBJECT_GST_CAPS callback;
 
180
        register GCClosure * cc;
 
181
        register gpointer data1;
 
182
        register gpointer data2;
 
183
        gboolean v_return;
 
184
        cc = (GCClosure *) closure;
 
185
#line 64 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
186
        g_return_if_fail (return_value != NULL);
 
187
#line 64 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
188
        g_return_if_fail (n_param_values == 3);
 
189
#line 64 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
190
        if (G_CCLOSURE_SWAP_DATA (closure)) {
 
191
#line 64 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
192
                data1 = closure->data;
 
193
#line 64 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
194
                data2 = param_values->data[0].v_pointer;
 
195
#line 196 "rygel-wmv-transcoder-bin.c"
 
196
        } else {
 
197
#line 64 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
198
                data1 = param_values->data[0].v_pointer;
 
199
#line 64 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
200
                data2 = closure->data;
 
201
#line 202 "rygel-wmv-transcoder-bin.c"
 
202
        }
 
203
#line 64 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
204
        callback = (GMarshalFunc_BOOLEAN__OBJECT_GST_CAPS) (marshal_data ? marshal_data : cc->callback);
 
205
#line 64 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
206
        v_return = callback (data1, g_value_get_object (param_values + 1), gst_value_get_caps (param_values + 2), data2);
 
207
#line 64 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
208
        g_value_set_boolean (return_value, v_return);
 
209
#line 210 "rygel-wmv-transcoder-bin.c"
 
210
}
 
211
 
 
212
 
 
213
void _dynamic_autoplug_continue3_connect (gpointer obj, const char * signal_name, GCallback handler, gpointer data) {
 
214
#line 64 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
215
        g_signal_connect_object (obj, signal_name, handler, data, 0);
 
216
#line 217 "rygel-wmv-transcoder-bin.c"
 
217
}
 
218
 
 
219
 
 
220
RygelWMVTranscoderBin* rygel_wmv_transcoder_bin_construct (GType object_type, RygelMediaItem* item, GstElement* src, RygelWMVTranscoder* transcoder, GError** error) {
 
221
        RygelWMVTranscoderBin * self = NULL;
 
222
        GstElement* _tmp0_ = NULL;
 
223
        GstElement* decodebin;
 
224
        RygelWMATranscoder* _tmp1_;
 
225
        RygelWMATranscoder* wma_transcoder;
 
226
        RygelWMATranscoder* _tmp2_;
 
227
        RygelMediaItem* _tmp3_;
 
228
        GstElement* _tmp4_ = NULL;
 
229
        GstElement* _tmp5_;
 
230
        RygelWMVTranscoder* _tmp6_;
 
231
        RygelMediaItem* _tmp7_;
 
232
        GstElement* _tmp8_ = NULL;
 
233
        GstElement* _tmp9_;
 
234
        GstElement* _tmp10_ = NULL;
 
235
        GstElement* _tmp11_;
 
236
        GstElement* _tmp12_;
 
237
        GstElement* _tmp13_;
 
238
        GstElement* _tmp14_;
 
239
        GstElement* _tmp15_;
 
240
        GstElement* _tmp16_;
 
241
        GstElement* _tmp17_;
 
242
        GstElement* _tmp18_;
 
243
        GstElement* _tmp19_;
 
244
        GstElement* _tmp20_;
 
245
        GstElement* _tmp21_;
 
246
        GstElement* _tmp22_;
 
247
        GstElement* _tmp23_;
 
248
        GstElement* _tmp24_;
 
249
        GstPad* _tmp25_ = NULL;
 
250
        GstPad* src_pad;
 
251
        GstPad* _tmp26_;
 
252
        GstGhostPad* _tmp27_;
 
253
        GstGhostPad* ghost;
 
254
        GstGhostPad* _tmp28_;
 
255
        GstPad* _tmp29_;
 
256
        GstElement* _tmp30_;
 
257
        GstElement* _tmp31_;
 
258
        GError * _inner_error_ = NULL;
 
259
#line 39 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
260
        g_return_val_if_fail (item != NULL, NULL);
 
261
#line 39 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
262
        g_return_val_if_fail (src != NULL, NULL);
 
263
#line 39 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
264
        g_return_val_if_fail (transcoder != NULL, NULL);
 
265
#line 39 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
266
        self = (RygelWMVTranscoderBin*) g_object_new (object_type, NULL);
 
267
#line 43 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
268
        _tmp0_ = rygel_gst_utils_create_element (RYGEL_WMV_TRANSCODER_BIN_DECODEBIN, RYGEL_WMV_TRANSCODER_BIN_DECODEBIN, &_inner_error_);
 
269
#line 43 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
270
        decodebin = _tmp0_;
 
271
#line 43 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
272
        if (_inner_error_ != NULL) {
 
273
#line 43 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
274
                g_propagate_error (error, _inner_error_);
 
275
#line 43 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
276
                _gst_object_unref0 (self);
 
277
#line 43 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
278
                return NULL;
 
279
#line 280 "rygel-wmv-transcoder-bin.c"
 
280
        }
 
281
#line 45 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
282
        _tmp1_ = rygel_wma_transcoder_new ();
 
283
#line 45 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
284
        wma_transcoder = _tmp1_;
 
285
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
286
        _tmp2_ = wma_transcoder;
 
287
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
288
        _tmp3_ = item;
 
289
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
290
        _tmp4_ = rygel_wma_transcoder_create_encoder (_tmp2_, _tmp3_, NULL, RYGEL_WMV_TRANSCODER_BIN_AUDIO_ENC_SINK, &_inner_error_);
 
291
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
292
        _tmp5_ = _tmp4_;
 
293
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
294
        if (_inner_error_ != NULL) {
 
295
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
296
                g_propagate_error (error, _inner_error_);
 
297
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
298
                _g_object_unref0 (wma_transcoder);
 
299
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
300
                _gst_object_unref0 (decodebin);
 
301
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
302
                _gst_object_unref0 (self);
 
303
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
304
                return NULL;
 
305
#line 306 "rygel-wmv-transcoder-bin.c"
 
306
        }
 
307
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
308
        _gst_object_unref0 (self->priv->audio_enc);
 
309
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
310
        self->priv->audio_enc = _tmp5_;
 
311
#line 49 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
312
        _tmp6_ = transcoder;
 
313
#line 49 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
314
        _tmp7_ = item;
 
315
#line 49 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
316
        _tmp8_ = rygel_wmv_transcoder_create_encoder (_tmp6_, _tmp7_, NULL, RYGEL_WMV_TRANSCODER_BIN_VIDEO_ENC_SINK, &_inner_error_);
 
317
#line 49 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
318
        _tmp9_ = _tmp8_;
 
319
#line 49 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
320
        if (_inner_error_ != NULL) {
 
321
#line 49 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
322
                g_propagate_error (error, _inner_error_);
 
323
#line 49 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
324
                _g_object_unref0 (wma_transcoder);
 
325
#line 49 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
326
                _gst_object_unref0 (decodebin);
 
327
#line 49 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
328
                _gst_object_unref0 (self);
 
329
#line 49 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
330
                return NULL;
 
331
#line 332 "rygel-wmv-transcoder-bin.c"
 
332
        }
 
333
#line 49 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
334
        _gst_object_unref0 (self->priv->video_enc);
 
335
#line 49 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
336
        self->priv->video_enc = _tmp9_;
 
337
#line 50 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
338
        _tmp10_ = rygel_gst_utils_create_element (RYGEL_WMV_TRANSCODER_BIN_MUXER, RYGEL_WMV_TRANSCODER_BIN_MUXER, &_inner_error_);
 
339
#line 50 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
340
        _tmp11_ = _tmp10_;
 
341
#line 50 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
342
        if (_inner_error_ != NULL) {
 
343
#line 50 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
344
                g_propagate_error (error, _inner_error_);
 
345
#line 50 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
346
                _g_object_unref0 (wma_transcoder);
 
347
#line 50 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
348
                _gst_object_unref0 (decodebin);
 
349
#line 50 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
350
                _gst_object_unref0 (self);
 
351
#line 50 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
352
                return NULL;
 
353
#line 354 "rygel-wmv-transcoder-bin.c"
 
354
        }
 
355
#line 50 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
356
        _gst_object_unref0 (self->priv->muxer);
 
357
#line 50 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
358
        self->priv->muxer = _tmp11_;
 
359
#line 52 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
360
        _tmp12_ = src;
 
361
#line 52 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
362
        _tmp13_ = _gst_object_ref0 (_tmp12_);
 
363
#line 52 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
364
        _tmp14_ = decodebin;
 
365
#line 52 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
366
        _tmp15_ = _gst_object_ref0 (_tmp14_);
 
367
#line 52 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
368
        _tmp16_ = self->priv->audio_enc;
 
369
#line 52 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
370
        _tmp17_ = _gst_object_ref0 (_tmp16_);
 
371
#line 52 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
372
        _tmp18_ = self->priv->video_enc;
 
373
#line 52 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
374
        _tmp19_ = _gst_object_ref0 (_tmp18_);
 
375
#line 52 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
376
        _tmp20_ = self->priv->muxer;
 
377
#line 52 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
378
        _tmp21_ = _gst_object_ref0 (_tmp20_);
 
379
#line 52 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
380
        gst_bin_add_many ((GstBin*) self, _tmp13_, _tmp15_, _tmp17_, _tmp19_, _tmp21_, NULL);
 
381
#line 57 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
382
        _tmp22_ = src;
 
383
#line 57 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
384
        _tmp23_ = decodebin;
 
385
#line 57 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
386
        gst_element_link (_tmp22_, _tmp23_);
 
387
#line 59 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
388
        _tmp24_ = self->priv->muxer;
 
389
#line 59 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
390
        _tmp25_ = gst_element_get_static_pad (_tmp24_, "src");
 
391
#line 59 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
392
        src_pad = _tmp25_;
 
393
#line 60 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
394
        _tmp26_ = src_pad;
 
395
#line 60 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
396
        _tmp27_ = (GstGhostPad*) gst_ghost_pad_new (NULL, _tmp26_);
 
397
#line 60 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
398
        gst_object_ref_sink (_tmp27_);
 
399
#line 60 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
400
        ghost = _tmp27_;
 
401
#line 61 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
402
        _tmp28_ = ghost;
 
403
#line 61 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
404
        _tmp29_ = _gst_object_ref0 ((GstPad*) _tmp28_);
 
405
#line 61 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
406
        gst_element_add_pad ((GstElement*) self, _tmp29_);
 
407
#line 63 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
408
        _tmp30_ = decodebin;
 
409
#line 63 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
410
        g_signal_connect_object (_tmp30_, "pad-added", (GCallback) _rygel_wmv_transcoder_bin_decodebin_pad_added_gst_element_pad_added, self, 0);
 
411
#line 64 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
412
        _tmp31_ = decodebin;
 
413
#line 64 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
414
        _dynamic_autoplug_continue3_connect (_tmp31_, "autoplug_continue", (GCallback) _rygel_wmv_transcoder_bin_autoplug_continue_dynamic_autoplug_continue2_, self);
 
415
#line 39 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
416
        _gst_object_unref0 (ghost);
 
417
#line 39 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
418
        _gst_object_unref0 (src_pad);
 
419
#line 39 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
420
        _g_object_unref0 (wma_transcoder);
 
421
#line 39 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
422
        _gst_object_unref0 (decodebin);
 
423
#line 39 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
424
        return self;
 
425
#line 426 "rygel-wmv-transcoder-bin.c"
 
426
}
 
427
 
 
428
 
 
429
RygelWMVTranscoderBin* rygel_wmv_transcoder_bin_new (RygelMediaItem* item, GstElement* src, RygelWMVTranscoder* transcoder, GError** error) {
 
430
#line 39 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
431
        return rygel_wmv_transcoder_bin_construct (RYGEL_TYPE_WMV_TRANSCODER_BIN, item, src, transcoder, error);
 
432
#line 433 "rygel-wmv-transcoder-bin.c"
 
433
}
 
434
 
 
435
 
 
436
static gboolean rygel_wmv_transcoder_bin_autoplug_continue (RygelWMVTranscoderBin* self, GstElement* decodebin, GstPad* new_pad, GstCaps* caps) {
 
437
        gboolean result = FALSE;
 
438
        GstElement* _tmp0_;
 
439
        GstPad* _tmp1_;
 
440
        GstPad* _tmp2_ = NULL;
 
441
        GstPad* muxer_pad;
 
442
        GstPad* _tmp3_;
 
443
#line 67 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
444
        g_return_val_if_fail (self != NULL, FALSE);
 
445
#line 67 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
446
        g_return_val_if_fail (decodebin != NULL, FALSE);
 
447
#line 67 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
448
        g_return_val_if_fail (new_pad != NULL, FALSE);
 
449
#line 67 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
450
        g_return_val_if_fail (caps != NULL, FALSE);
 
451
#line 70 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
452
        _tmp0_ = self->priv->muxer;
 
453
#line 70 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
454
        _tmp1_ = new_pad;
 
455
#line 70 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
456
        _tmp2_ = gst_element_get_compatible_pad (_tmp0_, _tmp1_, NULL);
 
457
#line 70 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
458
        muxer_pad = _tmp2_;
 
459
#line 72 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
460
        _tmp3_ = muxer_pad;
 
461
#line 72 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
462
        if (_tmp3_ == NULL) {
 
463
#line 73 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
464
                result = TRUE;
 
465
#line 73 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
466
                _gst_object_unref0 (muxer_pad);
 
467
#line 73 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
468
                return result;
 
469
#line 470 "rygel-wmv-transcoder-bin.c"
 
470
        } else {
 
471
                GstPad* _tmp4_;
 
472
                GstPad* _tmp5_;
 
473
                GstPadLinkReturn _tmp6_ = 0;
 
474
#line 75 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
475
                _tmp4_ = new_pad;
 
476
#line 75 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
477
                _tmp5_ = muxer_pad;
 
478
#line 75 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
479
                _tmp6_ = gst_pad_link (_tmp4_, _tmp5_);
 
480
#line 75 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
481
                result = _tmp6_ != GST_PAD_LINK_OK;
 
482
#line 75 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
483
                _gst_object_unref0 (muxer_pad);
 
484
#line 75 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
485
                return result;
 
486
#line 487 "rygel-wmv-transcoder-bin.c"
 
487
        }
 
488
#line 67 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
489
        _gst_object_unref0 (muxer_pad);
 
490
#line 491 "rygel-wmv-transcoder-bin.c"
 
491
}
 
492
 
 
493
 
 
494
static void rygel_wmv_transcoder_bin_decodebin_pad_added (RygelWMVTranscoderBin* self, GstElement* decodebin, GstPad* new_pad) {
 
495
        GstElement* encoder = NULL;
 
496
        GstPad* enc_pad = NULL;
 
497
        GstElement* _tmp0_;
 
498
        GstPad* _tmp1_ = NULL;
 
499
        GstPad* audio_enc_pad;
 
500
        GstElement* _tmp2_;
 
501
        GstPad* _tmp3_ = NULL;
 
502
        GstPad* video_enc_pad;
 
503
        GstPad* _tmp4_;
 
504
        GstPad* _tmp5_;
 
505
        gboolean _tmp6_ = FALSE;
 
506
        GstElement* _tmp18_;
 
507
        GstElement* _tmp19_;
 
508
        GstPad* _tmp20_;
 
509
        GstPad* _tmp21_;
 
510
        GstPadLinkReturn _tmp22_ = 0;
 
511
#line 79 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
512
        g_return_if_fail (self != NULL);
 
513
#line 79 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
514
        g_return_if_fail (decodebin != NULL);
 
515
#line 79 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
516
        g_return_if_fail (new_pad != NULL);
 
517
#line 83 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
518
        _tmp0_ = self->priv->audio_enc;
 
519
#line 83 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
520
        _tmp1_ = gst_element_get_pad (_tmp0_, RYGEL_WMV_TRANSCODER_BIN_AUDIO_ENC_SINK);
 
521
#line 83 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
522
        audio_enc_pad = _tmp1_;
 
523
#line 84 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
524
        _tmp2_ = self->priv->video_enc;
 
525
#line 84 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
526
        _tmp3_ = gst_element_get_pad (_tmp2_, RYGEL_WMV_TRANSCODER_BIN_VIDEO_ENC_SINK);
 
527
#line 84 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
528
        video_enc_pad = _tmp3_;
 
529
#line 87 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
530
        _tmp4_ = new_pad;
 
531
#line 87 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
532
        _tmp5_ = audio_enc_pad;
 
533
#line 87 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
534
        _tmp6_ = gst_pad_can_link (_tmp4_, _tmp5_);
 
535
#line 87 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
536
        if (_tmp6_) {
 
537
#line 538 "rygel-wmv-transcoder-bin.c"
 
538
                GstElement* _tmp7_;
 
539
                GstElement* _tmp8_;
 
540
                GstPad* _tmp9_;
 
541
                GstPad* _tmp10_;
 
542
#line 88 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
543
                _tmp7_ = self->priv->audio_enc;
 
544
#line 88 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
545
                _tmp8_ = _gst_object_ref0 (_tmp7_);
 
546
#line 88 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
547
                _gst_object_unref0 (encoder);
 
548
#line 88 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
549
                encoder = _tmp8_;
 
550
#line 89 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
551
                _tmp9_ = audio_enc_pad;
 
552
#line 89 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
553
                _tmp10_ = _gst_object_ref0 (_tmp9_);
 
554
#line 89 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
555
                _gst_object_unref0 (enc_pad);
 
556
#line 89 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
557
                enc_pad = _tmp10_;
 
558
#line 559 "rygel-wmv-transcoder-bin.c"
 
559
        } else {
 
560
                GstPad* _tmp11_;
 
561
                GstPad* _tmp12_;
 
562
                gboolean _tmp13_ = FALSE;
 
563
#line 90 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
564
                _tmp11_ = new_pad;
 
565
#line 90 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
566
                _tmp12_ = video_enc_pad;
 
567
#line 90 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
568
                _tmp13_ = gst_pad_can_link (_tmp11_, _tmp12_);
 
569
#line 90 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
570
                if (_tmp13_) {
 
571
#line 572 "rygel-wmv-transcoder-bin.c"
 
572
                        GstElement* _tmp14_;
 
573
                        GstElement* _tmp15_;
 
574
                        GstPad* _tmp16_;
 
575
                        GstPad* _tmp17_;
 
576
#line 91 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
577
                        _tmp14_ = self->priv->video_enc;
 
578
#line 91 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
579
                        _tmp15_ = _gst_object_ref0 (_tmp14_);
 
580
#line 91 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
581
                        _gst_object_unref0 (encoder);
 
582
#line 91 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
583
                        encoder = _tmp15_;
 
584
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
585
                        _tmp16_ = video_enc_pad;
 
586
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
587
                        _tmp17_ = _gst_object_ref0 (_tmp16_);
 
588
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
589
                        _gst_object_unref0 (enc_pad);
 
590
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
591
                        enc_pad = _tmp17_;
 
592
#line 593 "rygel-wmv-transcoder-bin.c"
 
593
                } else {
 
594
#line 94 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
595
                        _gst_object_unref0 (video_enc_pad);
 
596
#line 94 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
597
                        _gst_object_unref0 (audio_enc_pad);
 
598
#line 94 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
599
                        _gst_object_unref0 (enc_pad);
 
600
#line 94 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
601
                        _gst_object_unref0 (encoder);
 
602
#line 94 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
603
                        return;
 
604
#line 605 "rygel-wmv-transcoder-bin.c"
 
605
                }
 
606
        }
 
607
#line 97 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
608
        _tmp18_ = encoder;
 
609
#line 97 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
610
        _tmp19_ = self->priv->muxer;
 
611
#line 97 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
612
        gst_element_link (_tmp18_, _tmp19_);
 
613
#line 99 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
614
        _tmp20_ = new_pad;
 
615
#line 99 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
616
        _tmp21_ = enc_pad;
 
617
#line 99 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
618
        _tmp22_ = gst_pad_link (_tmp20_, _tmp21_);
 
619
#line 99 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
620
        if (_tmp22_ != GST_PAD_LINK_OK) {
 
621
#line 622 "rygel-wmv-transcoder-bin.c"
 
622
                const gchar* _tmp23_ = NULL;
 
623
                GstPad* _tmp24_;
 
624
                gchar* _tmp25_;
 
625
                gchar* _tmp26_;
 
626
                gchar* _tmp27_;
 
627
                GstPad* _tmp28_;
 
628
                gchar* _tmp29_;
 
629
                gchar* _tmp30_;
 
630
                gchar* _tmp31_;
 
631
                GError* _tmp32_;
 
632
                GError* _tmp33_;
 
633
                GError* _error_;
 
634
                GError* _tmp34_;
 
635
#line 100 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
636
                _tmp23_ = _ ("Failed to link pad %s to %s");
 
637
#line 100 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
638
                _tmp24_ = new_pad;
 
639
#line 100 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
640
                _tmp25_ = gst_object_get_name ((GstObject*) _tmp24_);
 
641
#line 100 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
642
                _tmp26_ = _tmp25_;
 
643
#line 100 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
644
                _tmp27_ = _tmp26_;
 
645
#line 100 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
646
                _tmp28_ = enc_pad;
 
647
#line 100 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
648
                _tmp29_ = gst_object_get_name ((GstObject*) _tmp28_);
 
649
#line 100 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
650
                _tmp30_ = _tmp29_;
 
651
#line 100 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
652
                _tmp31_ = _tmp30_;
 
653
#line 100 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
654
                _tmp32_ = g_error_new (RYGEL_GST_ERROR, RYGEL_GST_ERROR_LINK, _tmp23_, _tmp27_, _tmp31_);
 
655
#line 100 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
656
                _tmp33_ = _tmp32_;
 
657
#line 100 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
658
                _g_free0 (_tmp31_);
 
659
#line 100 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
660
                _g_free0 (_tmp27_);
 
661
#line 100 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
662
                _error_ = _tmp33_;
 
663
#line 103 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
664
                _tmp34_ = _error_;
 
665
#line 103 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
666
                rygel_gst_utils_post_error ((GstElement*) self, _tmp34_);
 
667
#line 99 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
668
                _g_error_free0 (_error_);
 
669
#line 670 "rygel-wmv-transcoder-bin.c"
 
670
        }
 
671
#line 79 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
672
        _gst_object_unref0 (video_enc_pad);
 
673
#line 79 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
674
        _gst_object_unref0 (audio_enc_pad);
 
675
#line 79 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
676
        _gst_object_unref0 (enc_pad);
 
677
#line 79 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
678
        _gst_object_unref0 (encoder);
 
679
#line 680 "rygel-wmv-transcoder-bin.c"
 
680
}
 
681
 
 
682
 
 
683
static void rygel_wmv_transcoder_bin_class_init (RygelWMVTranscoderBinClass * klass) {
 
684
#line 28 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
685
        rygel_wmv_transcoder_bin_parent_class = g_type_class_peek_parent (klass);
 
686
#line 28 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
687
        g_type_class_add_private (klass, sizeof (RygelWMVTranscoderBinPrivate));
 
688
#line 28 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
689
        G_OBJECT_CLASS (klass)->finalize = rygel_wmv_transcoder_bin_finalize;
 
690
#line 691 "rygel-wmv-transcoder-bin.c"
 
691
}
 
692
 
 
693
 
 
694
static void rygel_wmv_transcoder_bin_instance_init (RygelWMVTranscoderBin * self) {
 
695
#line 28 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
696
        self->priv = RYGEL_WMV_TRANSCODER_BIN_GET_PRIVATE (self);
 
697
#line 698 "rygel-wmv-transcoder-bin.c"
 
698
}
 
699
 
 
700
 
 
701
static void rygel_wmv_transcoder_bin_finalize (GObject* obj) {
 
702
        RygelWMVTranscoderBin * self;
 
703
#line 28 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
704
        self = RYGEL_WMV_TRANSCODER_BIN (obj);
 
705
#line 35 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
706
        _gst_object_unref0 (self->priv->audio_enc);
 
707
#line 36 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
708
        _gst_object_unref0 (self->priv->video_enc);
 
709
#line 37 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
710
        _gst_object_unref0 (self->priv->muxer);
 
711
#line 28 "/home/jens/Source/rygel/src/rygel/rygel-wmv-transcoder-bin.vala"
 
712
        G_OBJECT_CLASS (rygel_wmv_transcoder_bin_parent_class)->finalize (obj);
 
713
#line 714 "rygel-wmv-transcoder-bin.c"
 
714
}
 
715
 
 
716
 
 
717
/**
 
718
 * A Gst.Bin derivative that implements transcoding of any type of media (using
 
719
 * decodebin2) to mpeg transport stream containing mpeg 2 video and mp2 audio.
 
720
 */
 
721
GType rygel_wmv_transcoder_bin_get_type (void) {
 
722
        static volatile gsize rygel_wmv_transcoder_bin_type_id__volatile = 0;
 
723
        if (g_once_init_enter (&rygel_wmv_transcoder_bin_type_id__volatile)) {
 
724
                static const GTypeInfo g_define_type_info = { sizeof (RygelWMVTranscoderBinClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) rygel_wmv_transcoder_bin_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RygelWMVTranscoderBin), 0, (GInstanceInitFunc) rygel_wmv_transcoder_bin_instance_init, NULL };
 
725
                GType rygel_wmv_transcoder_bin_type_id;
 
726
                rygel_wmv_transcoder_bin_type_id = g_type_register_static (GST_TYPE_BIN, "RygelWMVTranscoderBin", &g_define_type_info, 0);
 
727
                g_once_init_leave (&rygel_wmv_transcoder_bin_type_id__volatile, rygel_wmv_transcoder_bin_type_id);
 
728
        }
 
729
        return rygel_wmv_transcoder_bin_type_id__volatile;
 
730
}
 
731
 
 
732
 
 
733