mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-18 07:47:17 +00:00
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
This commit is contained in:
parent
d807515973
commit
829b7298e9
1 changed files with 8 additions and 0 deletions
|
@ -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")) {
|
||||
|
|
Loading…
Reference in a new issue