avauddec: Don't believe we're negotiated if negotiation failed
authorSebastian Dröge <slomo@circular-chaos.org>
Wed, 2 Oct 2013 10:45:44 +0000 (12:45 +0200)
committerSebastian Dröge <slomo@circular-chaos.org>
Wed, 2 Oct 2013 10:52:01 +0000 (12:52 +0200)
It can happen that negotiation fails during get_buffer(), but then
we don't retry later and never return NOT_NEGOTIATED upstream...
and instead run into assertions.

https://bugzilla.gnome.org/show_bug.cgi?id=708769

ext/libav/gstavauddec.c

index 627dc93..f195ca0 100644 (file)
@@ -441,6 +441,7 @@ caps_failed:
     GST_ELEMENT_ERROR (ffmpegdec, CORE, NEGOTIATION, (NULL),
         ("Could not set caps for libav decoder (%s), not fixed?",
             oclass->in_plugin->name));
+    memset (&ffmpegdec->info, 0, sizeof (ffmpegdec->info));
 
     return FALSE;
   }