• Home
  • Raw
  • Download

Lines Matching refs:split

78 static GstFlowReturn stereosplit_chain (GstPad * pad, GstGLStereoSplit * split,
291 stereosplit_get_src_caps (GstGLStereoSplit * split, in stereosplit_get_src_caps() argument
327 GST_DEBUG_OBJECT (split, "Src pad %" GST_PTR_FORMAT " caps %" GST_PTR_FORMAT, in stereosplit_get_src_caps()
333 stereosplit_set_output_caps (GstGLStereoSplit * split, GstCaps * sinkcaps) in stereosplit_set_output_caps() argument
345 if (!ensure_context (split)) { in stereosplit_set_output_caps()
352 stereosplit_get_src_caps (split, split->left_pad, in stereosplit_set_output_caps()
357 stereosplit_get_src_caps (split, split->right_pad, in stereosplit_set_output_caps()
362 tridcaps = stereosplit_transform_caps (split, GST_PAD_SINK, sinkcaps, NULL); in stereosplit_set_output_caps()
365 GST_ERROR_OBJECT (split, in stereosplit_set_output_caps()
395 GST_DEBUG_OBJECT (split, "Attempting to set output caps %" GST_PTR_FORMAT, in stereosplit_set_output_caps()
401 if (!gst_pad_set_caps (split->left_pad, left)) { in stereosplit_set_output_caps()
402 GST_ERROR_OBJECT (split, in stereosplit_set_output_caps()
411 if (!gst_pad_set_caps (split->right_pad, right)) { in stereosplit_set_output_caps()
412 GST_ERROR_OBJECT (split, in stereosplit_set_output_caps()
418 stereosplit_do_bufferpool (split, left); in stereosplit_set_output_caps()
420 g_rec_mutex_lock (&split->context_lock); in stereosplit_set_output_caps()
421 gst_gl_view_convert_set_context (split->viewconvert, split->context); in stereosplit_set_output_caps()
428 if (!gst_gl_view_convert_set_caps (split->viewconvert, sinkcaps, tridcaps)) { in stereosplit_set_output_caps()
429 g_rec_mutex_unlock (&split->context_lock); in stereosplit_set_output_caps()
430 GST_ERROR_OBJECT (split, "Failed to set caps on converter"); in stereosplit_set_output_caps()
433 g_rec_mutex_unlock (&split->context_lock); in stereosplit_set_output_caps()
448 _find_local_gl_context_unlocked (GstGLStereoSplit * split) in _find_local_gl_context_unlocked() argument
453 if (split->context && split->context->display == split->display) in _find_local_gl_context_unlocked()
456 context = prev_context = split->context; in _find_local_gl_context_unlocked()
457 g_rec_mutex_unlock (&split->context_lock); in _find_local_gl_context_unlocked()
463 gst_gl_query_local_gl_context (GST_ELEMENT (split), GST_PAD_SRC, in _find_local_gl_context_unlocked()
465 g_rec_mutex_lock (&split->context_lock); in _find_local_gl_context_unlocked()
467 if (split->context != prev_context) { in _find_local_gl_context_unlocked()
470 if (split->context && split->context->display == split->display) { in _find_local_gl_context_unlocked()
471 if (context != split->context) in _find_local_gl_context_unlocked()
477 if (context->display == split->display) { in _find_local_gl_context_unlocked()
478 split->context = context; in _find_local_gl_context_unlocked()
481 if (context != split->context) in _find_local_gl_context_unlocked()
485 context = prev_context = split->context; in _find_local_gl_context_unlocked()
486 g_rec_mutex_unlock (&split->context_lock); in _find_local_gl_context_unlocked()
492 gst_gl_query_local_gl_context (GST_ELEMENT (split), GST_PAD_SINK, in _find_local_gl_context_unlocked()
494 g_rec_mutex_lock (&split->context_lock); in _find_local_gl_context_unlocked()
496 if (split->context != prev_context) { in _find_local_gl_context_unlocked()
498 if (split->context && split->context->display == split->display) { in _find_local_gl_context_unlocked()
499 if (context != split->context) in _find_local_gl_context_unlocked()
505 if (context->display == split->display) { in _find_local_gl_context_unlocked()
506 split->context = context; in _find_local_gl_context_unlocked()
509 if (context != split->context) in _find_local_gl_context_unlocked()
633 stereosplit_chain (GstPad * pad, GstGLStereoSplit * split, GstBuffer * buf) in stereosplit_chain() argument
640 n_planes = GST_VIDEO_INFO_N_PLANES (&split->viewconvert->out_info); in stereosplit_chain()
642 GST_LOG_OBJECT (split, "chaining buffer %" GST_PTR_FORMAT, buf); in stereosplit_chain()
646 g_rec_mutex_lock (&split->context_lock); in stereosplit_chain()
648 if (gst_gl_view_convert_submit_input_buffer (split->viewconvert, in stereosplit_chain()
650 g_rec_mutex_unlock (&split->context_lock); in stereosplit_chain()
651 GST_ELEMENT_ERROR (split, RESOURCE, NOT_FOUND, ("%s", in stereosplit_chain()
658 ret = gst_gl_view_convert_get_output (split->viewconvert, &split_buffer); in stereosplit_chain()
659 g_rec_mutex_unlock (&split->context_lock); in stereosplit_chain()
661 GST_ELEMENT_ERROR (split, RESOURCE, NOT_FOUND, ("%s", in stereosplit_chain()
683 ret = gst_pad_push (split->left_pad, gst_buffer_ref (left)); in stereosplit_chain()
702 ret = gst_pad_push (split->right_pad, gst_buffer_ref (right)); in stereosplit_chain()
712 GstGLStereoSplit *split = GST_GL_STEREOSPLIT (parent); in stereosplit_src_query() local
721 g_rec_mutex_lock (&split->context_lock); in stereosplit_src_query()
722 if (split->display) in stereosplit_src_query()
723 display = gst_object_ref (split->display); in stereosplit_src_query()
724 if (split->context) in stereosplit_src_query()
725 local = gst_object_ref (split->context); in stereosplit_src_query()
726 if (split->other_context) in stereosplit_src_query()
727 other = gst_object_ref (split->other_context); in stereosplit_src_query()
728 g_rec_mutex_unlock (&split->context_lock); in stereosplit_src_query()
730 ret = gst_gl_handle_context_query ((GstElement *) split, query, in stereosplit_src_query()
756 GstGLStereoSplit *split = GST_GL_STEREOSPLIT (parent); in stereosplit_sink_query() local
758 GST_DEBUG_OBJECT (split, "sink query %s", in stereosplit_sink_query()
768 g_rec_mutex_lock (&split->context_lock); in stereosplit_sink_query()
769 if (split->display) in stereosplit_sink_query()
770 display = gst_object_ref (split->display); in stereosplit_sink_query()
771 if (split->context) in stereosplit_sink_query()
772 local = gst_object_ref (split->context); in stereosplit_sink_query()
773 if (split->other_context) in stereosplit_sink_query()
774 other = gst_object_ref (split->other_context); in stereosplit_sink_query()
775 g_rec_mutex_unlock (&split->context_lock); in stereosplit_sink_query()
777 ret = gst_gl_handle_context_query ((GstElement *) split, query, in stereosplit_sink_query()
790 return stereosplit_propose_allocation (split, query); in stereosplit_sink_query()
799 if (!(possible = gst_pad_query_caps (split->sink_pad, caps))) in stereosplit_sink_query()
816 if (!(left = gst_pad_peer_query_caps (split->left_pad, NULL))) in stereosplit_sink_query()
818 if (!(right = gst_pad_peer_query_caps (split->right_pad, NULL))) in stereosplit_sink_query()
835 templ_caps = gst_pad_get_pad_template_caps (split->left_pad); in stereosplit_sink_query()
850 ret = stereosplit_transform_caps (split, GST_PAD_SRC, combined, filter); in stereosplit_sink_query()
855 templ_caps = gst_pad_get_pad_template_caps (split->sink_pad); in stereosplit_sink_query()
862 GST_LOG_OBJECT (split, "Returning sink pad caps %" GST_PTR_FORMAT, ret); in stereosplit_sink_query()
877 GstGLStereoSplit *split = GST_GL_STEREOSPLIT (parent); in stereosplit_sink_event() local
886 return stereosplit_set_output_caps (split, caps); in stereosplit_sink_event()