mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-26 03:35:33 +00:00
Bug 1322070: P2. Add virtual methods to retrieve TrackInfo. r=gerald
MozReview-Commit-ID: AepxIr1qkei --HG-- extra : rebase_source : 95d1ea67166e03dcef551dc9921effb722c56919
This commit is contained in:
parent
716c21f071
commit
36c61f8abc
@ -1345,10 +1345,10 @@ FlacState::GetTags()
|
||||
return mParser.GetTags();
|
||||
}
|
||||
|
||||
const AudioInfo&
|
||||
FlacState::Info()
|
||||
const TrackInfo*
|
||||
FlacState::GetInfo() const
|
||||
{
|
||||
return mParser.mInfo;
|
||||
return &mParser.mInfo;
|
||||
}
|
||||
|
||||
bool
|
||||
|
@ -224,6 +224,12 @@ public:
|
||||
// True when all headers packets have been read.
|
||||
bool mDoneReadingHeaders;
|
||||
|
||||
virtual const TrackInfo* GetInfo() const
|
||||
{
|
||||
MOZ_RELEASE_ASSERT(false, "Can't be called directly");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
// Validation utility for vorbis-style tag names.
|
||||
static bool IsValidVorbisTagName(nsCString& aName);
|
||||
|
||||
@ -618,7 +624,7 @@ public:
|
||||
// Return a hash table with tag metadata.
|
||||
MetadataTags* GetTags() override;
|
||||
|
||||
const AudioInfo& Info();
|
||||
const TrackInfo* GetInfo() const override;
|
||||
|
||||
private:
|
||||
bool ReconstructFlacGranulepos(void);
|
||||
|
@ -471,7 +471,7 @@ OggDemuxer::SetupTargetFlac(FlacState* aFlacState, OggHeaders& aHeaders)
|
||||
mFlacState->Reset();
|
||||
}
|
||||
|
||||
mInfo.mAudio = aFlacState->Info();
|
||||
mInfo.mAudio = *aFlacState->GetInfo()->GetAsAudioInfo();
|
||||
mFlacState = aFlacState;
|
||||
mFlacSerial = aFlacState->mSerial;
|
||||
}
|
||||
@ -582,7 +582,7 @@ OggDemuxer::SetupMediaTracksInfo(const nsTArray<uint32_t>& aSerials)
|
||||
InitTrack(msgInfo, &mInfo.mAudio, mFlacState == flacState);
|
||||
}
|
||||
|
||||
mInfo.mAudio = flacState->Info();
|
||||
mInfo.mAudio = *flacState->GetInfo()->GetAsAudioInfo();
|
||||
FillTags(&mInfo.mAudio, flacState->GetTags());
|
||||
}
|
||||
}
|
||||
@ -863,8 +863,10 @@ OggDemuxer::ReadOggChain(const media::TimeUnit& aLastEndTime)
|
||||
OggHeaders flacHeaders;
|
||||
if ((newFlacState &&
|
||||
ReadHeaders(TrackInfo::kAudioTrack, newFlacState, flacHeaders)) &&
|
||||
(mFlacState->Info().mRate == newFlacState->Info().mRate) &&
|
||||
(mFlacState->Info().mChannels == newFlacState->Info().mChannels)) {
|
||||
(mFlacState->GetInfo()->GetAsAudioInfo()->mRate ==
|
||||
newFlacState->GetInfo()->GetAsAudioInfo()->mRate) &&
|
||||
(mFlacState->GetInfo()->GetAsAudioInfo()->mChannels ==
|
||||
newFlacState->GetInfo()->GetAsAudioInfo()->mChannels)) {
|
||||
|
||||
SetupTargetFlac(newFlacState, flacHeaders);
|
||||
LOG(LogLevel::Debug, ("New flac ogg link, serial=%d\n", mFlacSerial));
|
||||
@ -873,7 +875,7 @@ OggDemuxer::ReadOggChain(const media::TimeUnit& aLastEndTime)
|
||||
InitTrack(msgInfo, &mInfo.mAudio, true);
|
||||
}
|
||||
|
||||
mInfo.mAudio = newFlacState->Info();
|
||||
mInfo.mAudio = *newFlacState->GetInfo()->GetAsAudioInfo();
|
||||
chained = true;
|
||||
tags = newFlacState->GetTags();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user