1
/* rygel-mp3-transcoder-bin.c generated by valac 0.14.1, the Vala compiler
2
* generated from rygel-mp3-transcoder-bin.vala, do not modify */
5
* Copyright (C) 2009 Nokia Corporation.
7
* Author: Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
8
* <zeeshan.ali@nokia.com>
10
* This file is part of Rygel.
12
* Rygel is free software; you can redistribute it and/or modify
13
* it under the terms of the GNU Lesser General Public License as published by
14
* the Free Software Foundation; either version 2 of the License, or
15
* (at your option) any later version.
17
* Rygel is distributed in the hope that it will be useful,
18
* but WITHOUT ANY WARRANTY; without even the implied warranty of
19
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
* GNU Lesser General Public License for more details.
22
* You should have received a copy of the GNU Lesser General Public License
23
* along with this program; if not, write to the Free Software Foundation,
24
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
28
#include <glib-object.h>
32
#include <glib/gi18n-lib.h>
35
#define RYGEL_TYPE_MP3_LAYER (rygel_mp3_layer_get_type ())
37
#define RYGEL_TYPE_MP3_TRANSCODER_BIN (rygel_mp3_transcoder_bin_get_type ())
38
#define RYGEL_MP3_TRANSCODER_BIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_TYPE_MP3_TRANSCODER_BIN, RygelMP3TranscoderBin))
39
#define RYGEL_MP3_TRANSCODER_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RYGEL_TYPE_MP3_TRANSCODER_BIN, RygelMP3TranscoderBinClass))
40
#define RYGEL_IS_MP3_TRANSCODER_BIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_TYPE_MP3_TRANSCODER_BIN))
41
#define RYGEL_IS_MP3_TRANSCODER_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RYGEL_TYPE_MP3_TRANSCODER_BIN))
42
#define RYGEL_MP3_TRANSCODER_BIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RYGEL_TYPE_MP3_TRANSCODER_BIN, RygelMP3TranscoderBinClass))
44
typedef struct _RygelMP3TranscoderBin RygelMP3TranscoderBin;
45
typedef struct _RygelMP3TranscoderBinClass RygelMP3TranscoderBinClass;
46
typedef struct _RygelMP3TranscoderBinPrivate RygelMP3TranscoderBinPrivate;
47
#define _gst_object_unref0(var) ((var == NULL) ? NULL : (var = (gst_object_unref (var), NULL)))
49
#define RYGEL_TYPE_MEDIA_OBJECT (rygel_media_object_get_type ())
50
#define RYGEL_MEDIA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_TYPE_MEDIA_OBJECT, RygelMediaObject))
51
#define RYGEL_MEDIA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RYGEL_TYPE_MEDIA_OBJECT, RygelMediaObjectClass))
52
#define RYGEL_IS_MEDIA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_TYPE_MEDIA_OBJECT))
53
#define RYGEL_IS_MEDIA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RYGEL_TYPE_MEDIA_OBJECT))
54
#define RYGEL_MEDIA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RYGEL_TYPE_MEDIA_OBJECT, RygelMediaObjectClass))
56
typedef struct _RygelMediaObject RygelMediaObject;
57
typedef struct _RygelMediaObjectClass RygelMediaObjectClass;
59
#define RYGEL_TYPE_MEDIA_ITEM (rygel_media_item_get_type ())
60
#define RYGEL_MEDIA_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_TYPE_MEDIA_ITEM, RygelMediaItem))
61
#define RYGEL_MEDIA_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RYGEL_TYPE_MEDIA_ITEM, RygelMediaItemClass))
62
#define RYGEL_IS_MEDIA_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_TYPE_MEDIA_ITEM))
63
#define RYGEL_IS_MEDIA_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RYGEL_TYPE_MEDIA_ITEM))
64
#define RYGEL_MEDIA_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RYGEL_TYPE_MEDIA_ITEM, RygelMediaItemClass))
66
typedef struct _RygelMediaItem RygelMediaItem;
67
typedef struct _RygelMediaItemClass RygelMediaItemClass;
69
#define RYGEL_TYPE_TRANSCODER (rygel_transcoder_get_type ())
70
#define RYGEL_TRANSCODER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_TYPE_TRANSCODER, RygelTranscoder))
71
#define RYGEL_TRANSCODER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RYGEL_TYPE_TRANSCODER, RygelTranscoderClass))
72
#define RYGEL_IS_TRANSCODER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_TYPE_TRANSCODER))
73
#define RYGEL_IS_TRANSCODER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RYGEL_TYPE_TRANSCODER))
74
#define RYGEL_TRANSCODER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RYGEL_TYPE_TRANSCODER, RygelTranscoderClass))
76
typedef struct _RygelTranscoder RygelTranscoder;
77
typedef struct _RygelTranscoderClass RygelTranscoderClass;
79
#define RYGEL_TYPE_MP3_TRANSCODER (rygel_mp3_transcoder_get_type ())
80
#define RYGEL_MP3_TRANSCODER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_TYPE_MP3_TRANSCODER, RygelMP3Transcoder))
81
#define RYGEL_MP3_TRANSCODER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RYGEL_TYPE_MP3_TRANSCODER, RygelMP3TranscoderClass))
82
#define RYGEL_IS_MP3_TRANSCODER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_TYPE_MP3_TRANSCODER))
83
#define RYGEL_IS_MP3_TRANSCODER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RYGEL_TYPE_MP3_TRANSCODER))
84
#define RYGEL_MP3_TRANSCODER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RYGEL_TYPE_MP3_TRANSCODER, RygelMP3TranscoderClass))
86
typedef struct _RygelMP3Transcoder RygelMP3Transcoder;
87
typedef struct _RygelMP3TranscoderClass RygelMP3TranscoderClass;
88
#define _g_free0(var) (var = (g_free (var), NULL))
89
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
92
RYGEL_MP3_LAYER_TWO = 1,
93
RYGEL_MP3_LAYER_THREE = 2
96
struct _RygelMP3TranscoderBin {
97
GstBin parent_instance;
98
RygelMP3TranscoderBinPrivate * priv;
101
struct _RygelMP3TranscoderBinClass {
102
GstBinClass parent_class;
105
struct _RygelMP3TranscoderBinPrivate {
106
GstElement* audio_enc;
110
RYGEL_GST_ERROR_MISSING_PLUGIN,
113
#define RYGEL_GST_ERROR rygel_gst_error_quark ()
115
static gpointer rygel_mp3_transcoder_bin_parent_class = NULL;
117
GType rygel_mp3_layer_get_type (void) G_GNUC_CONST;
118
GType rygel_mp3_transcoder_bin_get_type (void) G_GNUC_CONST;
119
#define RYGEL_MP3_TRANSCODER_BIN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RYGEL_TYPE_MP3_TRANSCODER_BIN, RygelMP3TranscoderBinPrivate))
121
RYGEL_MP3_TRANSCODER_BIN_DUMMY_PROPERTY
123
#define RYGEL_MP3_TRANSCODER_BIN_DECODEBIN "decodebin2"
124
#define RYGEL_MP3_TRANSCODER_BIN_AUDIO_SRC_PAD "audio-src-pad"
125
#define RYGEL_MP3_TRANSCODER_BIN_AUDIO_SINK_PAD "audio-sink-pad"
126
GType rygel_media_object_get_type (void) G_GNUC_CONST;
127
GType rygel_media_item_get_type (void) G_GNUC_CONST;
128
GType rygel_transcoder_get_type (void) G_GNUC_CONST;
129
GType rygel_mp3_transcoder_get_type (void) G_GNUC_CONST;
130
RygelMP3TranscoderBin* rygel_mp3_transcoder_bin_new (RygelMediaItem* item, GstElement* src, RygelMP3Transcoder* transcoder, GError** error);
131
RygelMP3TranscoderBin* rygel_mp3_transcoder_bin_construct (GType object_type, RygelMediaItem* item, GstElement* src, RygelMP3Transcoder* transcoder, GError** error);
132
GstElement* rygel_gst_utils_create_element (const gchar* factoryname, const gchar* name, GError** error);
133
GstElement* rygel_mp3_transcoder_create_encoder (RygelMP3Transcoder* self, RygelMediaItem* item, const gchar* src_pad_name, const gchar* sink_pad_name, GError** error);
134
static void rygel_mp3_transcoder_bin_decodebin_pad_added (RygelMP3TranscoderBin* self, GstElement* decodebin, GstPad* new_pad);
135
static void _rygel_mp3_transcoder_bin_decodebin_pad_added_gst_element_pad_added (GstElement* _sender, GstPad* pad, gpointer self);
136
GQuark rygel_gst_error_quark (void);
137
void rygel_gst_utils_post_error (GstElement* dest, GError* _error_);
138
static void rygel_mp3_transcoder_bin_finalize (GObject* obj);
141
GType rygel_mp3_layer_get_type (void) {
142
static volatile gsize rygel_mp3_layer_type_id__volatile = 0;
143
if (g_once_init_enter (&rygel_mp3_layer_type_id__volatile)) {
144
static const GEnumValue values[] = {{RYGEL_MP3_LAYER_TWO, "RYGEL_MP3_LAYER_TWO", "two"}, {RYGEL_MP3_LAYER_THREE, "RYGEL_MP3_LAYER_THREE", "three"}, {0, NULL, NULL}};
145
GType rygel_mp3_layer_type_id;
146
rygel_mp3_layer_type_id = g_enum_register_static ("RygelMP3Layer", values);
147
g_once_init_leave (&rygel_mp3_layer_type_id__volatile, rygel_mp3_layer_type_id);
149
return rygel_mp3_layer_type_id__volatile;
153
static gpointer _gst_object_ref0 (gpointer self) {
154
#line 52 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
155
return self ? gst_object_ref (self) : NULL;
156
#line 157 "rygel-mp3-transcoder-bin.c"
160
static void _rygel_mp3_transcoder_bin_decodebin_pad_added_gst_element_pad_added (GstElement* _sender, GstPad* pad, gpointer self) {
161
#line 59 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
162
rygel_mp3_transcoder_bin_decodebin_pad_added (self, _sender, pad);
163
#line 164 "rygel-mp3-transcoder-bin.c"
167
RygelMP3TranscoderBin* rygel_mp3_transcoder_bin_construct (GType object_type, RygelMediaItem* item, GstElement* src, RygelMP3Transcoder* transcoder, GError** error) {
168
RygelMP3TranscoderBin * self = NULL;
169
GstElement* _tmp0_ = NULL;
170
GstElement* decodebin;
171
RygelMP3Transcoder* _tmp1_;
172
RygelMediaItem* _tmp2_;
173
GstElement* _tmp3_ = NULL;
184
GstPad* _tmp14_ = NULL;
187
GstGhostPad* _tmp16_;
189
GstGhostPad* _tmp17_;
192
GError * _inner_error_ = NULL;
193
#line 43 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
194
g_return_val_if_fail (item != NULL, NULL);
195
#line 43 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
196
g_return_val_if_fail (src != NULL, NULL);
197
#line 43 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
198
g_return_val_if_fail (transcoder != NULL, NULL);
199
#line 43 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
200
self = (RygelMP3TranscoderBin*) g_object_new (object_type, NULL);
201
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
202
_tmp0_ = rygel_gst_utils_create_element (RYGEL_MP3_TRANSCODER_BIN_DECODEBIN, RYGEL_MP3_TRANSCODER_BIN_DECODEBIN, &_inner_error_);
203
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
205
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
206
if (_inner_error_ != NULL) {
207
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
208
g_propagate_error (error, _inner_error_);
209
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
210
_gst_object_unref0 (self);
211
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
213
#line 214 "rygel-mp3-transcoder-bin.c"
215
#line 48 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
217
#line 48 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
219
#line 48 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
220
_tmp3_ = rygel_mp3_transcoder_create_encoder (_tmp1_, _tmp2_, RYGEL_MP3_TRANSCODER_BIN_AUDIO_SRC_PAD, RYGEL_MP3_TRANSCODER_BIN_AUDIO_SINK_PAD, &_inner_error_);
221
#line 48 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
223
#line 48 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
224
if (_inner_error_ != NULL) {
225
#line 48 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
226
g_propagate_error (error, _inner_error_);
227
#line 48 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
228
_gst_object_unref0 (decodebin);
229
#line 48 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
230
_gst_object_unref0 (self);
231
#line 48 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
233
#line 234 "rygel-mp3-transcoder-bin.c"
235
#line 48 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
236
_gst_object_unref0 (self->priv->audio_enc);
237
#line 48 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
238
self->priv->audio_enc = _tmp4_;
239
#line 52 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
241
#line 52 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
242
_tmp6_ = _gst_object_ref0 (_tmp5_);
243
#line 52 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
245
#line 52 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
246
_tmp8_ = _gst_object_ref0 (_tmp7_);
247
#line 52 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
248
_tmp9_ = self->priv->audio_enc;
249
#line 52 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
250
_tmp10_ = _gst_object_ref0 (_tmp9_);
251
#line 52 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
252
gst_bin_add_many ((GstBin*) self, _tmp6_, _tmp8_, _tmp10_, NULL);
253
#line 53 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
255
#line 53 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
257
#line 53 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
258
gst_element_link (_tmp11_, _tmp12_);
259
#line 55 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
260
_tmp13_ = self->priv->audio_enc;
261
#line 55 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
262
_tmp14_ = gst_element_get_static_pad (_tmp13_, RYGEL_MP3_TRANSCODER_BIN_AUDIO_SRC_PAD);
263
#line 55 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
265
#line 56 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
267
#line 56 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
268
_tmp16_ = (GstGhostPad*) gst_ghost_pad_new (NULL, _tmp15_);
269
#line 56 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
270
gst_object_ref_sink (_tmp16_);
271
#line 56 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
273
#line 57 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
275
#line 57 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
276
_tmp18_ = _gst_object_ref0 ((GstPad*) _tmp17_);
277
#line 57 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
278
gst_element_add_pad ((GstElement*) self, _tmp18_);
279
#line 59 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
281
#line 59 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
282
g_signal_connect_object (_tmp19_, "pad-added", (GCallback) _rygel_mp3_transcoder_bin_decodebin_pad_added_gst_element_pad_added, self, 0);
283
#line 43 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
284
_gst_object_unref0 (ghost);
285
#line 43 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
286
_gst_object_unref0 (src_pad);
287
#line 43 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
288
_gst_object_unref0 (decodebin);
289
#line 43 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
291
#line 292 "rygel-mp3-transcoder-bin.c"
295
RygelMP3TranscoderBin* rygel_mp3_transcoder_bin_new (RygelMediaItem* item, GstElement* src, RygelMP3Transcoder* transcoder, GError** error) {
296
#line 43 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
297
return rygel_mp3_transcoder_bin_construct (RYGEL_TYPE_MP3_TRANSCODER_BIN, item, src, transcoder, error);
298
#line 299 "rygel-mp3-transcoder-bin.c"
302
static void rygel_mp3_transcoder_bin_decodebin_pad_added (RygelMP3TranscoderBin* self, GstElement* decodebin, GstPad* new_pad) {
304
GstPad* _tmp1_ = NULL;
308
gboolean _tmp4_ = FALSE;
311
GstPadLinkReturn _tmp7_ = 0;
312
#line 62 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
313
g_return_if_fail (self != NULL);
314
#line 62 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
315
g_return_if_fail (decodebin != NULL);
316
#line 62 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
317
g_return_if_fail (new_pad != NULL);
318
#line 63 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
319
_tmp0_ = self->priv->audio_enc;
320
#line 63 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
321
_tmp1_ = gst_element_get_pad (_tmp0_, RYGEL_MP3_TRANSCODER_BIN_AUDIO_SINK_PAD);
322
#line 63 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
324
#line 64 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
326
#line 64 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
328
#line 64 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
329
_tmp4_ = gst_pad_can_link (_tmp2_, _tmp3_);
330
#line 64 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
332
#line 65 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
333
_gst_object_unref0 (enc_pad);
334
#line 65 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
336
#line 337 "rygel-mp3-transcoder-bin.c"
338
#line 68 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
340
#line 68 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
342
#line 68 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
343
_tmp7_ = gst_pad_link (_tmp5_, _tmp6_);
344
#line 68 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
345
if (_tmp7_ != GST_PAD_LINK_OK) {
346
#line 347 "rygel-mp3-transcoder-bin.c"
347
const gchar* _tmp8_ = NULL;
360
#line 69 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
361
_tmp8_ = _ ("Failed to link pad %s to %s");
362
#line 69 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
364
#line 69 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
365
_tmp10_ = gst_object_get_name ((GstObject*) _tmp9_);
366
#line 69 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
368
#line 69 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
370
#line 69 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
372
#line 69 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
373
_tmp14_ = gst_object_get_name ((GstObject*) _tmp13_);
374
#line 69 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
376
#line 69 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
378
#line 69 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
379
_tmp17_ = g_error_new (RYGEL_GST_ERROR, RYGEL_GST_ERROR_LINK, _tmp8_, _tmp12_, _tmp16_);
380
#line 69 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
382
#line 69 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
384
#line 69 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
386
#line 69 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
388
#line 72 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
390
#line 72 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
391
rygel_gst_utils_post_error ((GstElement*) self, _tmp19_);
392
#line 74 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
393
_g_error_free0 (_error_);
394
#line 74 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
395
_gst_object_unref0 (enc_pad);
396
#line 74 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
398
#line 399 "rygel-mp3-transcoder-bin.c"
400
#line 62 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
401
_gst_object_unref0 (enc_pad);
402
#line 403 "rygel-mp3-transcoder-bin.c"
406
static void rygel_mp3_transcoder_bin_class_init (RygelMP3TranscoderBinClass * klass) {
407
#line 35 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
408
rygel_mp3_transcoder_bin_parent_class = g_type_class_peek_parent (klass);
409
#line 35 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
410
g_type_class_add_private (klass, sizeof (RygelMP3TranscoderBinPrivate));
411
#line 35 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
412
G_OBJECT_CLASS (klass)->finalize = rygel_mp3_transcoder_bin_finalize;
413
#line 414 "rygel-mp3-transcoder-bin.c"
417
static void rygel_mp3_transcoder_bin_instance_init (RygelMP3TranscoderBin * self) {
418
#line 35 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
419
self->priv = RYGEL_MP3_TRANSCODER_BIN_GET_PRIVATE (self);
420
#line 421 "rygel-mp3-transcoder-bin.c"
424
static void rygel_mp3_transcoder_bin_finalize (GObject* obj) {
425
RygelMP3TranscoderBin * self;
426
#line 35 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
427
self = RYGEL_MP3_TRANSCODER_BIN (obj);
428
#line 41 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
429
_gst_object_unref0 (self->priv->audio_enc);
430
#line 35 "/home/jens/Source/rygel/src/rygel/rygel-mp3-transcoder-bin.vala"
431
G_OBJECT_CLASS (rygel_mp3_transcoder_bin_parent_class)->finalize (obj);
432
#line 433 "rygel-mp3-transcoder-bin.c"
437
* A Gst.Bin derivative that implements transcoding of any type of media (using
438
* decodebin2) to mpeg 1 layer 2 and 3 format.
440
GType rygel_mp3_transcoder_bin_get_type (void) {
441
static volatile gsize rygel_mp3_transcoder_bin_type_id__volatile = 0;
442
if (g_once_init_enter (&rygel_mp3_transcoder_bin_type_id__volatile)) {
443
static const GTypeInfo g_define_type_info = { sizeof (RygelMP3TranscoderBinClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) rygel_mp3_transcoder_bin_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RygelMP3TranscoderBin), 0, (GInstanceInitFunc) rygel_mp3_transcoder_bin_instance_init, NULL };
444
GType rygel_mp3_transcoder_bin_type_id;
445
rygel_mp3_transcoder_bin_type_id = g_type_register_static (GST_TYPE_BIN, "RygelMP3TranscoderBin", &g_define_type_info, 0);
446
g_once_init_leave (&rygel_mp3_transcoder_bin_type_id__volatile, rygel_mp3_transcoder_bin_type_id);
448
return rygel_mp3_transcoder_bin_type_id__volatile;