mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 06:54:49 +00:00
atdec: Set the correct layer depending on the MP3 caps
This commit is contained in:
parent
5727c6174d
commit
a43db678c1
1 changed files with 20 additions and 3 deletions
|
@ -222,9 +222,26 @@ gst_caps_to_at_format (GstCaps * caps, AudioStreamBasicDescription * format)
|
||||||
if (can_intersect_static_caps (caps, &aac_caps)) {
|
if (can_intersect_static_caps (caps, &aac_caps)) {
|
||||||
format->mFormatID = kAudioFormatMPEG4AAC;
|
format->mFormatID = kAudioFormatMPEG4AAC;
|
||||||
format->mFramesPerPacket = 1024;
|
format->mFramesPerPacket = 1024;
|
||||||
} else if (can_intersect_static_caps (caps, &mp3_caps))
|
} else if (can_intersect_static_caps (caps, &mp3_caps)) {
|
||||||
format->mFormatID = kAudioFormatMPEGLayer3;
|
gint layer;
|
||||||
else if (can_intersect_static_caps (caps, &raw_caps)) {
|
|
||||||
|
gst_structure_get_int (structure, "layer", &layer);
|
||||||
|
switch (layer) {
|
||||||
|
case 1:
|
||||||
|
format->mFormatID = kAudioFormatMPEGLayer1;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
format->mFormatID = kAudioFormatMPEGLayer2;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
format->mFormatID = kAudioFormatMPEGLayer3;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
g_warn_if_reached ();
|
||||||
|
format->mFormatID = kAudioFormatMPEGLayer3;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else if (can_intersect_static_caps (caps, &raw_caps)) {
|
||||||
GstAudioFormat audio_format;
|
GstAudioFormat audio_format;
|
||||||
const char *audio_format_str;
|
const char *audio_format_str;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue