diff options
author | Edward Hervey <bilboed@bilboed.com> | 2005-11-28 15:43:29 +0000 |
---|---|---|
committer | Edward Hervey <bilboed@bilboed.com> | 2005-11-28 15:43:29 +0000 |
commit | 1be0809073743e951c34669ac5a4cc9019554f17 (patch) | |
tree | 34c52d34c53164cf073969995192e2a21e337801 | |
parent | f361f010528703b0d2f5154ab93ae6aec0d4f84e (diff) | |
download | gst-plugins-bad-1be0809073743e951c34669ac5a4cc9019554f17.tar.gz gst-plugins-bad-1be0809073743e951c34669ac5a4cc9019554f17.tar.bz2 gst-plugins-bad-1be0809073743e951c34669ac5a4cc9019554f17.zip |
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.
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | ext/faad/gstfaad.c | 4 | ||||
-rw-r--r-- | gst/qtdemux/qtdemux.c | 5 |
3 files changed, 15 insertions, 3 deletions
@@ -1,3 +1,12 @@ +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> * ext/Makefile.am: diff --git a/ext/faad/gstfaad.c b/ext/faad/gstfaad.c index 2dc96566..6057469c 100644 --- a/ext/faad/gstfaad.c +++ b/ext/faad/gstfaad.c @@ -474,13 +474,13 @@ gst_faad_srcgetcaps (GstPad * pad) if (!str) continue; - if (faad->samplerate != -1) { + if (faad->samplerate > 0) { gst_structure_set (str, "rate", G_TYPE_INT, faad->samplerate, NULL); } else { 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); /* put channel information here */ diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c index bb795bb2..a5699688 100644 --- a/gst/qtdemux/qtdemux.c +++ b/gst/qtdemux/qtdemux.c @@ -458,6 +458,9 @@ static GstStateChangeReturn gst_qtdemux_change_state (GstElement * element, GstStateChange transition) { GstQTDemux *qtdemux = GST_QTDEMUX (element); + GstStateChangeReturn result = GST_STATE_CHANGE_FAILURE; + + result = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition); switch (transition) { case GST_STATE_CHANGE_PAUSED_TO_READY:{ @@ -480,7 +483,7 @@ gst_qtdemux_change_state (GstElement * element, GstStateChange transition) break; } - return GST_ELEMENT_CLASS (parent_class)->change_state (element, transition); + return result; } static void |