X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=ext%2Fpulse%2Fpulsesink.c;h=fca5601f7230a68d7c6d2b7b15a62349f1d3fab3;hb=f05e14ba316d67b9cdf1440d9b2129da03625a30;hp=ad404da4db35c224f99595373b2734ad2942f545;hpb=adf3453183503a3a533e9ad2f38b5892a69183fc;p=platform%2Fupstream%2Fgst-plugins-good.git diff --git a/ext/pulse/pulsesink.c b/ext/pulse/pulsesink.c index ad404da..fca5601 100644 --- a/ext/pulse/pulsesink.c +++ b/ext/pulse/pulsesink.c @@ -1897,11 +1897,6 @@ static gboolean gst_pulsesink_query (GstBaseSink * sink, GstQuery * query); static GstStateChangeReturn gst_pulsesink_change_state (GstElement * element, GstStateChange transition); -static GstStaticPadTemplate pad_template = GST_STATIC_PAD_TEMPLATE ("sink", - GST_PAD_SINK, - GST_PAD_ALWAYS, - GST_STATIC_CAPS (PULSE_SINK_TEMPLATE_CAPS)); - #define gst_pulsesink_parent_class parent_class G_DEFINE_TYPE_WITH_CODE (GstPulseSink, gst_pulsesink, GST_TYPE_AUDIO_BASE_SINK, gst_pulsesink_init_contexts (); @@ -1992,6 +1987,7 @@ gst_pulsesink_class_init (GstPulseSinkClass * klass) GstBaseSinkClass *bc; GstAudioBaseSinkClass *gstaudiosink_class = GST_AUDIO_BASE_SINK_CLASS (klass); GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass); + GstCaps *caps; gchar *clientname; gobject_class->finalize = gst_pulsesink_finalize; @@ -2093,7 +2089,12 @@ gst_pulsesink_class_init (GstPulseSinkClass * klass) gst_element_class_set_static_metadata (gstelement_class, "PulseAudio Audio Sink", "Sink/Audio", "Plays audio to a PulseAudio server", "Lennart Poettering"); - gst_element_class_add_static_pad_template (gstelement_class, &pad_template); + + caps = + gst_pulse_fix_pcm_caps (gst_caps_from_string (PULSE_SINK_TEMPLATE_CAPS)); + gst_element_class_add_pad_template (gstelement_class, + gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, caps)); + gst_caps_unref (caps); } static void @@ -2292,8 +2293,9 @@ gst_pulsesink_query_getcaps (GstPulseSink * psink, GstCaps * filter) } for (i = g_list_first (device_info.formats); i; i = g_list_next (i)) { - gst_caps_append (ret, - gst_pulse_format_info_to_caps ((pa_format_info *) i->data)); + GstCaps *caps = gst_pulse_format_info_to_caps ((pa_format_info *) i->data); + if (caps) + gst_caps_append (ret, caps); } unlock: