Bug 1304820 - use stagefright instead of rust parser when it fails to parse the file. r=kinetic
MozReview-Commit-ID: 3pi2LtDJhWE
--- a/media/libstagefright/binding/MP4Metadata.cpp
+++ b/media/libstagefright/binding/MP4Metadata.cpp
@@ -335,19 +335,20 @@ MP4Metadata::Crypto() const
{
return mStagefright->Crypto();
}
bool
MP4Metadata::ReadTrackIndex(FallibleTArray<Index::Indice>& aDest, mozilla::TrackID aTrackID)
{
#ifdef MOZ_RUST_MP4PARSE
- if (mRust && mPreferRust) {
- return mRust->ReadTrackIndex(aDest, aTrackID);
+ if (mRust && mPreferRust && mRust->ReadTrackIndex(aDest, aTrackID)) {
+ return true;
}
+ aDest.Clear();
#endif
return mStagefright->ReadTrackIndex(aDest, aTrackID);
}
static inline bool
ConvertIndex(FallibleTArray<Index::Indice>& aDest,
const nsTArray<stagefright::MediaSource::Indice>& aIndex,
int64_t aMediaTime)