Lines Matching refs:mix
108 GstGLMixer *mix = GST_GL_MIXER (vagg); in gst_gl_mixer_pad_prepare_frame() local
120 gst_gl_sync_meta_wait (sync_meta, GST_GL_BASE_MIXER (mix)->context); in gst_gl_mixer_pad_prepare_frame()
149 GstGLMixer *mix = GST_GL_MIXER (agg); in _negotiated_caps() local
152 mix->priv->negotiated = TRUE; in _negotiated_caps()
154 gst_caps_replace (&mix->out_caps, caps); in _negotiated_caps()
185 GstGLMixer *mix = GST_GL_MIXER (agg); in gst_gl_mixer_propose_allocation() local
213 GST_DEBUG_OBJECT (mix, "create new pool"); in gst_gl_mixer_propose_allocation()
238 GST_DEBUG_OBJECT (mix, "no caps specified"); in gst_gl_mixer_propose_allocation()
243 GST_DEBUG_OBJECT (mix, "invalid caps specified"); in gst_gl_mixer_propose_allocation()
248 GST_DEBUG_OBJECT (mix, "failed setting config"); in gst_gl_mixer_propose_allocation()
254 gst_gl_mixer_pad_sink_acceptcaps (GstPad * pad, GstGLMixer * mix, in gst_gl_mixer_pad_sink_acceptcaps() argument
274 gst_gl_mixer_pad_sink_getcaps (GstPad * pad, GstGLMixer * mix, GstCaps * filter) in gst_gl_mixer_pad_sink_getcaps() argument
312 GstGLMixer *mix = GST_GL_MIXER (agg); in gst_gl_mixer_sink_query() local
322 caps = gst_gl_mixer_pad_sink_getcaps (GST_PAD (bpad), mix, filter); in gst_gl_mixer_sink_query()
333 ret = gst_gl_mixer_pad_sink_acceptcaps (GST_PAD (bpad), mix, caps); in gst_gl_mixer_sink_query()
395 static gboolean gst_gl_mixer_gl_start (GstGLBaseMixer * mix);
396 static void gst_gl_mixer_gl_stop (GstGLBaseMixer * mix);
446 gst_gl_mixer_reset (GstGLMixer * mix) in gst_gl_mixer_reset() argument
448 mix->priv->negotiated = FALSE; in gst_gl_mixer_reset()
452 gst_gl_mixer_init (GstGLMixer * mix) in gst_gl_mixer_init() argument
454 mix->priv = gst_gl_mixer_get_instance_private (mix); in gst_gl_mixer_init()
456 mix->priv->gl_resource_ready = FALSE; in gst_gl_mixer_init()
457 g_mutex_init (&mix->priv->gl_resource_lock); in gst_gl_mixer_init()
458 g_cond_init (&mix->priv->gl_resource_cond); in gst_gl_mixer_init()
460 gst_gl_mixer_reset (mix); in gst_gl_mixer_init()
466 GstGLMixer *mix = GST_GL_MIXER (object); in gst_gl_mixer_finalize() local
467 GstGLMixerPrivate *priv = mix->priv; in gst_gl_mixer_finalize()
469 if (mix->out_caps) in gst_gl_mixer_finalize()
470 gst_caps_unref (mix->out_caps); in gst_gl_mixer_finalize()
528 _mixer_create_fbo (GstGLContext * context, GstGLMixer * mix) in _mixer_create_fbo() argument
530 GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (mix); in _mixer_create_fbo()
534 mix->fbo = in _mixer_create_fbo()
548 GstGLMixer *mix = GST_GL_MIXER (base_mix); in gst_gl_mixer_gl_stop() local
549 GstGLMixerClass *mixer_class = GST_GL_MIXER_GET_CLASS (mix); in gst_gl_mixer_gl_stop()
552 mixer_class->reset (mix); in gst_gl_mixer_gl_stop()
554 g_mutex_lock (&mix->priv->gl_resource_lock); in gst_gl_mixer_gl_stop()
555 gst_clear_object (&mix->fbo); in gst_gl_mixer_gl_stop()
556 g_mutex_unlock (&mix->priv->gl_resource_lock); in gst_gl_mixer_gl_stop()
565 GstGLMixer *mix = GST_GL_MIXER (base_mix); in gst_gl_mixer_decide_allocation() local
566 GstGLMixerClass *mixer_class = GST_GL_MIXER_GET_CLASS (mix); in gst_gl_mixer_decide_allocation()
584 g_mutex_lock (&mix->priv->gl_resource_lock); in gst_gl_mixer_decide_allocation()
585 mix->priv->gl_resource_ready = FALSE; in gst_gl_mixer_decide_allocation()
586 if (mix->fbo) in gst_gl_mixer_decide_allocation()
587 gst_object_unref (mix->fbo); in gst_gl_mixer_decide_allocation()
590 (GstGLContextThreadFunc) _mixer_create_fbo, mix); in gst_gl_mixer_decide_allocation()
591 if (!mix->fbo) { in gst_gl_mixer_decide_allocation()
592 g_cond_signal (&mix->priv->gl_resource_cond); in gst_gl_mixer_decide_allocation()
593 g_mutex_unlock (&mix->priv->gl_resource_lock); in gst_gl_mixer_decide_allocation()
598 mixer_class->set_caps (mix, mix->out_caps); in gst_gl_mixer_decide_allocation()
600 mix->priv->gl_resource_ready = TRUE; in gst_gl_mixer_decide_allocation()
601 g_cond_signal (&mix->priv->gl_resource_cond); in gst_gl_mixer_decide_allocation()
602 g_mutex_unlock (&mix->priv->gl_resource_lock); in gst_gl_mixer_decide_allocation()
642 GST_ELEMENT_ERROR (mix, RESOURCE, NOT_FOUND, ("Context error"), (NULL)); in gst_gl_mixer_decide_allocation()
648 gst_gl_mixer_process_textures (GstGLMixer * mix, GstBuffer * outbuf) in gst_gl_mixer_process_textures() argument
653 GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (mix); in gst_gl_mixer_process_textures()
654 GstGLMixerClass *mix_class = GST_GL_MIXER_GET_CLASS (mix); in gst_gl_mixer_process_textures()
665 g_mutex_lock (&mix->priv->gl_resource_lock); in gst_gl_mixer_process_textures()
666 if (!mix->priv->gl_resource_ready) in gst_gl_mixer_process_textures()
667 g_cond_wait (&mix->priv->gl_resource_cond, &mix->priv->gl_resource_lock); in gst_gl_mixer_process_textures()
669 if (!mix->priv->gl_resource_ready) { in gst_gl_mixer_process_textures()
670 g_mutex_unlock (&mix->priv->gl_resource_lock); in gst_gl_mixer_process_textures()
671 GST_ERROR_OBJECT (mix, in gst_gl_mixer_process_textures()
677 mix_class->process_textures (mix, out_tex); in gst_gl_mixer_process_textures()
679 g_mutex_unlock (&mix->priv->gl_resource_lock); in gst_gl_mixer_process_textures()
688 gst_gl_mixer_process_buffers (GstGLMixer * mix, GstBuffer * outbuf) in gst_gl_mixer_process_buffers() argument
690 GstGLMixerClass *mix_class = GST_GL_MIXER_GET_CLASS (mix); in gst_gl_mixer_process_buffers()
692 return mix_class->process_buffers (mix, outbuf); in gst_gl_mixer_process_buffers()
700 GstGLMixer *mix = GST_GL_MIXER (vagg); in gst_gl_mixer_aggregate_frames() local
711 res = gst_gl_mixer_process_buffers (mix, outbuf); in gst_gl_mixer_aggregate_frames()
713 res = gst_gl_mixer_process_textures (mix, outbuf); in gst_gl_mixer_aggregate_frames()
755 GstGLMixer *mix = GST_GL_MIXER (agg); in gst_gl_mixer_stop() local
757 gst_gl_mixer_reset (mix); in gst_gl_mixer_stop()