faad: Unset the UNPOSITIONED flag if we have valid channel positions
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Wed, 11 Jan 2012 09:50:52 +0000 (10:50 +0100)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Wed, 11 Jan 2012 09:50:52 +0000 (10:50 +0100)
ext/faad/gstfaad.c

index 95c04df60ec3813eec8081dfa2f0dcb6d2dcd7a8..09fdf41fb31404e42aac4c63a8df4c948379b1ea 100644 (file)
@@ -512,6 +512,9 @@ gst_faad_update_caps (GstFaad * faad, faacDecFrameInfo * info)
   gst_audio_channel_positions_to_valid_order (ainfo.position, faad->channels);
   memcpy (faad->gst_positions, ainfo.position,
       faad->channels * sizeof (GstAudioChannelPosition));
+  /* Unset UNPOSITIONED flag */
+  if (ainfo.position[0] != GST_AUDIO_CHANNEL_POSITION_NONE)
+    ainfo.flags &= ~GST_AUDIO_FLAG_UNPOSITIONED;
 
   caps = gst_audio_info_to_caps (&ainfo);