From 13f01565870862c80e9485ebaf4a9e95ff2cea58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Mon, 26 Feb 2007 10:32:30 +0000 Subject: gst/real/: Use gst_pad_use_fixed_caps() on source pads, to avoid negotiation errors in certain situations (e.g. dec !... Original commit message from CVS: * gst/real/gstrealaudiodec.c: (gst_real_audio_dec_init): * gst/real/gstrealvideodec.c: (gst_real_video_dec_init): Use gst_pad_use_fixed_caps() on source pads, to avoid negotiation errors in certain situations (e.g. dec ! cs ! ximagesink and the imagesink window is resized); also, some minor clean-ups. --- ChangeLog | 8 ++++++++ gst/real/gstrealaudiodec.c | 14 ++++++++------ gst/real/gstrealvideodec.c | 17 +++++++++-------- 3 files changed, 25 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 76b2cdd5..27129bac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2007-02-26 Tim-Philipp Müller + + * gst/real/gstrealaudiodec.c: (gst_real_audio_dec_init): + * gst/real/gstrealvideodec.c: (gst_real_video_dec_init): + Use gst_pad_use_fixed_caps() on source pads, to avoid negotiation + errors in certain situations (e.g. dec ! cs ! ximagesink and the + imagesink window is resized); also, some minor clean-ups. + 2007-02-24 Tim-Philipp Müller * configure.ac: diff --git a/gst/real/gstrealaudiodec.c b/gst/real/gstrealaudiodec.c index f2bbdc37..9e167578 100644 --- a/gst/real/gstrealaudiodec.c +++ b/gst/real/gstrealaudiodec.c @@ -319,13 +319,15 @@ could_not_set_caps: static void gst_real_audio_dec_init (GstRealAudioDec * dec, GstRealAudioDecClass * klass) { - dec->snk = - gst_pad_new_from_template (gst_static_pad_template_get (&snk_t), "sink"); - gst_pad_set_setcaps_function (dec->snk, gst_real_audio_dec_setcaps); - gst_pad_set_chain_function (dec->snk, gst_real_audio_dec_chain); + dec->snk = gst_pad_new_from_static_template (&snk_t, "sink"); + gst_pad_set_setcaps_function (dec->snk, + GST_DEBUG_FUNCPTR (gst_real_audio_dec_setcaps)); + gst_pad_set_chain_function (dec->snk, + GST_DEBUG_FUNCPTR (gst_real_audio_dec_chain)); gst_element_add_pad (GST_ELEMENT (dec), dec->snk); - dec->src = - gst_pad_new_from_template (gst_static_pad_template_get (&src_t), "src"); + + dec->src = gst_pad_new_from_static_template (&src_t, "src"); + gst_pad_use_fixed_caps (dec->src); gst_element_add_pad (GST_ELEMENT (dec), dec->src); } diff --git a/gst/real/gstrealvideodec.c b/gst/real/gstrealvideodec.c index 882e9d8c..0e4c17f1 100644 --- a/gst/real/gstrealvideodec.c +++ b/gst/real/gstrealvideodec.c @@ -743,19 +743,20 @@ close_library (GstRealVideoDecHooks hooks) static void gst_real_video_dec_init (GstRealVideoDec * dec, GstRealVideoDecClass * klass) { - dec->snk = - gst_pad_new_from_template (gst_static_pad_template_get (&snk_t), "sink"); - gst_pad_set_setcaps_function (dec->snk, gst_real_video_dec_setcaps); - gst_pad_set_chain_function (dec->snk, gst_real_video_dec_chain); + dec->snk = gst_pad_new_from_static_template (&snk_t, "sink"); + gst_pad_set_setcaps_function (dec->snk, + GST_DEBUG_FUNCPTR (gst_real_video_dec_setcaps)); + gst_pad_set_chain_function (dec->snk, + GST_DEBUG_FUNCPTR (gst_real_video_dec_chain)); gst_pad_set_activatepush_function (dec->snk, - gst_real_video_dec_activate_push); + GST_DEBUG_FUNCPTR (gst_real_video_dec_activate_push)); gst_element_add_pad (GST_ELEMENT (dec), dec->snk); - dec->src = - gst_pad_new_from_template (gst_static_pad_template_get (&src_t), "src"); + dec->src = gst_pad_new_from_static_template (&src_t, "src"); + gst_pad_use_fixed_caps (dec->src); gst_element_add_pad (GST_ELEMENT (dec), dec->src); - dec->adapter = g_object_new (GST_TYPE_ADAPTER, NULL); + dec->adapter = gst_adapter_new (); } static void -- cgit v1.2.1