get up-to-date with the gst_caps_debug api improved capsnego in mad improved capsnego in adder improved capsnego in i...

Original commit message from CVS:
* get up-to-date with the gst_caps_debug api
* improved capsnego in mad
* improved capsnego in adder
* improved capsnego in intfloat plugins
* unbroke capsnego in stereomono plugins
* fix cothread stack allocation within the main thread in new cothreads
This commit is contained in:
Andy Wingo 2002-03-03 00:53:24 +00:00
parent f633a8285d
commit 20d957de03
3 changed files with 24 additions and 18 deletions

2
common

@ -1 +1 @@
Subproject commit 7b9a18016ec2fe74c23382856a0f480da259f971
Subproject commit 2adced54d821c7870fd4d9e5e19482418a64c931

View file

@ -356,7 +356,7 @@ gst_lame_sinkconnect (GstPad *pad, GstCaps *caps)
gst_caps_debug (caps);
GST_INFO (GST_CAT_CAPS, "dumping caps of own pad %s:%s\n", GST_DEBUG_PAD_NAME (pad));
*/
gst_caps_debug (gst_pad_get_caps (pad));
gst_caps_debug (gst_pad_get_caps (pad), "original caps on sink pad");
/* check if the supplied caps of the peer element are compatible with our own use gst_pad_get_caps because if caps aren't set yet we need the template */
if (!gst_caps_check_compatibility (caps, gst_pad_get_caps (pad)))
{

View file

@ -61,6 +61,9 @@ struct _GstMad {
guint framecount;
gint vbr_average; /* average bitrate */
gulong vbr_rate; /* average * framecount */
/* caps */
gboolean caps_set;
};
struct _GstMadClass {
@ -454,8 +457,8 @@ gst_mad_chain (GstPad *pad, GstBuffer *buffer)
*outdata++ = scale(*right_ch++) & 0xffff;
}
}
if (GST_PAD_CAPS (mad->srcpad) == NULL) {
gst_pad_try_set_caps (mad->srcpad,
if (mad->caps_set == FALSE) {
if (!gst_pad_try_set_caps (mad->srcpad,
gst_caps_new (
"mad_src",
"audio/raw",
@ -472,7 +475,10 @@ gst_mad_chain (GstPad *pad, GstBuffer *buffer)
"rate", GST_PROPS_INT (mad->header.samplerate),
#endif
"channels", GST_PROPS_INT (nchannels),
NULL)));
NULL)))) {
gst_element_error (GST_ELEMENT (mad), "could not set caps on source pad, aborting...");
}
mad->caps_set = TRUE;
}
gst_pad_push (mad->srcpad, outbuffer);