• Home
  • Raw
  • Download

Lines Matching refs:combine

2227 get_current_stream_number (GstPlayBin * playbin, GstSourceCombine * combine,  in get_current_stream_number()  argument
2236 if (!combine->has_active_pad) { in get_current_stream_number()
2476 source_combine_remove_pads (GstPlayBin * playbin, GstSourceCombine * combine) in source_combine_remove_pads() argument
2478 if (combine->sinkpad) { in source_combine_remove_pads()
2480 gst_pad_unlink (combine->srcpad, combine->sinkpad); in source_combine_remove_pads()
2484 gst_play_sink_release_pad (playbin->playsink, combine->sinkpad); in source_combine_remove_pads()
2485 gst_object_unref (combine->sinkpad); in source_combine_remove_pads()
2486 combine->sinkpad = NULL; in source_combine_remove_pads()
2488 gst_object_unref (combine->srcpad); in source_combine_remove_pads()
2489 combine->srcpad = NULL; in source_combine_remove_pads()
3988 GstSourceCombine *combine = NULL; local
3996 combine = &group->combiner[i];
4001 if (!combine) {
4006 switch (combine->type) {
4010 combine, group->video_channels);
4023 combine, group->audio_channels);
4042 combine, group->text_channels);
4272 GstSourceCombine *combine = NULL; local
4294 for (pass = 0; !combine && pass < 2; pass++) {
4297 combine = &group->combiner[i];
4303 combine = &group->combiner[i];
4311 if (combine) {
4323 if (combine == NULL) {
4329 if (combine->combiner == NULL && playbin->have_selector) {
4333 combine->combiner = custom_combiner;
4335 combine->combiner = gst_element_factory_make ("input-selector", NULL);
4337 if (combine->combiner == NULL) {
4348 combine->has_active_pad =
4349 g_object_class_find_property (G_OBJECT_GET_CLASS (combine->combiner),
4354 if (combine->type == GST_PLAY_SINK_TYPE_TEXT)
4357 g_object_set (combine->combiner, "sync-streams", FALSE,
4360 g_object_set (combine->combiner, "sync-streams", TRUE,
4364 g_object_set (combine->combiner, "sync-streams", TRUE, NULL);
4367 if (combine->has_active_pad)
4368 g_signal_connect (combine->combiner, "notify::active-pad",
4372 combine->combiner);
4373 gst_element_set_state (combine->combiner, GST_STATE_PAUSED);
4374 gst_bin_add (GST_BIN_CAST (playbin), combine->combiner);
4380 if (combine->srcpad == NULL) {
4381 if (combine->combiner) {
4383 combine->srcpad = gst_element_get_static_pad (combine->combiner, "src");
4386 combine->srcpad = gst_object_ref (pad);
4393 GST_DEBUG_OBJECT (playbin, "blocking %" GST_PTR_FORMAT, combine->srcpad);
4394 combine->block_id =
4395 gst_pad_add_probe (combine->srcpad, GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM,
4400 if (combine->combiner) {
4402 gst_element_request_pad_simple (combine->combiner, "sink_%u"))) {
4408 combine->has_always_ok =
4411 combine->has_tags =
4416 g_object_set_data (G_OBJECT (sinkpad), "playbin.combine", combine);
4418 if (combine->has_tags) {
4427 ntdata->stream_id = combine->channels->len;
4428 ntdata->type = combine->type;
4440 g_ptr_array_add (combine->channels, sinkpad);
4451 GST_DEBUG_PAD_NAME (pad), combine->combiner);
4462 g_object_set_data (G_OBJECT (pad), "playbin.combine", combine);
4475 switch (combine->type) {
4495 if (combine->has_always_ok) {
4530 ("Failed to get request pad from combiner %p.", combine->combiner));
4549 GstSourceCombine *combine; local
4567 if ((combine = g_object_get_data (G_OBJECT (pad), "playbin.combine"))) {
4568 g_assert (combine->combiner == NULL);
4569 g_assert (combine->srcpad == pad);
4570 source_combine_remove_pads (playbin, combine);
4585 if ((combine = g_object_get_data (G_OBJECT (peer), "playbin.combine"))) {
4586 if (combine->has_tags) {
4598 g_ptr_array_remove (combine->channels, peer);
4602 switch (combine->type) {
4616 if (!combine->channels->len && combine->combiner) {
4618 GST_DEBUG_OBJECT (playbin, "removing combiner %p", combine->combiner);
4619 source_combine_remove_pads (playbin, combine);
4620 gst_element_set_state (combine->combiner, GST_STATE_NULL);
4621 gst_bin_remove (GST_BIN_CAST (playbin), combine->combiner);
4622 combine->combiner = NULL;
4677 GstSourceCombine *combine = &group->combiner[i]; local
4683 if (combine->srcpad && combine->sinkpad == NULL) {
4684 GST_DEBUG_OBJECT (playbin, "requesting new sink pad %d", combine->type);
4685 combine->sinkpad =
4686 gst_play_sink_request_pad (playbin->playsink, combine->type);
4687 gst_object_ref (combine->sinkpad);
4688 } else if (combine->srcpad && combine->sinkpad) {
4689 GST_DEBUG_OBJECT (playbin, "refreshing new sink pad %d", combine->type);
4693 gst_play_sink_refresh_pad (playbin->playsink, combine->sinkpad,
4694 combine->type);
4697 gst_play_sink_refresh_pad (playbin->playsink, combine->sinkpad,
4698 combine->type);
4700 } else if (combine->sinkpad && combine->srcpad == NULL) {
4701 GST_DEBUG_OBJECT (playbin, "releasing sink pad %d", combine->type);
4702 gst_play_sink_release_pad (playbin->playsink, combine->sinkpad);
4703 gst_object_unref (combine->sinkpad);
4704 combine->sinkpad = NULL;
4706 if (combine->sinkpad && combine->srcpad &&
4707 !gst_pad_is_linked (combine->srcpad)) {
4708 res = gst_pad_link (combine->srcpad, combine->sinkpad);
4710 combine->media_list[0], res);
4794 GstSourceCombine *combine = &group->combiner[i]; local
4796 if (combine->srcpad) {
4798 combine->srcpad);
4799 if (combine->block_id) {
4800 gst_pad_remove_probe (combine->srcpad, combine->block_id);
4801 combine->block_id = 0;
4836 GstSourceCombine *combine = &group->combiner[i]; local
4838 if (combine->srcpad) {
4839 if (combine->sinkpad == NULL) {
4841 combine->sinkpad =
4844 gst_object_ref (combine->sinkpad);
4845 res = gst_pad_link (combine->srcpad, combine->sinkpad);
4849 combine->srcpad);
4850 if (combine->block_id) {
4851 gst_pad_remove_probe (combine->srcpad, combine->block_id);
4852 combine->block_id = 0;
6805 GstSourceCombine *combine = &group->combiner[i]; local
6807 GST_DEBUG_OBJECT (playbin, "unlinking combiner %s", combine->media_list[0]);
6809 if (combine->srcpad) {
6810 source_combine_remove_pads (playbin, combine);
6813 if (combine->combiner) {
6817 for (n = 0; n < combine->channels->len; n++) {
6818 GstPad *sinkpad = g_ptr_array_index (combine->channels, n);
6820 gst_element_release_request_pad (combine->combiner, sinkpad);
6823 g_ptr_array_set_size (combine->channels, 0);
6825 gst_element_set_state (combine->combiner, GST_STATE_NULL);
6826 gst_bin_remove (GST_BIN_CAST (playbin), combine->combiner);
6827 combine->combiner = NULL;