mirror of
https://gitlab.com/mbunkus/mkvtoolnix.git
synced 2024-12-25 12:27:21 +00:00
Removed A_AAC again. Only put the AAC track's decoder_config into CodecPrivate if it contains an "unsupported" extension like parametric stereo ("unsupported" = cannot be mapped to one of the existing AAC CodecIDs).
This commit is contained in:
parent
178a8a1068
commit
027df6d122
@ -27,7 +27,6 @@
|
|||||||
#define MKV_A_AAC_4SSR "A_AAC/MPEG4/SSR"
|
#define MKV_A_AAC_4SSR "A_AAC/MPEG4/SSR"
|
||||||
#define MKV_A_AAC_4LTP "A_AAC/MPEG4/LTP"
|
#define MKV_A_AAC_4LTP "A_AAC/MPEG4/LTP"
|
||||||
#define MKV_A_AAC_4SBR "A_AAC/MPEG4/LC/SBR"
|
#define MKV_A_AAC_4SBR "A_AAC/MPEG4/LC/SBR"
|
||||||
#define MKV_A_AAC "A_AAC"
|
|
||||||
#define MKV_A_AC3 "A_AC3"
|
#define MKV_A_AC3 "A_AC3"
|
||||||
#define MKV_A_DTS "A_DTS"
|
#define MKV_A_DTS "A_DTS"
|
||||||
#define MKV_A_MP3 "A_MPEG/L3"
|
#define MKV_A_MP3 "A_MPEG/L3"
|
||||||
|
@ -495,14 +495,7 @@ kax_reader_c::verify_tracks() {
|
|||||||
(t->codec_id == MKV_A_AAC_2SBR) ||
|
(t->codec_id == MKV_A_AAC_2SBR) ||
|
||||||
(t->codec_id == MKV_A_AAC_4SBR))
|
(t->codec_id == MKV_A_AAC_4SBR))
|
||||||
t->a_formattag = FOURCC('M', 'P', '4', 'A');
|
t->a_formattag = FOURCC('M', 'P', '4', 'A');
|
||||||
else if (t->codec_id == MKV_A_AAC) {
|
else if (starts_with(t->codec_id, MKV_A_REAL_COOK,
|
||||||
if ((t->private_data == NULL) || (t->private_size < 2)) {
|
|
||||||
mxwarn(PFX "The AAC track number %u is missing its private "
|
|
||||||
"data. Ignoring this track.\n", t->tnum);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
t->a_formattag = FOURCC('M', 'P', '4', 'A');
|
|
||||||
} else if (starts_with(t->codec_id, MKV_A_REAL_COOK,
|
|
||||||
strlen("A_REAL/")))
|
strlen("A_REAL/")))
|
||||||
t->a_formattag = FOURCC('r', 'e', 'a', 'l');
|
t->a_formattag = FOURCC('r', 'e', 'a', 'l');
|
||||||
else if (t->codec_id == MKV_A_FLAC) {
|
else if (t->codec_id == MKV_A_FLAC) {
|
||||||
@ -1659,7 +1652,7 @@ kax_reader_c::create_packetizer(int64_t tid) {
|
|||||||
int channels, sfreq, osfreq;
|
int channels, sfreq, osfreq;
|
||||||
bool sbr;
|
bool sbr;
|
||||||
|
|
||||||
if (t->codec_id == MKV_A_AAC) {
|
if ((t->private_data != NULL) && (ti->private_size >= 2)) {
|
||||||
id = AAC_ID_MPEG4;
|
id = AAC_ID_MPEG4;
|
||||||
if (!parse_aac_data((unsigned char *)t->private_data,
|
if (!parse_aac_data((unsigned char *)t->private_data,
|
||||||
t->private_size, profile, channels, sfreq,
|
t->private_size, profile, channels, sfreq,
|
||||||
|
@ -126,10 +126,7 @@ aac_packetizer_c::get_aac_packet(unsigned long *header,
|
|||||||
|
|
||||||
void
|
void
|
||||||
aac_packetizer_c::set_headers() {
|
aac_packetizer_c::set_headers() {
|
||||||
if ((ti->private_size > 0) && (ti->private_size != 2) &&
|
if (id == AAC_ID_MPEG4) {
|
||||||
(ti->private_size != 5))
|
|
||||||
set_codec_id(MKV_A_AAC);
|
|
||||||
else if (id == AAC_ID_MPEG4) {
|
|
||||||
if (profile == AAC_PROFILE_MAIN)
|
if (profile == AAC_PROFILE_MAIN)
|
||||||
set_codec_id(MKV_A_AAC_4MAIN);
|
set_codec_id(MKV_A_AAC_4MAIN);
|
||||||
else if (profile == AAC_PROFILE_LC)
|
else if (profile == AAC_PROFILE_LC)
|
||||||
@ -157,7 +154,8 @@ aac_packetizer_c::set_headers() {
|
|||||||
set_audio_sampling_freq((float)samples_per_sec);
|
set_audio_sampling_freq((float)samples_per_sec);
|
||||||
set_audio_channels(channels);
|
set_audio_channels(channels);
|
||||||
|
|
||||||
if ((ti->private_data != NULL) && (ti->private_size > 0))
|
if ((ti->private_data != NULL) && (ti->private_size > 0) &&
|
||||||
|
(ti->private_size != 2) && (ti->private_size != 5))
|
||||||
set_codec_private(ti->private_data, ti->private_size);
|
set_codec_private(ti->private_data, ti->private_size);
|
||||||
|
|
||||||
generic_packetizer_c::set_headers();
|
generic_packetizer_c::set_headers();
|
||||||
|
Loading…
Reference in New Issue
Block a user