GNOME Bugzilla – Bug 667543
[0.11] [pulsesink] Fails in query_acceptcaps() if no channel-mask is provided
Last modified: 2012-10-03 11:22:21 UTC
gst_audio_ring_buffer_parse_caps() requires valid, fixed caps and also requires that a channel-mask is present in the caps for >1 channels. Currently this isn't the case most of the time and something should be done about it ;) For example when playing something with playbin2.
When is the channel-mask not set? I can't seem to find a case where it fails. I also think the proper fix is to make all elements set the channel-mask properly.
Perhaps we should make it mandatory for 1+2 channels as well then?
Is this outdated? I'm not sure I understand what the issue is here. gst_audio_ring_buffer_parse_caps() does this: if (g_str_equal (mimetype, "audio/x-raw")) { if (!gst_audio_info_from_caps (&info, caps)) goto parse_error; ... } and gst_audio_info_from_caps() does this: if (!gst_structure_get (str, "channel-mask", GST_TYPE_BITMASK, &channel_mask, NULL)) { if (channels == 1) { position[0] = GST_AUDIO_CHANNEL_POSITION_MONO; } else if (channels == 2) { position[0] = GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT; position[1] = GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT; } else { goto no_channel_mask; } } So what's going wrong where?
Appears to be obsolete. If not, I'm sure someone will file a new bug.