ext/faad/gstfaad.c: Handle gracefully the consequence of "Maximum number of scalefact...
authorEdward Hervey <bilboed@bilboed.com>
Mon, 28 Nov 2005 15:43:29 +0000 (15:43 +0000)
committerEdward Hervey <bilboed@bilboed.com>
Mon, 28 Nov 2005 15:43:29 +0000 (15:43 +0000)
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.

ChangeLog
ext/faad/gstfaad.c
gst/qtdemux/qtdemux.c

index 36a6338..73897bf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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:
index 2dc9656..6057469 100644 (file)
@@ -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 */
index bb795bb..a569968 100644 (file)
@@ -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