Commit 1be08090 authored by Edward Hervey's avatar Edward Hervey 🤘

ext/faad/gstfaad.c: Handle gracefully the consequence of "Maximum number of...

ext/faad/gstfaad.c: Handle gracefully the consequence of "Maximum number of scalefactor bands exceeded", which result...

Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_srcgetcaps):
Handle gracefully the consequence of "Maximum number of scalefactor
bands exceeded", which results in 0 channels with samplerates of 0.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state):
Do upward transitions, then call parent state_change, then do
downward transitions.
parent f361f010
2005-11-28 Edward Hervey <edward@fluendo.com>
* ext/faad/gstfaad.c: (gst_faad_srcgetcaps):
Handle gracefully the consequence of "Maximum number of scalefactor
bands exceeded", which results in 0 channels with samplerates of 0.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state):
Do upward transitions, then call parent state_change, then do
downward transitions.
2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org> 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
* ext/Makefile.am: * ext/Makefile.am:
......
...@@ -474,13 +474,13 @@ gst_faad_srcgetcaps (GstPad * pad) ...@@ -474,13 +474,13 @@ gst_faad_srcgetcaps (GstPad * pad)
if (!str) if (!str)
continue; continue;
if (faad->samplerate != -1) { if (faad->samplerate > 0) {
gst_structure_set (str, "rate", G_TYPE_INT, faad->samplerate, NULL); gst_structure_set (str, "rate", G_TYPE_INT, faad->samplerate, NULL);
} else { } else {
gst_structure_set (str, "rate", GST_TYPE_INT_RANGE, 8000, 96000, NULL); gst_structure_set (str, "rate", GST_TYPE_INT_RANGE, 8000, 96000, NULL);
} }
if (faad->channels != -1) { if (faad->channels > 0) {
gst_structure_set (str, "channels", G_TYPE_INT, faad->channels, NULL); gst_structure_set (str, "channels", G_TYPE_INT, faad->channels, NULL);
/* put channel information here */ /* put channel information here */
......
...@@ -458,6 +458,9 @@ static GstStateChangeReturn ...@@ -458,6 +458,9 @@ static GstStateChangeReturn
gst_qtdemux_change_state (GstElement * element, GstStateChange transition) gst_qtdemux_change_state (GstElement * element, GstStateChange transition)
{ {
GstQTDemux *qtdemux = GST_QTDEMUX (element); GstQTDemux *qtdemux = GST_QTDEMUX (element);
GstStateChangeReturn result = GST_STATE_CHANGE_FAILURE;
result = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
switch (transition) { switch (transition) {
case GST_STATE_CHANGE_PAUSED_TO_READY:{ case GST_STATE_CHANGE_PAUSED_TO_READY:{
...@@ -480,7 +483,7 @@ gst_qtdemux_change_state (GstElement * element, GstStateChange transition) ...@@ -480,7 +483,7 @@ gst_qtdemux_change_state (GstElement * element, GstStateChange transition)
break; break;
} }
return GST_ELEMENT_CLASS (parent_class)->change_state (element, transition); return result;
} }
static void static void
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment