зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1203217 - Extend MP3 demuxer gtest to include a test file for large ID3v2 tags. r=kinetik
This adds an MP3 file with an ID3v2 header which used to trip up the MPEG frame parser before bug 1197985 was fixed.
This commit is contained in:
Родитель
4e9539d667
Коммит
503a8bee81
|
@ -109,6 +109,49 @@ protected:
|
|||
mTargets.push_back(streamRes);
|
||||
}
|
||||
|
||||
{
|
||||
MP3Resource res;
|
||||
// This file trips up the MP3 demuxer if ID3v2 tags aren't properly skipped. If skipping is
|
||||
// not properly implemented, depending on the strictness of the MPEG frame parser a false
|
||||
// sync will be detected somewhere within the metadata at or after 112087, or failing
|
||||
// that, at the artificially added extraneous header at 114532.
|
||||
res.mFilePath = "id3v2header.mp3";
|
||||
res.mIsVBR = false;
|
||||
res.mFileSize = 191302;
|
||||
res.mMPEGLayer = 3;
|
||||
res.mMPEGVersion = 1;
|
||||
res.mID3MajorVersion = 3;
|
||||
res.mID3MinorVersion = 0;
|
||||
res.mID3Flags = 0;
|
||||
res.mID3Size = 115304;
|
||||
res.mDuration = 3160816;
|
||||
res.mDurationError = 0.001f;
|
||||
res.mSeekError = 0.02f;
|
||||
res.mSampleRate = 44100;
|
||||
res.mSamplesPerFrame = 1152;
|
||||
res.mNumSamples = 139392;
|
||||
res.mNumTrailingFrames = 0;
|
||||
res.mBitrate = 192000;
|
||||
res.mSlotSize = 1;
|
||||
res.mPrivate = 1;
|
||||
const int syncs[] = { 115314, 115941, 116568, 117195, 117822, 118449 };
|
||||
res.mSyncOffsets.insert(res.mSyncOffsets.begin(), syncs, syncs + 6);
|
||||
|
||||
// No content length can be estimated for CBR stream resources.
|
||||
MP3Resource streamRes = res;
|
||||
streamRes.mFileSize = -1;
|
||||
streamRes.mDuration = -1;
|
||||
streamRes.mDurationError = 0.0f;
|
||||
|
||||
res.mResource = new MockMP3MediaResource(res.mFilePath);
|
||||
res.mDemuxer = new MP3TrackDemuxer(res.mResource);
|
||||
mTargets.push_back(res);
|
||||
|
||||
streamRes.mResource = new MockMP3StreamMediaResource(streamRes.mFilePath);
|
||||
streamRes.mDemuxer = new MP3TrackDemuxer(streamRes.mResource);
|
||||
mTargets.push_back(streamRes);
|
||||
}
|
||||
|
||||
{
|
||||
MP3Resource res;
|
||||
res.mFilePath = "noise_vbr.mp3";
|
||||
|
|
Двоичный файл не отображается.
|
@ -42,6 +42,7 @@ TEST_HARNESS_FILES.gtest += [
|
|||
'../test/gizmo-frag.mp4',
|
||||
'../test/gizmo.mp4',
|
||||
'dash_dashinit.mp4',
|
||||
'id3v2header.mp3',
|
||||
'mediasource_test.mp4',
|
||||
'noise.mp3',
|
||||
'noise_vbr.mp3',
|
||||
|
|
Загрузка…
Ссылка в новой задаче