audioconvert: Handle fallback channel mask for mono correctly

It's 0 and no mask should be set for mono at all.

https://bugzilla.gnome.org/show_bug.cgi?id=757472
This commit is contained in:
Sebastian Dröge 2016-06-29 18:14:51 +02:00
parent 06ea25ade3
commit 5de9d5809b
2 changed files with 4 additions and 4 deletions

View file

@ -524,7 +524,7 @@ static const guint64 default_masks[] = {
* called as a last resort when the specific channel map is unknown.
*
* Returns: a fallback channel-mask for @channels or 0 when there is no
* mask.
* mask and mono.
*
* Since: 1.8
*/

View file

@ -575,12 +575,12 @@ gst_audio_convert_fixate_channels (GstBaseTransform * base, GstStructure * ins,
* one reason or another, so just pick a default layout (we could be smarter
* and try to add/remove channels from the input layout, or pick a default
* layout based on LFE-presence in input layout, but let's save that for
* another day) */
if (out_chans > 0
* another day). For mono, no mask is required and the fallback mask is 0 */
if (out_chans > 1
&& (out_mask = gst_audio_channel_get_fallback_mask (out_chans))) {
GST_DEBUG_OBJECT (base, "using default channel layout as fallback");
gst_structure_set (outs, "channel-mask", GST_TYPE_BITMASK, out_mask, NULL);
} else {
} else if (out_chans > 1) {
GST_ERROR_OBJECT (base, "Have no default layout for %d channels",
out_chans);
}