diff options
author | Arun Raghavan <arun.raghavan@collabora.co.uk> | 2010-12-06 22:48:09 +0530 |
---|---|---|
committer | Edward Hervey <edward.hervey@collabora.co.uk> | 2010-12-08 16:30:11 +0100 |
commit | 7abe0a56af44446eb153185f10736cfb11fcd0ff (patch) | |
tree | ac5d9eda9912aec0bf9670095ab03d533e2ccc5f /gst/rawparse | |
parent | 8974371914fd35926d31e6b27643eb8e3d2d664d (diff) | |
download | gstreamer-plugins-bad-7abe0a56af44446eb153185f10736cfb11fcd0ff.tar.gz |
audioparse: Allow implicit channel map for 1-/2-channel audio
This makes sure we don't set an empty channel map array for 1-/2-channel
audio, causing an assert later on.
Diffstat (limited to 'gst/rawparse')
-rw-r--r-- | gst/rawparse/gstaudioparse.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gst/rawparse/gstaudioparse.c b/gst/rawparse/gstaudioparse.c index 1341c57e3..d4f82bad4 100644 --- a/gst/rawparse/gstaudioparse.c +++ b/gst/rawparse/gstaudioparse.c @@ -373,6 +373,11 @@ gst_audio_parse_set_channel_positions (GstAudioParse * ap, GstStructure * s) GValue pos_array = { 0, }; gint i; + if (!ap->channel_positions && ap->channels <= 2) { + /* Implicit mapping for 1- and 2-channel audio is okay */ + return; + } + g_value_init (&pos_array, GST_TYPE_ARRAY); if (ap->channel_positions @@ -382,7 +387,8 @@ gst_audio_parse_set_channel_positions (GstAudioParse * ap, GstStructure * s) for (i = 0; i < ap->channels; i++) gst_value_array_append_value (&pos_array, g_value_array_get_nth (ap->channel_positions, i)); - } else if (ap->channels != 1 && ap->channels != 2) { + } else { + /* >2 channels and no explicit mapping */ GValue pos_none = { 0, }; GST_WARNING_OBJECT (ap, "Using NONE channel positions"); |