Commit 829b7298 authored by Lyon Wang's avatar Lyon Wang Committed by Sebastian Dröge

audioringbuffer: Fix alaw/mulaw channel positions

For alaw/mulaw we should also try to initialize the channel positions in the
ringbuffer's audio info. This allow pulsesink to directly use the channel
positions instead of using the default zero-initialized ones, which doesn't
work well.

https://bugzilla.gnome.org/show_bug.cgi?id=751144
parent d8075159
......@@ -218,6 +218,10 @@ gst_audio_ring_buffer_parse_caps (GstAudioRingBufferSpec * spec, GstCaps * caps)
gst_structure_get_int (structure, "channels", &info.channels)))
goto parse_error;
if (!(gst_audio_channel_positions_from_mask (info.channels, 0,
info.position)))
goto parse_error;
spec->type = GST_AUDIO_RING_BUFFER_FORMAT_TYPE_A_LAW;
info.bpf = info.channels;
} else if (g_str_equal (mimetype, "audio/x-mulaw")) {
......@@ -226,6 +230,10 @@ gst_audio_ring_buffer_parse_caps (GstAudioRingBufferSpec * spec, GstCaps * caps)
gst_structure_get_int (structure, "channels", &info.channels)))
goto parse_error;
if (!(gst_audio_channel_positions_from_mask (info.channels, 0,
info.position)))
goto parse_error;
spec->type = GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MU_LAW;
info.bpf = info.channels;
} else if (g_str_equal (mimetype, "audio/x-iec958")) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment