MP4MetadataStagefright::MP4MetadataStagefright(Stream* aSource) : mSource(aSource) , mMetadataExtractor(new MPEG4Extractor(new DataSourceAdapter(mSource))) , mCanSeek(mMetadataExtractor->flags() & MediaExtractor::CAN_SEEK) { sp<MetaData> metaData = mMetadataExtractor->getMetaData(); if (metaData.get()) { UpdateCrypto(metaData.get()); } }
MP4Metadata::MP4Metadata(Stream* aSource) : mPrivate(new StageFrightPrivate) , mSource(aSource) { mPrivate->mMetadataExtractor = new MPEG4Extractor(new DataSourceAdapter(mSource)); mPrivate->mCanSeek = mPrivate->mMetadataExtractor->flags() & MediaExtractor::CAN_SEEK; sp<MetaData> metaData = mPrivate->mMetadataExtractor->getMetaData(); UpdateCrypto(metaData.get()); }
nsresult MP4Metadata::Parse() { Mp4parseStatus rv = mp4parse_read(mParser.get()); if (rv != MP4PARSE_STATUS_OK) { MOZ_LOG(gMP4MetadataLog, LogLevel::Debug, ("Parse failed, return code %d\n", rv)); return rv == MP4PARSE_STATUS_OOM ? NS_ERROR_OUT_OF_MEMORY : NS_ERROR_DOM_MEDIA_METADATA_ERR; } UpdateCrypto(); return NS_OK; }