164
164
static GstFlowReturn rygel_http_gst_sink_real_render (GstBaseSink* base, GstBuffer* buffer);
165
165
static Block2Data* block2_data_ref (Block2Data* _data2_);
166
166
static void block2_data_unref (Block2Data* _data2_);
167
static gboolean _lambda2_ (Block2Data* _data2_);
167
static gboolean __lambda2_ (Block2Data* _data2_);
168
168
gboolean rygel_http_gst_sink_push_data (RygelHTTPGstSink* self, GstBuffer* buffer);
169
static gboolean __lambda2__gsource_func (gpointer self);
169
static gboolean ___lambda2__gsource_func (gpointer self);
170
170
void rygel_http_response_push_data (RygelHTTPResponse* self, guint8* data, int data_length1);
171
171
static void rygel_http_gst_sink_finalize (GObject* obj);
174
174
static void _rygel_http_gst_sink_on_cancelled_g_cancellable_cancelled (GCancellable* _sender, gpointer self) {
175
#line 74 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
175
176
rygel_http_gst_sink_on_cancelled (self);
177
#line 178 "rygel-http-gst-sink.c"
179
181
static void _rygel_http_gst_sink_on_wrote_chunk_soup_message_wrote_chunk (SoupMessage* _sender, gpointer self) {
182
#line 75 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
180
183
rygel_http_gst_sink_on_wrote_chunk (self, _sender);
184
#line 185 "rygel-http-gst-sink.c"
184
188
RygelHTTPGstSink* rygel_http_gst_sink_construct (GType object_type, RygelHTTPResponse* response) {
185
189
RygelHTTPGstSink * self = NULL;
186
GMutex* _tmp0_ = NULL;
187
GCond* _tmp1_ = NULL;
188
GCancellable* _tmp2_ = NULL;
193
GCancellable* _tmp3_;
194
RygelHTTPResponse* _tmp4_;
197
RygelHTTPResponse* _tmp7_;
198
RygelHTTPResponse* _tmp8_;
199
RygelHTTPSeek* _tmp9_;
200
GCancellable* _tmp16_;
201
RygelHTTPResponse* _tmp17_;
202
SoupMessage* _tmp18_;
203
#line 54 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
190
204
g_return_val_if_fail (response != NULL, NULL);
205
#line 54 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
191
206
self = (RygelHTTPGstSink*) g_object_new (object_type, NULL);
207
#line 55 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
192
208
self->priv->chunks_buffered = (gint64) 0;
209
#line 56 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
193
210
self->priv->bytes_sent = (gint64) 0;
194
self->priv->max_bytes = G_MAXINT64;
195
_tmp0_ = g_mutex_new ();
211
#line 57 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
213
#line 57 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
214
self->priv->max_bytes = _tmp0_;
215
#line 58 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
216
_tmp1_ = g_mutex_new ();
217
#line 58 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
196
218
_g_mutex_free0 (self->priv->buffer_mutex);
197
self->priv->buffer_mutex = _tmp0_;
198
_tmp1_ = g_cond_new ();
219
#line 58 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
220
self->priv->buffer_mutex = _tmp1_;
221
#line 59 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
222
_tmp2_ = g_cond_new ();
223
#line 59 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
199
224
_g_cond_free0 (self->priv->buffer_condition);
200
self->priv->buffer_condition = _tmp1_;
201
_tmp2_ = g_cancellable_new ();
225
#line 59 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
226
self->priv->buffer_condition = _tmp2_;
227
#line 61 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
228
_tmp3_ = g_cancellable_new ();
229
#line 61 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
202
230
_g_object_unref0 (self->cancellable);
203
self->cancellable = _tmp2_;
204
_tmp3_ = rygel_http_response_get_priority (response);
205
self->priv->priority = _tmp3_;
206
self->priv->response = response;
231
#line 61 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
232
self->cancellable = _tmp3_;
233
#line 62 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
235
#line 62 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
236
_tmp5_ = rygel_http_response_get_priority (_tmp4_);
237
#line 62 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
239
#line 62 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
240
self->priv->priority = _tmp6_;
241
#line 63 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
243
#line 63 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
244
self->priv->response = _tmp7_;
245
#line 65 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
207
246
gst_base_sink_set_sync ((GstBaseSink*) self, FALSE);
247
#line 66 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
208
248
gst_object_set_name ((GstObject*) self, RYGEL_HTTP_GST_SINK_NAME);
209
if (response->seek != NULL) {
210
if (RYGEL_IS_HTTP_BYTE_SEEK (response->seek)) {
212
_tmp4_ = rygel_http_seek_get_length (response->seek);
213
self->priv->max_bytes = _tmp4_;
249
#line 68 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
251
#line 68 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
252
_tmp9_ = _tmp8_->seek;
253
#line 68 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
254
if (_tmp9_ != NULL) {
255
#line 256 "rygel-http-gst-sink.c"
256
RygelHTTPResponse* _tmp10_;
257
RygelHTTPSeek* _tmp11_;
258
#line 69 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
260
#line 69 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
261
_tmp11_ = _tmp10_->seek;
262
#line 69 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
263
if (RYGEL_IS_HTTP_BYTE_SEEK (_tmp11_)) {
264
#line 265 "rygel-http-gst-sink.c"
265
RygelHTTPResponse* _tmp12_;
266
RygelHTTPSeek* _tmp13_;
269
#line 70 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
271
#line 70 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
272
_tmp13_ = _tmp12_->seek;
273
#line 70 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
274
_tmp14_ = rygel_http_seek_get_length (_tmp13_);
275
#line 70 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
277
#line 70 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
278
self->priv->max_bytes = _tmp15_;
279
#line 280 "rygel-http-gst-sink.c"
216
g_signal_connect_object (self->cancellable, "cancelled", (GCallback) _rygel_http_gst_sink_on_cancelled_g_cancellable_cancelled, self, 0);
217
g_signal_connect_object (response->msg, "wrote-chunk", (GCallback) _rygel_http_gst_sink_on_wrote_chunk_soup_message_wrote_chunk, self, 0);
282
#line 74 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
283
_tmp16_ = self->cancellable;
284
#line 74 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
285
g_signal_connect_object (_tmp16_, "cancelled", (GCallback) _rygel_http_gst_sink_on_cancelled_g_cancellable_cancelled, self, 0);
286
#line 75 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
288
#line 75 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
289
_tmp18_ = _tmp17_->msg;
290
#line 75 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
291
g_signal_connect_object (_tmp18_, "wrote-chunk", (GCallback) _rygel_http_gst_sink_on_wrote_chunk_soup_message_wrote_chunk, self, 0);
292
#line 54 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
294
#line 295 "rygel-http-gst-sink.c"
222
298
RygelHTTPGstSink* rygel_http_gst_sink_new (RygelHTTPResponse* response) {
299
#line 54 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
223
300
return rygel_http_gst_sink_construct (RYGEL_TYPE_HTTP_GST_SINK, response);
301
#line 302 "rygel-http-gst-sink.c"
227
305
static gpointer _gst_buffer_ref0 (gpointer self) {
306
#line 78 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
228
307
return self ? gst_buffer_ref (self) : NULL;
308
#line 309 "rygel-http-gst-sink.c"
232
312
static Block2Data* block2_data_ref (Block2Data* _data2_) {
313
#line 78 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
233
314
g_atomic_int_inc (&_data2_->_ref_count_);
315
#line 78 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
317
#line 318 "rygel-http-gst-sink.c"
238
321
static void block2_data_unref (Block2Data* _data2_) {
322
#line 78 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
239
323
if (g_atomic_int_dec_and_test (&_data2_->_ref_count_)) {
324
#line 78 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
240
325
_gst_object_unref0 (_data2_->self);
326
#line 78 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
241
327
_gst_buffer_unref0 (_data2_->buffer);
328
#line 78 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
242
329
g_slice_free (Block2Data, _data2_);
330
#line 331 "rygel-http-gst-sink.c"
247
static gboolean _lambda2_ (Block2Data* _data2_) {
335
static gboolean __lambda2_ (Block2Data* _data2_) {
248
336
RygelHTTPGstSink * self;
249
337
gboolean result = FALSE;
339
gboolean _tmp1_ = FALSE;
340
#line 91 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
251
341
self = _data2_->self;
252
_tmp0_ = rygel_http_gst_sink_push_data (self, _data2_->buffer);
342
#line 92 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
343
_tmp0_ = _data2_->buffer;
344
#line 92 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
345
_tmp1_ = rygel_http_gst_sink_push_data (self, _tmp0_);
346
#line 92 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
348
#line 92 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
350
#line 351 "rygel-http-gst-sink.c"
258
static gboolean __lambda2__gsource_func (gpointer self) {
354
static gboolean ___lambda2__gsource_func (gpointer self) {
260
result = _lambda2_ (self);
356
result = __lambda2_ (self);
357
#line 91 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
359
#line 360 "rygel-http-gst-sink.c"
266
364
RygelHTTPGstSink * self;
267
365
GstFlowReturn result = 0;
268
366
Block2Data* _data2_;
371
GCancellable* _tmp11_;
372
gboolean _tmp12_ = FALSE;
374
#line 78 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
270
375
self = (RygelHTTPGstSink*) base;
376
#line 78 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
271
377
g_return_val_if_fail (buffer != NULL, 0);
378
#line 78 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
272
379
_data2_ = g_slice_new0 (Block2Data);
380
#line 78 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
273
381
_data2_->_ref_count_ = 1;
382
#line 78 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
274
383
_data2_->self = gst_object_ref (self);
275
_data2_->buffer = _gst_buffer_ref0 (buffer);
276
g_mutex_lock (self->priv->buffer_mutex);
384
#line 78 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
386
#line 78 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
387
_tmp1_ = _gst_buffer_ref0 (_tmp0_);
388
#line 78 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
389
_data2_->buffer = _tmp1_;
390
#line 79 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
391
_tmp2_ = self->priv->buffer_mutex;
392
#line 79 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
393
g_mutex_lock (_tmp2_);
394
#line 80 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
278
gboolean _tmp0_ = FALSE;
280
_tmp1_ = g_cancellable_is_cancelled (self->cancellable);
282
_tmp0_ = self->priv->chunks_buffered > RYGEL_HTTP_GST_SINK_MAX_BUFFERED_CHUNKS;
396
#line 397 "rygel-http-gst-sink.c"
397
gboolean _tmp3_ = FALSE;
398
GCancellable* _tmp4_;
399
gboolean _tmp5_ = FALSE;
403
#line 80 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
404
_tmp4_ = self->cancellable;
405
#line 80 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
406
_tmp5_ = g_cancellable_is_cancelled (_tmp4_);
407
#line 80 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
409
#line 410 "rygel-http-gst-sink.c"
411
#line 81 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
412
_tmp6_ = self->priv->chunks_buffered;
413
#line 81 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
414
_tmp3_ = _tmp6_ > ((gint64) RYGEL_HTTP_GST_SINK_MAX_BUFFERED_CHUNKS);
415
#line 416 "rygel-http-gst-sink.c"
417
#line 80 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
419
#line 420 "rygel-http-gst-sink.c"
421
#line 80 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
423
#line 80 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
425
#line 80 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
427
#line 428 "rygel-http-gst-sink.c"
289
g_cond_wait (self->priv->buffer_condition, self->priv->buffer_mutex);
429
#line 83 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
430
_tmp8_ = self->priv->buffer_condition;
431
#line 83 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
432
_tmp9_ = self->priv->buffer_mutex;
433
#line 83 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
434
g_cond_wait (_tmp8_, _tmp9_);
435
#line 436 "rygel-http-gst-sink.c"
291
g_mutex_unlock (self->priv->buffer_mutex);
292
_tmp2_ = g_cancellable_is_cancelled (self->cancellable);
437
#line 85 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
438
_tmp10_ = self->priv->buffer_mutex;
439
#line 85 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
440
g_mutex_unlock (_tmp10_);
441
#line 87 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
442
_tmp11_ = self->cancellable;
443
#line 87 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
444
_tmp12_ = g_cancellable_is_cancelled (_tmp11_);
445
#line 87 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
447
#line 88 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
294
448
result = GST_FLOW_OK;
449
#line 88 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
295
450
block2_data_unref (_data2_);
451
#line 88 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
453
#line 88 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
455
#line 456 "rygel-http-gst-sink.c"
299
g_idle_add_full (self->priv->priority, __lambda2__gsource_func, block2_data_ref (_data2_), block2_data_unref);
457
#line 91 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
458
_tmp13_ = self->priv->priority;
459
#line 91 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
460
g_idle_add_full (_tmp13_, ___lambda2__gsource_func, block2_data_ref (_data2_), block2_data_unref);
461
#line 95 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
300
462
result = GST_FLOW_OK;
463
#line 95 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
301
464
block2_data_unref (_data2_);
465
#line 95 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
467
#line 95 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
469
#line 470 "rygel-http-gst-sink.c"
307
473
gboolean rygel_http_gst_sink_push_data (RygelHTTPGstSink* self, GstBuffer* buffer) {
308
474
gboolean result = FALSE;
310
gboolean _tmp0_ = FALSE;
478
gboolean _tmp2_ = FALSE;
479
GCancellable* _tmp3_;
480
gboolean _tmp4_ = FALSE;
485
gint64 _tmp10_ = 0LL;
487
RygelHTTPResponse* _tmp11_;
490
gint _tmp13__length1;
495
#line 99 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
314
496
g_return_val_if_fail (self != NULL, FALSE);
497
#line 99 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
315
498
g_return_val_if_fail (buffer != NULL, FALSE);
316
left = self->priv->max_bytes - self->priv->bytes_sent;
317
_tmp1_ = g_cancellable_is_cancelled (self->cancellable);
499
#line 100 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
500
_tmp0_ = self->priv->max_bytes;
501
#line 100 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
502
_tmp1_ = self->priv->bytes_sent;
503
#line 100 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
504
left = _tmp0_ - _tmp1_;
505
#line 102 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
506
_tmp3_ = self->cancellable;
507
#line 102 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
508
_tmp4_ = g_cancellable_is_cancelled (_tmp3_);
509
#line 102 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
511
#line 102 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
513
#line 514 "rygel-http-gst-sink.c"
516
#line 102 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
518
#line 102 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
519
_tmp2_ = _tmp5_ <= ((gint64) 0);
520
#line 521 "rygel-http-gst-sink.c"
522
#line 102 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
524
#line 102 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
526
#line 103 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
528
#line 103 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
530
#line 531 "rygel-http-gst-sink.c"
327
_tmp2_ = MIN ((gint64) buffer->size, left);
329
rygel_http_response_push_data (self->priv->response, buffer->data + 0, to_send - 0);
330
self->priv->chunks_buffered++;
331
self->priv->bytes_sent = self->priv->bytes_sent + to_send;
532
#line 106 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
534
#line 106 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
535
_tmp8_ = _tmp7_->size;
536
#line 106 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
538
#line 106 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
539
_tmp10_ = MIN ((gint64) _tmp8_, _tmp9_);
540
#line 106 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
542
#line 108 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
543
_tmp11_ = self->priv->response;
544
#line 108 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
546
#line 108 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
547
_tmp13_ = _tmp12_->data;
548
#line 108 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
549
_tmp13__length1 = (gint) _tmp12_->size;
550
#line 108 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
552
#line 108 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
553
rygel_http_response_push_data (_tmp11_, _tmp13_ + 0, _tmp14_ - 0);
554
#line 109 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
555
_tmp15_ = self->priv->chunks_buffered;
556
#line 109 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
557
self->priv->chunks_buffered = _tmp15_ + 1;
558
#line 110 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
559
_tmp16_ = self->priv->bytes_sent;
560
#line 110 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
562
#line 110 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
563
self->priv->bytes_sent = _tmp16_ + _tmp17_;
564
#line 112 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
566
#line 112 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
568
#line 569 "rygel-http-gst-sink.c"
337
572
static void rygel_http_gst_sink_on_wrote_chunk (RygelHTTPGstSink* self, SoupMessage* msg) {
577
#line 115 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
338
578
g_return_if_fail (self != NULL);
579
#line 115 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
339
580
g_return_if_fail (msg != NULL);
340
g_mutex_lock (self->priv->buffer_mutex);
341
self->priv->chunks_buffered--;
342
if (self->priv->chunks_buffered < RYGEL_HTTP_GST_SINK_MIN_BUFFERED_CHUNKS) {
343
g_cond_broadcast (self->priv->buffer_condition);
581
#line 116 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
582
_tmp0_ = self->priv->buffer_mutex;
583
#line 116 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
584
g_mutex_lock (_tmp0_);
585
#line 117 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
586
_tmp1_ = self->priv->chunks_buffered;
587
#line 117 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
588
self->priv->chunks_buffered = _tmp1_ - 1;
589
#line 119 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
590
_tmp2_ = self->priv->chunks_buffered;
591
#line 119 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
592
if (_tmp2_ < ((gint64) RYGEL_HTTP_GST_SINK_MIN_BUFFERED_CHUNKS)) {
593
#line 594 "rygel-http-gst-sink.c"
595
#line 120 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
596
_tmp3_ = self->priv->buffer_condition;
597
#line 120 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
598
g_cond_broadcast (_tmp3_);
599
#line 600 "rygel-http-gst-sink.c"
345
g_mutex_unlock (self->priv->buffer_mutex);
601
#line 122 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
602
_tmp4_ = self->priv->buffer_mutex;
603
#line 122 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
604
g_mutex_unlock (_tmp4_);
605
#line 606 "rygel-http-gst-sink.c"
349
609
static void rygel_http_gst_sink_on_cancelled (RygelHTTPGstSink* self) {
613
RygelHTTPResponse* _tmp3_;
616
#line 125 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
351
617
g_return_if_fail (self != NULL);
352
g_mutex_lock (self->priv->buffer_mutex);
353
g_cond_broadcast (self->priv->buffer_condition);
354
g_mutex_unlock (self->priv->buffer_mutex);
355
g_signal_parse_name ("wrote-chunk", SOUP_TYPE_MESSAGE, &_tmp0_, NULL, FALSE);
356
g_signal_handlers_disconnect_matched (self->priv->response->msg, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _rygel_http_gst_sink_on_wrote_chunk_soup_message_wrote_chunk, self);
618
#line 126 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
619
_tmp0_ = self->priv->buffer_mutex;
620
#line 126 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
621
g_mutex_lock (_tmp0_);
622
#line 127 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
623
_tmp1_ = self->priv->buffer_condition;
624
#line 127 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
625
g_cond_broadcast (_tmp1_);
626
#line 128 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
627
_tmp2_ = self->priv->buffer_mutex;
628
#line 128 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
629
g_mutex_unlock (_tmp2_);
630
#line 130 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
631
_tmp3_ = self->priv->response;
632
#line 130 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
633
_tmp4_ = _tmp3_->msg;
634
#line 130 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
635
g_signal_parse_name ("wrote-chunk", soup_message_get_type (), &_tmp5_, NULL, FALSE);
636
#line 130 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
637
g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _rygel_http_gst_sink_on_wrote_chunk_soup_message_wrote_chunk, self);
638
#line 639 "rygel-http-gst-sink.c"
360
642
static gpointer _gst_caps_ref0 (gpointer self) {
643
#line 47 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
361
644
return self ? gst_caps_ref (self) : NULL;
645
#line 646 "rygel-http-gst-sink.c"
365
649
static void rygel_http_gst_sink_class_init (RygelHTTPGstSinkClass * klass) {
366
GstCaps* _tmp0_ = NULL;
369
GstPadTemplate* _tmp2_ = NULL;
654
GstPadTemplate* _tmp3_;
370
655
GstPadTemplate* template;
656
GstPadTemplate* _tmp4_;
657
#line 26 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
371
658
rygel_http_gst_sink_parent_class = g_type_class_peek_parent (klass);
659
#line 26 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
372
660
g_type_class_add_private (klass, sizeof (RygelHTTPGstSinkPrivate));
661
#line 26 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
373
662
GST_BASE_SINK_CLASS (klass)->render = rygel_http_gst_sink_real_render;
663
#line 26 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
374
664
G_OBJECT_CLASS (klass)->finalize = rygel_http_gst_sink_finalize;
665
#line 46 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
375
666
_tmp0_ = gst_caps_new_any ();
667
#line 46 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
377
_tmp1_ = _gst_caps_ref0 (caps);
378
_tmp2_ = gst_pad_template_new (RYGEL_HTTP_GST_SINK_PAD_NAME, GST_PAD_SINK, GST_PAD_ALWAYS, _tmp1_);
380
gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass), template);
669
#line 47 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
671
#line 47 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
672
_tmp2_ = _gst_caps_ref0 (_tmp1_);
673
#line 47 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
674
_tmp3_ = gst_pad_template_new (RYGEL_HTTP_GST_SINK_PAD_NAME, GST_PAD_SINK, GST_PAD_ALWAYS, _tmp2_);
675
#line 47 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
676
gst_object_ref_sink (_tmp3_);
677
#line 47 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
679
#line 51 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
681
#line 51 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
682
gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass), _tmp4_);
683
#line 45 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
381
684
_gst_object_unref0 (template);
685
#line 45 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
382
686
_gst_caps_unref0 (caps);
687
#line 688 "rygel-http-gst-sink.c"
386
691
static void rygel_http_gst_sink_instance_init (RygelHTTPGstSink * self) {
692
#line 26 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
387
693
self->priv = RYGEL_HTTP_GST_SINK_GET_PRIVATE (self);
694
#line 695 "rygel-http-gst-sink.c"
391
698
static void rygel_http_gst_sink_finalize (GObject* obj) {
392
699
RygelHTTPGstSink * self;
700
#line 26 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
393
701
self = RYGEL_HTTP_GST_SINK (obj);
702
#line 33 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
394
703
_g_object_unref0 (self->cancellable);
704
#line 42 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
395
705
_g_mutex_free0 (self->priv->buffer_mutex);
706
#line 43 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
396
707
_g_cond_free0 (self->priv->buffer_condition);
708
#line 26 "/home/jens/Source/rygel/tests/rygel-http-gst-sink.vala"
397
709
G_OBJECT_CLASS (rygel_http_gst_sink_parent_class)->finalize (obj);
710
#line 711 "rygel-http-gst-sink.c"