Enable aac writer and use resmpling for some AAC streams thx Taapat and technik

Origin commit data
------------------
Branch: master
Commit: 73483990f8
Author: schpuntik <schpuntik@freenet.de>
Date: 2016-10-28 (Fri, 28 Oct 2016)

Origin message was:
------------------
Enable aac writer and use resmpling for some AAC streams thx Taapat and technik

------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
schpuntik
2016-10-28 23:42:58 +02:00
parent 564c981889
commit 7c88ee32fa
7 changed files with 116 additions and 73 deletions

View File

@@ -66,20 +66,23 @@ bool Writer::Write(AVPacket * /* packet */, int64_t /* pts */)
static Writer writer __attribute__ ((init_priority (300)));
Writer *Writer::GetWriter(enum AVCodecID id, enum AVMediaType codec_type)
Writer *Writer::GetWriter(enum AVCodecID id, enum AVMediaType codec_type, int track_type)
{
std::map<enum AVCodecID,Writer*>::iterator it = writers.find(id);
fprintf(stderr, "GETWRITER %d %d %d", id, codec_type, track_type);
if (track_type != 6) { // hack for ACC resampling
std::map<enum AVCodecID,Writer*>::iterator it = writers.find(id);
if (it != writers.end())
return it->second;
}
switch (codec_type) {
case AVMEDIA_TYPE_AUDIO:
if (id == AV_CODEC_ID_INJECTPCM) // should not happen
break;
return GetWriter(AV_CODEC_ID_INJECTPCM, codec_type);
return GetWriter(AV_CODEC_ID_INJECTPCM, codec_type, 100);
case AVMEDIA_TYPE_VIDEO:
if (id == AV_CODEC_ID_MPEG2TS) // should not happen
break;
return GetWriter(AV_CODEC_ID_MPEG2TS, codec_type);
return GetWriter(AV_CODEC_ID_MPEG2TS, codec_type, 100);
default:
break;
}