mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 22:36:33 +00:00
avaudec: don't put bogus 0 channel-mask on output caps for mono audio
This commit is contained in:
parent
e9e31ebada
commit
4072c40b8e
1 changed files with 7 additions and 9 deletions
|
@ -522,20 +522,18 @@ gst_ff_aud_caps_new (AVCodecContext * context, AVCodec * codec,
|
|||
/* fixed, non-probing context */
|
||||
if (context != NULL && context->channels != -1) {
|
||||
GstAudioChannelPosition pos[64];
|
||||
guint64 mask;
|
||||
|
||||
caps = gst_caps_new_simple (mimetype,
|
||||
"rate", G_TYPE_INT, context->sample_rate,
|
||||
"channels", G_TYPE_INT, context->channels, NULL);
|
||||
|
||||
if (gst_ffmpeg_channel_layout_to_gst (context->channel_layout,
|
||||
context->channels, pos)) {
|
||||
guint64 mask;
|
||||
|
||||
if (gst_audio_channel_positions_to_mask (pos, context->channels, FALSE,
|
||||
&mask)) {
|
||||
gst_caps_set_simple (caps, "channel-mask", GST_TYPE_BITMASK, mask,
|
||||
NULL);
|
||||
}
|
||||
if (context->channels > 1 &&
|
||||
gst_ffmpeg_channel_layout_to_gst (context->channel_layout,
|
||||
context->channels, pos) &&
|
||||
gst_audio_channel_positions_to_mask (pos, context->channels, FALSE,
|
||||
&mask)) {
|
||||
gst_caps_set_simple (caps, "channel-mask", GST_TYPE_BITMASK, mask, NULL);
|
||||
}
|
||||
} else if (encode) {
|
||||
gint maxchannels = 2;
|
||||
|
|
Loading…
Reference in a new issue