2008-12-13 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+ * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_channel_layout_to_gst):
+ If no channel layout is provided don't set a NONE layout in the
+ case of >2 channels but instead let audioconvert add some default
+ layout.
+
+2008-12-13 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
* ext/ffmpeg/Makefile.am:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_channel_layout_to_gst),
(gst_ff_aud_caps_new):
none_layout = TRUE;
}
- if (!gst_audio_check_channel_positions (pos, nchannels)) {
- GST_ERROR ("Invalid channel layout - assuming NONE layout");
+ if (!none_layout && !gst_audio_check_channel_positions (pos, nchannels)) {
+ GST_ERROR ("Invalid channel layout %" G_GUINT64_FORMAT
+ " - assuming NONE layout", channel_layout);
none_layout = TRUE;
}
} else if (nchannels == 2) {
pos[0] = GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT;
pos[1] = GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT;
+ } else if (channel_layout == 0) {
+ g_free (pos);
+ pos = NULL;
} else {
for (i = 0; i < nchannels; i++)
pos[i] = GST_AUDIO_CHANNEL_POSITION_NONE;