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

« back to all changes in this revision

Viewing changes to src/rygel/rygel-gst-utils.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-gst-utils.c generated by valac 0.12.0, the Vala compiler
 
1
/* rygel-gst-utils.c generated by valac 0.14.1, the Vala compiler
2
2
 * generated from rygel-gst-utils.vala, do not modify */
3
3
 
4
4
/*
45
45
typedef struct _RygelGstUtilsClass RygelGstUtilsClass;
46
46
typedef struct _RygelGstUtilsPrivate RygelGstUtilsPrivate;
47
47
#define _gst_object_unref0(var) ((var == NULL) ? NULL : (var = (gst_object_unref (var), NULL)))
 
48
#define _gst_message_unref0(var) ((var == NULL) ? NULL : (var = (gst_message_unref (var), NULL)))
48
49
#define __g_list_free__gst_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__gst_object_unref0_ (var), NULL)))
49
50
#define _gst_structure_free0(var) ((var == NULL) ? NULL : (var = (gst_structure_free (var), NULL)))
50
51
typedef struct _RygelParamSpecGstUtils RygelParamSpecGstUtils;
84
85
        RYGEL_GST_UTILS_DUMMY_PROPERTY
85
86
};
86
87
GstElement* rygel_gst_utils_create_element (const gchar* factoryname, const gchar* name, GError** error);
 
88
void rygel_gst_utils_post_error (GstElement* dest, GError* _error_);
87
89
GstClockTime rygel_gst_utils_time_from_string (const gchar* str);
88
90
gchar* rygel_gst_utils_time_to_string (GstClockTime time);
89
91
GstElement* rygel_gst_utils_create_source_for_uri (const gchar* uri);
90
 
static inline void _dynamic_set_blocksize1 (GstElement* obj, glong value);
91
 
static inline void _dynamic_set_tcp_timeout2 (GstElement* obj, gint64 value);
 
92
static inline void _dynamic_set_blocksize6 (GstElement* obj, glong value);
 
93
static inline void _dynamic_set_tcp_timeout7 (GstElement* obj, gint64 value);
92
94
GstElement* rygel_gst_utils_get_rtp_depayloader (GstCaps* caps);
93
95
static gboolean rygel_gst_utils_need_rtp_depayloader (GstCaps* caps);
94
96
static gboolean rygel_gst_utils_rtp_depay_filter (GstPluginFeature* feature);
109
111
 
110
112
GstElement* rygel_gst_utils_create_element (const gchar* factoryname, const gchar* name, GError** error) {
111
113
        GstElement* result = NULL;
112
 
        GstElement* _tmp0_ = NULL;
 
114
        const gchar* _tmp0_;
 
115
        const gchar* _tmp1_;
 
116
        GstElement* _tmp2_ = NULL;
113
117
        GstElement* element;
 
118
        GstElement* _tmp3_;
114
119
        GError * _inner_error_ = NULL;
 
120
#line 32 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
115
121
        g_return_val_if_fail (factoryname != NULL, NULL);
116
 
        _tmp0_ = gst_element_factory_make (factoryname, name);
117
 
        element = _tmp0_;
118
 
        if (element == NULL) {
119
 
                const gchar* _tmp1_ = NULL;
120
 
                GError* _tmp2_ = NULL;
121
 
                _tmp1_ = _ ("Required element %s missing");
122
 
                _tmp2_ = g_error_new (RYGEL_GST_ERROR, RYGEL_GST_ERROR_MISSING_PLUGIN, _tmp1_, factoryname);
123
 
                _inner_error_ = _tmp2_;
 
122
#line 35 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
123
        _tmp0_ = factoryname;
 
124
#line 35 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
125
        _tmp1_ = name;
 
126
#line 35 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
127
        _tmp2_ = gst_element_factory_make (_tmp0_, _tmp1_);
 
128
#line 35 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
129
        gst_object_ref_sink (_tmp2_);
 
130
#line 35 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
131
        element = _tmp2_;
 
132
#line 36 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
133
        _tmp3_ = element;
 
134
#line 36 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
135
        if (_tmp3_ == NULL) {
 
136
#line 137 "rygel-gst-utils.c"
 
137
                const gchar* _tmp4_ = NULL;
 
138
                const gchar* _tmp5_;
 
139
                GError* _tmp6_;
 
140
#line 37 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
141
                _tmp4_ = _ ("Required element %s missing");
 
142
#line 37 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
143
                _tmp5_ = factoryname;
 
144
#line 37 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
145
                _tmp6_ = g_error_new (RYGEL_GST_ERROR, RYGEL_GST_ERROR_MISSING_PLUGIN, _tmp4_, _tmp5_);
 
146
#line 37 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
147
                _inner_error_ = _tmp6_;
 
148
#line 37 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
124
149
                g_propagate_error (error, _inner_error_);
 
150
#line 37 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
125
151
                _gst_object_unref0 (element);
 
152
#line 37 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
126
153
                return NULL;
 
154
#line 155 "rygel-gst-utils.c"
127
155
        }
 
156
#line 42 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
128
157
        result = element;
 
158
#line 42 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
129
159
        return result;
 
160
#line 161 "rygel-gst-utils.c"
 
161
}
 
162
 
 
163
 
 
164
static gpointer _gst_message_ref0 (gpointer self) {
 
165
#line 47 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
166
        return self ? gst_message_ref (self) : NULL;
 
167
#line 168 "rygel-gst-utils.c"
 
168
}
 
169
 
 
170
 
 
171
void rygel_gst_utils_post_error (GstElement* dest, GError* _error_) {
 
172
        GstElement* _tmp0_;
 
173
        GError* _tmp1_;
 
174
        GError* _tmp2_;
 
175
        const gchar* _tmp3_;
 
176
        GstMessage* _tmp4_;
 
177
        GstMessage* msg;
 
178
        GstElement* _tmp5_;
 
179
        GstMessage* _tmp6_;
 
180
#line 45 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
181
        g_return_if_fail (dest != NULL);
 
182
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
183
        _tmp0_ = dest;
 
184
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
185
        _tmp1_ = _error_;
 
186
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
187
        _tmp2_ = _error_;
 
188
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
189
        _tmp3_ = _tmp2_->message;
 
190
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
191
        _tmp4_ = gst_message_new_error ((GstObject*) _tmp0_, _tmp1_, _tmp3_);
 
192
#line 46 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
193
        msg = _tmp4_;
 
194
#line 47 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
195
        _tmp5_ = dest;
 
196
#line 47 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
197
        _tmp6_ = _gst_message_ref0 (msg);
 
198
#line 47 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
199
        gst_element_post_message (_tmp5_, _tmp6_);
 
200
#line 45 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
201
        _gst_message_unref0 (msg);
 
202
#line 203 "rygel-gst-utils.c"
130
203
}
131
204
 
132
205
 
135
208
        guint64 hours = 0ULL;
136
209
        guint64 minutes = 0ULL;
137
210
        guint64 seconds = 0ULL;
 
211
        const gchar* _tmp0_;
 
212
#line 50 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
138
213
        g_return_val_if_fail (str != NULL, 0ULL);
139
 
        sscanf (str, "%llu:%2llu:%2llu%*s", &hours, &minutes, &seconds);
 
214
#line 53 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
215
        _tmp0_ = str;
 
216
#line 53 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
217
        sscanf (_tmp0_, "%llu:%2llu:%2llu%*s", &hours, &minutes, &seconds);
 
218
#line 55 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
140
219
        result = (GstClockTime) ((((hours * 3600) + (minutes * 60)) + seconds) * GST_SECOND);
 
220
#line 55 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
141
221
        return result;
 
222
#line 223 "rygel-gst-utils.c"
142
223
}
143
224
 
144
225
 
147
228
        guint64 hours = 0ULL;
148
229
        guint64 minutes = 0ULL;
149
230
        guint64 seconds = 0ULL;
150
 
        gchar* _tmp0_ = NULL;
151
 
        hours = (guint64) ((time / GST_SECOND) / 3600);
152
 
        seconds = (guint64) ((time / GST_SECOND) % 3600);
153
 
        minutes = seconds / 60;
154
 
        seconds = seconds % 60;
155
 
        _tmp0_ = g_strdup_printf ("%llu:%.2llu:%.2llu", hours, minutes, seconds);
156
 
        result = _tmp0_;
 
231
        GstClockTime _tmp0_;
 
232
        GstClockTime _tmp1_;
 
233
        guint64 _tmp2_;
 
234
        guint64 _tmp3_;
 
235
        guint64 _tmp4_;
 
236
        gchar* _tmp5_ = NULL;
 
237
#line 62 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
238
        _tmp0_ = time;
 
239
#line 62 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
240
        hours = (guint64) ((_tmp0_ / GST_SECOND) / 3600);
 
241
#line 63 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
242
        _tmp1_ = time;
 
243
#line 63 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
244
        seconds = (guint64) ((_tmp1_ / GST_SECOND) % 3600);
 
245
#line 64 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
246
        _tmp2_ = seconds;
 
247
#line 64 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
248
        minutes = _tmp2_ / 60;
 
249
#line 65 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
250
        _tmp3_ = seconds;
 
251
#line 65 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
252
        seconds = _tmp3_ % 60;
 
253
#line 67 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
254
        _tmp4_ = seconds;
 
255
#line 67 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
256
        _tmp5_ = g_strdup_printf ("%llu:%.2llu:%.2llu", hours, minutes, _tmp4_);
 
257
#line 67 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
258
        result = _tmp5_;
 
259
#line 67 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
157
260
        return result;
 
261
#line 262 "rygel-gst-utils.c"
158
262
}
159
263
 
160
264
 
161
 
static inline void _dynamic_set_blocksize1 (GstElement* obj, glong value) {
 
265
static inline void _dynamic_set_blocksize6 (GstElement* obj, glong value) {
 
266
#line 76 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
162
267
        g_object_set (obj, "blocksize", value, NULL);
 
268
#line 269 "rygel-gst-utils.c"
163
269
}
164
270
 
165
271
 
166
 
static inline void _dynamic_set_tcp_timeout2 (GstElement* obj, gint64 value) {
 
272
static inline void _dynamic_set_tcp_timeout7 (GstElement* obj, gint64 value) {
 
273
#line 82 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
167
274
        g_object_set (obj, "tcp-timeout", value, NULL);
 
275
#line 276 "rygel-gst-utils.c"
168
276
}
169
277
 
170
278
 
171
279
GstElement* rygel_gst_utils_create_source_for_uri (const gchar* uri) {
172
280
        GstElement* result = NULL;
173
 
        GstElement* _tmp0_ = NULL;
 
281
        const gchar* _tmp0_;
 
282
        GstElement* _tmp1_ = NULL;
174
283
        GstElement* src;
 
284
        GstElement* _tmp2_;
 
285
#line 70 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
175
286
        g_return_val_if_fail (uri != NULL, NULL);
176
 
        _tmp0_ = gst_element_make_from_uri (GST_URI_SRC, uri, NULL);
177
 
        src = _tmp0_;
178
 
        if (src != NULL) {
179
 
                GObjectClass* _tmp1_ = NULL;
180
 
                GParamSpec* _tmp2_ = NULL;
181
 
                GObjectClass* _tmp3_ = NULL;
182
 
                GParamSpec* _tmp4_ = NULL;
183
 
                _tmp1_ = G_OBJECT_GET_CLASS ((GObject*) src);
184
 
                _tmp2_ = g_object_class_find_property (_tmp1_, "blocksize");
185
 
                if (_tmp2_ != NULL) {
186
 
                        _dynamic_set_blocksize1 (src, (glong) 65536);
 
287
#line 71 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
288
        _tmp0_ = uri;
 
289
#line 71 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
290
        _tmp1_ = gst_element_make_from_uri (GST_URI_SRC, _tmp0_, NULL);
 
291
#line 71 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
292
        src = _tmp1_;
 
293
#line 72 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
294
        _tmp2_ = src;
 
295
#line 72 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
296
        if (_tmp2_ != NULL) {
 
297
#line 298 "rygel-gst-utils.c"
 
298
                GstElement* _tmp3_;
 
299
                GObjectClass* _tmp4_ = NULL;
 
300
                GParamSpec* _tmp5_ = NULL;
 
301
                GstElement* _tmp7_;
 
302
                GObjectClass* _tmp8_ = NULL;
 
303
                GParamSpec* _tmp9_ = NULL;
 
304
#line 73 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
305
                _tmp3_ = src;
 
306
#line 73 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
307
                _tmp4_ = G_OBJECT_GET_CLASS ((GObject*) _tmp3_);
 
308
#line 73 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
309
                _tmp5_ = g_object_class_find_property (_tmp4_, "blocksize");
 
310
#line 73 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
311
                if (_tmp5_ != NULL) {
 
312
#line 313 "rygel-gst-utils.c"
 
313
                        GstElement* _tmp6_;
 
314
#line 76 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
315
                        _tmp6_ = src;
 
316
#line 76 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
317
                        _dynamic_set_blocksize6 (_tmp6_, (glong) 65536);
 
318
#line 319 "rygel-gst-utils.c"
187
319
                }
188
 
                _tmp3_ = G_OBJECT_GET_CLASS ((GObject*) src);
189
 
                _tmp4_ = g_object_class_find_property (_tmp3_, "tcp-timeout");
190
 
                if (_tmp4_ != NULL) {
191
 
                        _dynamic_set_tcp_timeout2 (src, (gint64) 60000000);
 
320
#line 79 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
321
                _tmp7_ = src;
 
322
#line 79 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
323
                _tmp8_ = G_OBJECT_GET_CLASS ((GObject*) _tmp7_);
 
324
#line 79 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
325
                _tmp9_ = g_object_class_find_property (_tmp8_, "tcp-timeout");
 
326
#line 79 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
327
                if (_tmp9_ != NULL) {
 
328
#line 329 "rygel-gst-utils.c"
 
329
                        GstElement* _tmp10_;
 
330
#line 82 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
331
                        _tmp10_ = src;
 
332
#line 82 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
333
                        _dynamic_set_tcp_timeout7 (_tmp10_, (gint64) 60000000);
 
334
#line 335 "rygel-gst-utils.c"
192
335
                }
193
336
        }
 
337
#line 86 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
194
338
        result = src;
 
339
#line 86 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
195
340
        return result;
 
341
#line 342 "rygel-gst-utils.c"
196
342
}
197
343
 
198
344
 
199
345
static gboolean _rygel_gst_utils_rtp_depay_filter_gst_plugin_feature_filter (GstPluginFeature* feature, gpointer self) {
200
346
        gboolean result;
201
347
        result = rygel_gst_utils_rtp_depay_filter (feature);
 
348
#line 95 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
202
349
        return result;
 
350
#line 351 "rygel-gst-utils.c"
203
351
}
204
352
 
205
353
 
206
354
static void _gst_object_unref0_ (gpointer var) {
 
355
#line 97 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
207
356
        (var == NULL) ? NULL : (var = (gst_object_unref (var), NULL));
 
357
#line 358 "rygel-gst-utils.c"
208
358
}
209
359
 
210
360
 
211
361
static void _g_list_free__gst_object_unref0_ (GList* self) {
 
362
#line 97 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
212
363
        g_list_foreach (self, (GFunc) _gst_object_unref0_, NULL);
 
364
#line 97 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
213
365
        g_list_free (self);
 
366
#line 367 "rygel-gst-utils.c"
214
367
}
215
368
 
216
369
 
217
370
GstElement* rygel_gst_utils_get_rtp_depayloader (GstCaps* caps) {
218
371
        GstElement* result = NULL;
219
 
        gboolean _tmp0_;
220
 
        GstRegistry* _tmp1_ = NULL;
 
372
        GstCaps* _tmp0_;
 
373
        gboolean _tmp1_ = FALSE;
 
374
        GstRegistry* _tmp2_ = NULL;
221
375
        GstRegistry* registry;
222
 
        GList* _tmp2_ = NULL;
 
376
        GstRegistry* _tmp3_;
 
377
        GList* _tmp4_ = NULL;
223
378
        GList* features;
224
 
        GstElement* _tmp3_ = NULL;
 
379
        GList* _tmp5_;
 
380
        GstCaps* _tmp6_;
 
381
        GstElement* _tmp7_ = NULL;
 
382
#line 89 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
225
383
        g_return_val_if_fail (caps != NULL, NULL);
226
 
        _tmp0_ = rygel_gst_utils_need_rtp_depayloader (caps);
227
 
        if (!_tmp0_) {
 
384
#line 90 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
385
        _tmp0_ = caps;
 
386
#line 90 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
387
        _tmp1_ = rygel_gst_utils_need_rtp_depayloader (_tmp0_);
 
388
#line 90 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
389
        if (!_tmp1_) {
 
390
#line 91 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
228
391
                result = NULL;
 
392
#line 91 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
229
393
                return result;
 
394
#line 395 "rygel-gst-utils.c"
230
395
        }
231
 
        _tmp1_ = gst_registry_get_default ();
232
 
        registry = _tmp1_;
233
 
        _tmp2_ = gst_registry_feature_filter (registry, _rygel_gst_utils_rtp_depay_filter_gst_plugin_feature_filter, FALSE, NULL);
234
 
        features = _tmp2_;
235
 
        _tmp3_ = rygel_gst_utils_get_best_depay (features, caps);
236
 
        result = _tmp3_;
 
396
#line 94 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
397
        _tmp2_ = gst_registry_get_default ();
 
398
#line 94 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
399
        registry = _tmp2_;
 
400
#line 95 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
401
        _tmp3_ = registry;
 
402
#line 95 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
403
        _tmp4_ = gst_registry_feature_filter (_tmp3_, _rygel_gst_utils_rtp_depay_filter_gst_plugin_feature_filter, FALSE, NULL);
 
404
#line 95 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
405
        features = _tmp4_;
 
406
#line 97 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
407
        _tmp5_ = features;
 
408
#line 97 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
409
        _tmp6_ = caps;
 
410
#line 97 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
411
        _tmp7_ = rygel_gst_utils_get_best_depay (_tmp5_, _tmp6_);
 
412
#line 97 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
413
        result = _tmp7_;
 
414
#line 97 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
237
415
        __g_list_free__gst_object_unref0_0 (features);
 
416
#line 97 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
238
417
        return result;
 
418
#line 419 "rygel-gst-utils.c"
239
419
}
240
420
 
241
421
 
242
422
static gpointer _gst_structure_copy0 (gpointer self) {
 
423
#line 101 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
243
424
        return self ? gst_structure_copy (self) : NULL;
 
425
#line 426 "rygel-gst-utils.c"
244
426
}
245
427
 
246
428
 
247
429
static gboolean rygel_gst_utils_need_rtp_depayloader (GstCaps* caps) {
248
430
        gboolean result = FALSE;
249
 
        const GstStructure* _tmp0_ = NULL;
250
 
        GstStructure* _tmp1_;
 
431
        GstCaps* _tmp0_;
 
432
        const GstStructure* _tmp1_ = NULL;
 
433
        GstStructure* _tmp2_;
251
434
        GstStructure* structure;
252
 
        const gchar* _tmp2_ = NULL;
 
435
        const gchar* _tmp3_ = NULL;
 
436
#line 100 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
253
437
        g_return_val_if_fail (caps != NULL, FALSE);
254
 
        _tmp0_ = gst_caps_get_structure (caps, (guint) 0);
255
 
        _tmp1_ = _gst_structure_copy0 (_tmp0_);
256
 
        structure = _tmp1_;
257
 
        _tmp2_ = gst_structure_get_name (structure);
258
 
        result = g_strcmp0 (_tmp2_, "application/x-rtp") == 0;
 
438
#line 101 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
439
        _tmp0_ = caps;
 
440
#line 101 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
441
        _tmp1_ = gst_caps_get_structure (_tmp0_, (guint) 0);
 
442
#line 101 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
443
        _tmp2_ = _gst_structure_copy0 (_tmp1_);
 
444
#line 101 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
445
        structure = _tmp2_;
 
446
#line 102 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
447
        _tmp3_ = gst_structure_get_name (structure);
 
448
#line 102 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
449
        result = g_strcmp0 (_tmp3_, "application/x-rtp") == 0;
 
450
#line 102 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
259
451
        _gst_structure_free0 (structure);
 
452
#line 102 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
260
453
        return result;
 
454
#line 455 "rygel-gst-utils.c"
261
455
}
262
456
 
263
457
 
264
458
static gpointer _gst_object_ref0 (gpointer self) {
 
459
#line 111 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
265
460
        return self ? gst_object_ref (self) : NULL;
 
461
#line 462 "rygel-gst-utils.c"
266
462
}
267
463
 
268
464
 
269
465
static gint _rygel_gst_utils_compare_factories_gcompare_func (gconstpointer a, gconstpointer b) {
270
466
        gint result;
271
467
        result = rygel_gst_utils_compare_factories (a, b);
 
468
#line 124 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
272
469
        return result;
 
470
#line 471 "rygel-gst-utils.c"
273
471
}
274
472
 
275
473
 
276
474
static GstElement* rygel_gst_utils_get_best_depay (GList* features, GstCaps* caps) {
277
475
        GstElement* result = NULL;
278
476
        GList* relevant_factories;
279
 
        guint _tmp4_;
280
 
        GstElementFactory* _tmp5_;
 
477
        GList* _tmp0_;
 
478
        GList* _tmp9_;
 
479
        guint _tmp10_ = 0U;
 
480
        GList* _tmp11_;
 
481
        gconstpointer _tmp12_;
 
482
        GstElementFactory* _tmp13_;
281
483
        GstElementFactory* factory;
282
 
        const gchar* _tmp6_ = NULL;
283
 
        GstElement* _tmp7_ = NULL;
 
484
        GstElementFactory* _tmp14_;
 
485
        const gchar* _tmp15_ = NULL;
 
486
        GstElement* _tmp16_ = NULL;
 
487
#line 105 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
284
488
        g_return_val_if_fail (caps != NULL, NULL);
 
489
#line 108 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
285
490
        relevant_factories = NULL;
 
491
#line 111 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
492
        _tmp0_ = features;
 
493
#line 494 "rygel-gst-utils.c"
286
494
        {
287
 
                GList* feature_collection;
288
 
                GList* feature_it;
289
 
                feature_collection = features;
 
495
                GList* feature_collection = NULL;
 
496
                GList* feature_it = NULL;
 
497
#line 111 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
498
                feature_collection = _tmp0_;
 
499
#line 111 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
290
500
                for (feature_it = feature_collection; feature_it != NULL; feature_it = feature_it->next) {
291
 
                        GstPluginFeature* _tmp0_;
292
 
                        GstPluginFeature* feature;
293
 
                        _tmp0_ = _gst_object_ref0 ((GstPluginFeature*) feature_it->data);
294
 
                        feature = _tmp0_;
 
501
#line 502 "rygel-gst-utils.c"
 
502
                        GstPluginFeature* _tmp1_;
 
503
                        GstPluginFeature* feature = NULL;
 
504
#line 111 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
505
                        _tmp1_ = _gst_object_ref0 ((GstPluginFeature*) feature_it->data);
 
506
#line 111 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
507
                        feature = _tmp1_;
 
508
#line 509 "rygel-gst-utils.c"
295
509
                        {
296
 
                                GstElementFactory* _tmp1_;
 
510
                                GstPluginFeature* _tmp2_;
 
511
                                GstElementFactory* _tmp3_;
297
512
                                GstElementFactory* factory;
298
 
                                gboolean _tmp2_;
299
 
                                _tmp1_ = _gst_object_ref0 (GST_ELEMENT_FACTORY (feature));
300
 
                                factory = _tmp1_;
301
 
                                _tmp2_ = gst_element_factory_can_sink_caps (factory, caps);
302
 
                                if (_tmp2_) {
303
 
                                        GstElementFactory* _tmp3_;
304
 
                                        _tmp3_ = _gst_object_ref0 (factory);
305
 
                                        relevant_factories = g_list_append (relevant_factories, _tmp3_);
 
513
                                GstElementFactory* _tmp4_;
 
514
                                GstCaps* _tmp5_;
 
515
                                gboolean _tmp6_ = FALSE;
 
516
#line 112 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
517
                                _tmp2_ = feature;
 
518
#line 112 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
519
                                _tmp3_ = _gst_object_ref0 (GST_ELEMENT_FACTORY (_tmp2_));
 
520
#line 112 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
521
                                factory = _tmp3_;
 
522
#line 113 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
523
                                _tmp4_ = factory;
 
524
#line 113 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
525
                                _tmp5_ = caps;
 
526
#line 113 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
527
                                _tmp6_ = gst_element_factory_can_sink_caps (_tmp4_, _tmp5_);
 
528
#line 113 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
529
                                if (_tmp6_) {
 
530
#line 531 "rygel-gst-utils.c"
 
531
                                        GstElementFactory* _tmp7_;
 
532
                                        GstElementFactory* _tmp8_;
 
533
#line 114 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
534
                                        _tmp7_ = factory;
 
535
#line 114 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
536
                                        _tmp8_ = _gst_object_ref0 (_tmp7_);
 
537
#line 114 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
538
                                        relevant_factories = g_list_append (relevant_factories, _tmp8_);
 
539
#line 540 "rygel-gst-utils.c"
306
540
                                }
 
541
#line 111 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
307
542
                                _gst_object_unref0 (factory);
 
543
#line 111 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
308
544
                                _gst_object_unref0 (feature);
 
545
#line 546 "rygel-gst-utils.c"
309
546
                        }
310
547
                }
311
548
        }
312
 
        _tmp4_ = g_list_length (relevant_factories);
313
 
        if (_tmp4_ == 0) {
 
549
#line 118 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
550
        _tmp9_ = relevant_factories;
 
551
#line 118 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
552
        _tmp10_ = g_list_length (_tmp9_);
 
553
#line 118 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
554
        if (_tmp10_ == ((guint) 0)) {
 
555
#line 120 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
314
556
                result = NULL;
 
557
#line 120 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
315
558
                __g_list_free__gst_object_unref0_0 (relevant_factories);
 
559
#line 120 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
316
560
                return result;
 
561
#line 562 "rygel-gst-utils.c"
317
562
        }
 
563
#line 124 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
318
564
        relevant_factories = g_list_sort (relevant_factories, _rygel_gst_utils_compare_factories_gcompare_func);
319
 
        _tmp5_ = _gst_object_ref0 ((GstElementFactory*) relevant_factories->data);
320
 
        factory = _tmp5_;
321
 
        _tmp6_ = gst_plugin_feature_get_name ((GstPluginFeature*) factory);
322
 
        _tmp7_ = gst_element_factory_make (_tmp6_, NULL);
323
 
        result = _tmp7_;
 
565
#line 127 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
566
        _tmp11_ = relevant_factories;
 
567
#line 127 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
568
        _tmp12_ = _tmp11_->data;
 
569
#line 127 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
570
        _tmp13_ = _gst_object_ref0 ((GstElementFactory*) _tmp12_);
 
571
#line 127 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
572
        factory = _tmp13_;
 
573
#line 129 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
574
        _tmp14_ = factory;
 
575
#line 129 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
576
        _tmp15_ = gst_plugin_feature_get_name ((GstPluginFeature*) _tmp14_);
 
577
#line 129 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
578
        _tmp16_ = gst_element_factory_make (_tmp15_, NULL);
 
579
#line 129 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
580
        gst_object_ref_sink (_tmp16_);
 
581
#line 129 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
582
        result = _tmp16_;
 
583
#line 129 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
324
584
        _gst_object_unref0 (factory);
 
585
#line 129 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
325
586
        __g_list_free__gst_object_unref0_0 (relevant_factories);
 
587
#line 129 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
326
588
        return result;
 
589
#line 590 "rygel-gst-utils.c"
327
590
}
328
591
 
329
592
 
330
593
static gboolean string_contains (const gchar* self, const gchar* needle) {
331
594
        gboolean result = FALSE;
332
 
        gchar* _tmp0_ = NULL;
 
595
        const gchar* _tmp0_;
 
596
        gchar* _tmp1_ = NULL;
 
597
#line 1382 "/opt/gnome2/share/vala-0.14/vapi/glib-2.0.vapi"
333
598
        g_return_val_if_fail (self != NULL, FALSE);
 
599
#line 1382 "/opt/gnome2/share/vala-0.14/vapi/glib-2.0.vapi"
334
600
        g_return_val_if_fail (needle != NULL, FALSE);
335
 
        _tmp0_ = strstr ((gchar*) self, (gchar*) needle);
336
 
        result = _tmp0_ != NULL;
 
601
#line 1383 "/opt/gnome2/share/vala-0.14/vapi/glib-2.0.vapi"
 
602
        _tmp0_ = needle;
 
603
#line 1383 "/opt/gnome2/share/vala-0.14/vapi/glib-2.0.vapi"
 
604
        _tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_);
 
605
#line 1383 "/opt/gnome2/share/vala-0.14/vapi/glib-2.0.vapi"
 
606
        result = _tmp1_ != NULL;
 
607
#line 1383 "/opt/gnome2/share/vala-0.14/vapi/glib-2.0.vapi"
337
608
        return result;
 
609
#line 610 "rygel-gst-utils.c"
338
610
}
339
611
 
340
612
 
341
613
static gboolean rygel_gst_utils_rtp_depay_filter (GstPluginFeature* feature) {
342
614
        gboolean result = FALSE;
343
 
        GType _tmp0_;
344
 
        gboolean _tmp1_;
345
 
        GstElementFactory* _tmp2_;
 
615
        GstPluginFeature* _tmp0_;
 
616
        GType _tmp1_ = 0UL;
 
617
        gboolean _tmp2_ = FALSE;
 
618
        GstPluginFeature* _tmp3_;
 
619
        GstElementFactory* _tmp4_;
346
620
        GstElementFactory* factory;
347
 
        const gchar* _tmp3_ = NULL;
348
 
        gboolean _tmp4_;
 
621
        GstElementFactory* _tmp5_;
 
622
        const gchar* _tmp6_ = NULL;
 
623
        gboolean _tmp7_ = FALSE;
 
624
#line 132 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
349
625
        g_return_val_if_fail (feature != NULL, FALSE);
350
 
        _tmp0_ = G_TYPE_FROM_INSTANCE ((GObject*) feature);
351
 
        _tmp1_ = g_type_is_a (_tmp0_, GST_TYPE_ELEMENT_FACTORY);
352
 
        if (!_tmp1_) {
 
626
#line 133 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
627
        _tmp0_ = feature;
 
628
#line 133 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
629
        _tmp1_ = G_TYPE_FROM_INSTANCE ((GObject*) _tmp0_);
 
630
#line 133 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
631
        _tmp2_ = g_type_is_a (_tmp1_, GST_TYPE_ELEMENT_FACTORY);
 
632
#line 133 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
633
        if (!_tmp2_) {
 
634
#line 134 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
353
635
                result = FALSE;
 
636
#line 134 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
354
637
                return result;
 
638
#line 639 "rygel-gst-utils.c"
355
639
        }
356
 
        _tmp2_ = _gst_object_ref0 (GST_ELEMENT_FACTORY (feature));
357
 
        factory = _tmp2_;
358
 
        _tmp3_ = gst_element_factory_get_klass (factory);
359
 
        _tmp4_ = string_contains (_tmp3_, "Depayloader");
360
 
        result = _tmp4_;
 
640
#line 137 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
641
        _tmp3_ = feature;
 
642
#line 137 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
643
        _tmp4_ = _gst_object_ref0 (GST_ELEMENT_FACTORY (_tmp3_));
 
644
#line 137 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
645
        factory = _tmp4_;
 
646
#line 139 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
647
        _tmp5_ = factory;
 
648
#line 139 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
649
        _tmp6_ = gst_element_factory_get_klass (_tmp5_);
 
650
#line 139 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
651
        _tmp7_ = string_contains (_tmp6_, "Depayloader");
 
652
#line 139 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
653
        result = _tmp7_;
 
654
#line 139 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
361
655
        _gst_object_unref0 (factory);
 
656
#line 139 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
362
657
        return result;
 
658
#line 659 "rygel-gst-utils.c"
363
659
}
364
660
 
365
661
 
366
662
static gint rygel_gst_utils_compare_factories (GstElementFactory* factory_a, GstElementFactory* factory_b) {
367
663
        gint result = 0;
368
 
        guint _tmp0_;
369
 
        guint _tmp1_;
 
664
        GstElementFactory* _tmp0_;
 
665
        guint _tmp1_ = 0U;
 
666
        GstElementFactory* _tmp2_;
 
667
        guint _tmp3_ = 0U;
 
668
#line 142 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
370
669
        g_return_val_if_fail (factory_a != NULL, 0);
 
670
#line 142 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
371
671
        g_return_val_if_fail (factory_b != NULL, 0);
372
 
        _tmp0_ = gst_plugin_feature_get_rank ((GstPluginFeature*) factory_b);
373
 
        _tmp1_ = gst_plugin_feature_get_rank ((GstPluginFeature*) factory_a);
374
 
        result = (gint) (_tmp0_ - _tmp1_);
 
672
#line 144 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
673
        _tmp0_ = factory_b;
 
674
#line 144 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
675
        _tmp1_ = gst_plugin_feature_get_rank ((GstPluginFeature*) _tmp0_);
 
676
#line 144 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
677
        _tmp2_ = factory_a;
 
678
#line 144 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
679
        _tmp3_ = gst_plugin_feature_get_rank ((GstPluginFeature*) _tmp2_);
 
680
#line 144 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
 
681
        result = (gint) (_tmp1_ - _tmp3_);
 
682
#line 144 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
375
683
        return result;
 
684
#line 685 "rygel-gst-utils.c"
376
685
}
377
686
 
378
687
 
379
688
RygelGstUtils* rygel_gst_utils_construct (GType object_type) {
380
689
        RygelGstUtils* self = NULL;
 
690
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
381
691
        self = (RygelGstUtils*) g_type_create_instance (object_type);
 
692
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
382
693
        return self;
 
694
#line 695 "rygel-gst-utils.c"
383
695
}
384
696
 
385
697
 
386
698
static void rygel_value_gst_utils_init (GValue* value) {
 
699
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
387
700
        value->data[0].v_pointer = NULL;
 
701
#line 702 "rygel-gst-utils.c"
388
702
}
389
703
 
390
704
 
391
705
static void rygel_value_gst_utils_free_value (GValue* value) {
 
706
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
392
707
        if (value->data[0].v_pointer) {
 
708
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
393
709
                rygel_gst_utils_unref (value->data[0].v_pointer);
 
710
#line 711 "rygel-gst-utils.c"
394
711
        }
395
712
}
396
713
 
397
714
 
398
715
static void rygel_value_gst_utils_copy_value (const GValue* src_value, GValue* dest_value) {
 
716
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
399
717
        if (src_value->data[0].v_pointer) {
 
718
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
400
719
                dest_value->data[0].v_pointer = rygel_gst_utils_ref (src_value->data[0].v_pointer);
 
720
#line 721 "rygel-gst-utils.c"
401
721
        } else {
 
722
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
402
723
                dest_value->data[0].v_pointer = NULL;
 
724
#line 725 "rygel-gst-utils.c"
403
725
        }
404
726
}
405
727
 
406
728
 
407
729
static gpointer rygel_value_gst_utils_peek_pointer (const GValue* value) {
 
730
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
408
731
        return value->data[0].v_pointer;
 
732
#line 733 "rygel-gst-utils.c"
409
733
}
410
734
 
411
735
 
412
736
static gchar* rygel_value_gst_utils_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
 
737
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
413
738
        if (collect_values[0].v_pointer) {
 
739
#line 740 "rygel-gst-utils.c"
414
740
                RygelGstUtils* object;
415
741
                object = collect_values[0].v_pointer;
 
742
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
416
743
                if (object->parent_instance.g_class == NULL) {
 
744
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
417
745
                        return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
 
746
#line 747 "rygel-gst-utils.c"
418
747
                } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
 
748
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
419
749
                        return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
 
750
#line 751 "rygel-gst-utils.c"
420
751
                }
 
752
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
421
753
                value->data[0].v_pointer = rygel_gst_utils_ref (object);
 
754
#line 755 "rygel-gst-utils.c"
422
755
        } else {
 
756
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
423
757
                value->data[0].v_pointer = NULL;
 
758
#line 759 "rygel-gst-utils.c"
424
759
        }
 
760
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
425
761
        return NULL;
 
762
#line 763 "rygel-gst-utils.c"
426
763
}
427
764
 
428
765
 
429
766
static gchar* rygel_value_gst_utils_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
430
767
        RygelGstUtils** object_p;
431
768
        object_p = collect_values[0].v_pointer;
 
769
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
432
770
        if (!object_p) {
 
771
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
433
772
                return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
 
773
#line 774 "rygel-gst-utils.c"
434
774
        }
 
775
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
435
776
        if (!value->data[0].v_pointer) {
 
777
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
436
778
                *object_p = NULL;
 
779
#line 780 "rygel-gst-utils.c"
437
780
        } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
 
781
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
438
782
                *object_p = value->data[0].v_pointer;
 
783
#line 784 "rygel-gst-utils.c"
439
784
        } else {
 
785
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
440
786
                *object_p = rygel_gst_utils_ref (value->data[0].v_pointer);
 
787
#line 788 "rygel-gst-utils.c"
441
788
        }
 
789
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
442
790
        return NULL;
 
791
#line 792 "rygel-gst-utils.c"
443
792
}
444
793
 
445
794
 
446
795
GParamSpec* rygel_param_spec_gst_utils (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
447
796
        RygelParamSpecGstUtils* spec;
 
797
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
448
798
        g_return_val_if_fail (g_type_is_a (object_type, RYGEL_TYPE_GST_UTILS), NULL);
 
799
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
449
800
        spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
 
801
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
450
802
        G_PARAM_SPEC (spec)->value_type = object_type;
 
803
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
451
804
        return G_PARAM_SPEC (spec);
 
805
#line 806 "rygel-gst-utils.c"
452
806
}
453
807
 
454
808
 
455
809
gpointer rygel_value_get_gst_utils (const GValue* value) {
 
810
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
456
811
        g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, RYGEL_TYPE_GST_UTILS), NULL);
 
812
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
457
813
        return value->data[0].v_pointer;
 
814
#line 815 "rygel-gst-utils.c"
458
815
}
459
816
 
460
817
 
461
818
void rygel_value_set_gst_utils (GValue* value, gpointer v_object) {
462
819
        RygelGstUtils* old;
 
820
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
463
821
        g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, RYGEL_TYPE_GST_UTILS));
 
822
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
464
823
        old = value->data[0].v_pointer;
 
824
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
465
825
        if (v_object) {
 
826
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
466
827
                g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, RYGEL_TYPE_GST_UTILS));
 
828
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
467
829
                g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
 
830
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
468
831
                value->data[0].v_pointer = v_object;
 
832
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
469
833
                rygel_gst_utils_ref (value->data[0].v_pointer);
 
834
#line 835 "rygel-gst-utils.c"
470
835
        } else {
 
836
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
471
837
                value->data[0].v_pointer = NULL;
 
838
#line 839 "rygel-gst-utils.c"
472
839
        }
 
840
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
473
841
        if (old) {
 
842
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
474
843
                rygel_gst_utils_unref (old);
 
844
#line 845 "rygel-gst-utils.c"
475
845
        }
476
846
}
477
847
 
478
848
 
479
849
void rygel_value_take_gst_utils (GValue* value, gpointer v_object) {
480
850
        RygelGstUtils* old;
 
851
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
481
852
        g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, RYGEL_TYPE_GST_UTILS));
 
853
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
482
854
        old = value->data[0].v_pointer;
 
855
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
483
856
        if (v_object) {
 
857
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
484
858
                g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, RYGEL_TYPE_GST_UTILS));
 
859
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
485
860
                g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
 
861
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
486
862
                value->data[0].v_pointer = v_object;
 
863
#line 864 "rygel-gst-utils.c"
487
864
        } else {
 
865
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
488
866
                value->data[0].v_pointer = NULL;
 
867
#line 868 "rygel-gst-utils.c"
489
868
        }
 
869
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
490
870
        if (old) {
 
871
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
491
872
                rygel_gst_utils_unref (old);
 
873
#line 874 "rygel-gst-utils.c"
492
874
        }
493
875
}
494
876
 
495
877
 
496
878
static void rygel_gst_utils_class_init (RygelGstUtilsClass * klass) {
 
879
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
497
880
        rygel_gst_utils_parent_class = g_type_class_peek_parent (klass);
 
881
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
498
882
        RYGEL_GST_UTILS_CLASS (klass)->finalize = rygel_gst_utils_finalize;
 
883
#line 884 "rygel-gst-utils.c"
499
884
}
500
885
 
501
886
 
502
887
static void rygel_gst_utils_instance_init (RygelGstUtils * self) {
 
888
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
503
889
        self->ref_count = 1;
 
890
#line 891 "rygel-gst-utils.c"
504
891
}
505
892
 
506
893
 
507
894
static void rygel_gst_utils_finalize (RygelGstUtils* obj) {
508
895
        RygelGstUtils * self;
 
896
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
509
897
        self = RYGEL_GST_UTILS (obj);
 
898
#line 899 "rygel-gst-utils.c"
510
899
}
511
900
 
512
901
 
527
916
gpointer rygel_gst_utils_ref (gpointer instance) {
528
917
        RygelGstUtils* self;
529
918
        self = instance;
 
919
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
530
920
        g_atomic_int_inc (&self->ref_count);
 
921
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
531
922
        return instance;
 
923
#line 924 "rygel-gst-utils.c"
532
924
}
533
925
 
534
926
 
535
927
void rygel_gst_utils_unref (gpointer instance) {
536
928
        RygelGstUtils* self;
537
929
        self = instance;
 
930
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
538
931
        if (g_atomic_int_dec_and_test (&self->ref_count)) {
 
932
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
539
933
                RYGEL_GST_UTILS_GET_CLASS (self)->finalize (self);
 
934
#line 31 "/home/jens/Source/rygel/src/rygel/rygel-gst-utils.vala"
540
935
                g_type_free_instance ((GTypeInstance *) self);
 
936
#line 937 "rygel-gst-utils.c"
541
937
        }
542
938
}
543
939