diff --git a/media/libstagefright/binding/MP4Metadata.cpp b/media/libstagefright/binding/MP4Metadata.cpp index ed3040c342f5..da4bd59e970b 100644 --- a/media/libstagefright/binding/MP4Metadata.cpp +++ b/media/libstagefright/binding/MP4Metadata.cpp @@ -34,7 +34,7 @@ using mozilla::media::TimeUnit; namespace mp4_demuxer { -static LazyLogModule sLog("MP4Metadata"); +LazyLogModule gMP4MetadataLog("MP4Metadata"); class DataSourceAdapter : public DataSource { @@ -180,7 +180,7 @@ bool IndiceWrapperStagefright::GetIndice(size_t aIndex, Index::Indice& aIndice) const { if (aIndex >= mIndice.Length()) { - MOZ_LOG(sLog, LogLevel::Error, ("Index overflow in indice")); + MOZ_LOG(gMP4MetadataLog, LogLevel::Error, ("Index overflow in indice")); return false; } @@ -220,7 +220,7 @@ bool IndiceWrapperRust::GetIndice(size_t aIndex, Index::Indice& aIndice) const { if (aIndex >= mIndice->length) { - MOZ_LOG(sLog, LogLevel::Error, ("Index overflow in indice")); + MOZ_LOG(gMP4MetadataLog, LogLevel::Error, ("Index overflow in indice")); return false; } @@ -279,12 +279,12 @@ MP4Metadata::GetNumberTracks(mozilla::TrackInfo::TrackType aType) const MP4Metadata::ResultAndTrackCount numTracksRust = mRust->GetNumberTracks(aType); - MOZ_LOG(sLog, LogLevel::Info, ("%s tracks found: stagefright=(%s)%u rust=(%s)%u", - TrackTypeToString(aType), - numTracks.Result().Description().get(), - numTracks.Ref(), - numTracksRust.Result().Description().get(), - numTracksRust.Ref())); + MOZ_LOG(gMP4MetadataLog, LogLevel::Info, ("%s tracks found: stagefright=(%s)%u rust=(%s)%u", + TrackTypeToString(aType), + numTracks.Result().Description().get(), + numTracks.Ref(), + numTracksRust.Result().Description().get(), + numTracksRust.Ref())); // Consider '0' and 'error' the same for comparison purposes. @@ -479,9 +479,10 @@ ConvertIndex(FallibleTArray& aDest, indice.sync = s_indice.sync; // FIXME: Make this infallible after bug 968520 is done. MOZ_ALWAYS_TRUE(aDest.AppendElement(indice, mozilla::fallible)); - MOZ_LOG(sLog, LogLevel::Debug, ("s_o: %" PRIu64 ", e_o: %" PRIu64 ", s_c: %" PRIu64 ", e_c: %" PRIu64 ", s_d: %" PRIu64 ", sync: %d\n", - indice.start_offset, indice.end_offset, indice.start_composition, indice.end_composition, - indice.start_decode, indice.sync)); + MOZ_LOG(gMP4MetadataLog, LogLevel::Debug, + ("s_o: %" PRIu64 ", e_o: %" PRIu64 ", s_c: %" PRIu64 ", e_c: %" PRIu64 ", s_d: %" PRIu64 ", sync: %d\n", + indice.start_offset, indice.end_offset, indice.start_composition, + indice.end_composition, indice.start_decode, indice.sync)); } return NS_OK; } @@ -715,7 +716,7 @@ bool RustStreamAdaptor::Read(uint8_t* buffer, uintptr_t size, size_t* bytes_read) { if (!mOffset.isValid()) { - MOZ_LOG(sLog, LogLevel::Error, ("Overflow in source stream offset")); + MOZ_LOG(gMP4MetadataLog, LogLevel::Error, ("Overflow in source stream offset")); return false; } bool rv = mSource->ReadAt(mOffset.value(), buffer, size, bytes_read); @@ -736,7 +737,7 @@ read_source(uint8_t* buffer, uintptr_t size, void* userdata) size_t bytes_read = 0; bool rv = source->Read(buffer, size, &bytes_read); if (!rv) { - MOZ_LOG(sLog, LogLevel::Warning, ("Error reading source data")); + MOZ_LOG(gMP4MetadataLog, LogLevel::Warning, ("Error reading source data")); return -1; } return bytes_read; @@ -759,16 +760,16 @@ MP4MetadataRust::Init() mRustParser.reset(mp4parse_new(&io)); MOZ_ASSERT(mRustParser); - if (MOZ_LOG_TEST(sLog, LogLevel::Debug)) { + if (MOZ_LOG_TEST(gMP4MetadataLog, LogLevel::Debug)) { mp4parse_log(true); } mp4parse_status rv = mp4parse_read(mRustParser.get()); - MOZ_LOG(sLog, LogLevel::Debug, ("rust parser returned %d\n", rv)); + MOZ_LOG(gMP4MetadataLog, LogLevel::Debug, ("rust parser returned %d\n", rv)); Telemetry::Accumulate(Telemetry::MEDIA_RUST_MP4PARSE_SUCCESS, rv == mp4parse_status_OK); if (rv != mp4parse_status_OK && rv != mp4parse_status_OOM) { - MOZ_LOG(sLog, LogLevel::Info, ("Rust mp4 parser fails to parse this stream.")); + MOZ_LOG(gMP4MetadataLog, LogLevel::Info, ("Rust mp4 parser fails to parse this stream.")); MOZ_ASSERT(rv > 0); Telemetry::Accumulate(Telemetry::MEDIA_RUST_MP4PARSE_ERROR_CODE, rv); return false; @@ -813,13 +814,13 @@ MP4MetadataRust::GetNumberTracks(mozilla::TrackInfo::TrackType aType) const uint32_t tracks; auto rv = mp4parse_get_track_count(mRustParser.get(), &tracks); if (rv != mp4parse_status_OK) { - MOZ_LOG(sLog, LogLevel::Warning, + MOZ_LOG(gMP4MetadataLog, LogLevel::Warning, ("rust parser error %d counting tracks", rv)); return {MediaResult(NS_ERROR_DOM_MEDIA_METADATA_ERR, RESULT_DETAIL("Rust parser error %d", rv)), MP4Metadata::NumberTracksError()}; } - MOZ_LOG(sLog, LogLevel::Info, ("rust parser found %u tracks", tracks)); + MOZ_LOG(gMP4MetadataLog, LogLevel::Info, ("rust parser found %u tracks", tracks)); uint32_t total = 0; for (uint32_t i = 0; i < tracks; ++i) { @@ -885,7 +886,7 @@ MP4MetadataRust::GetTrackInfo(mozilla::TrackInfo::TrackType aType, mp4parse_track_info info; auto rv = mp4parse_get_track_info(mRustParser.get(), trackIndex.value(), &info); if (rv != mp4parse_status_OK) { - MOZ_LOG(sLog, LogLevel::Warning, ("mp4parse_get_track_info returned %d", rv)); + MOZ_LOG(gMP4MetadataLog, LogLevel::Warning, ("mp4parse_get_track_info returned %d", rv)); return {MediaResult(NS_ERROR_DOM_MEDIA_METADATA_ERR, RESULT_DETAIL("Cannot find %s track #%zu", TrackTypeToStr(aType), @@ -907,8 +908,8 @@ MP4MetadataRust::GetTrackInfo(mozilla::TrackInfo::TrackType aType, case mp4parse_codec_AC3: codec_string = "ac-3"; break; case mp4parse_codec_EC3: codec_string = "ec-3"; break; } - MOZ_LOG(sLog, LogLevel::Debug, ("track codec %s (%u)\n", - codec_string, info.codec)); + MOZ_LOG(gMP4MetadataLog, LogLevel::Debug, + ("track codec %s (%u)\n", codec_string, info.codec)); #endif // This specialization interface is crazy. @@ -918,7 +919,7 @@ MP4MetadataRust::GetTrackInfo(mozilla::TrackInfo::TrackType aType, mp4parse_track_audio_info audio; auto rv = mp4parse_get_track_audio_info(mRustParser.get(), trackIndex.value(), &audio); if (rv != mp4parse_status_OK) { - MOZ_LOG(sLog, LogLevel::Warning, ("mp4parse_get_track_audio_info returned error %d", rv)); + MOZ_LOG(gMP4MetadataLog, LogLevel::Warning, ("mp4parse_get_track_audio_info returned error %d", rv)); return {MediaResult(NS_ERROR_DOM_MEDIA_METADATA_ERR, RESULT_DETAIL("Cannot parse %s track #%zu", TrackTypeToStr(aType), @@ -934,7 +935,7 @@ MP4MetadataRust::GetTrackInfo(mozilla::TrackInfo::TrackType aType, mp4parse_track_video_info video; auto rv = mp4parse_get_track_video_info(mRustParser.get(), trackIndex.value(), &video); if (rv != mp4parse_status_OK) { - MOZ_LOG(sLog, LogLevel::Warning, ("mp4parse_get_track_video_info returned error %d", rv)); + MOZ_LOG(gMP4MetadataLog, LogLevel::Warning, ("mp4parse_get_track_video_info returned error %d", rv)); return {MediaResult(NS_ERROR_DOM_MEDIA_METADATA_ERR, RESULT_DETAIL("Cannot parse %s track #%zu", TrackTypeToStr(aType), @@ -947,7 +948,7 @@ MP4MetadataRust::GetTrackInfo(mozilla::TrackInfo::TrackType aType, } break; default: - MOZ_LOG(sLog, LogLevel::Warning, ("unhandled track type %d", aType)); + MOZ_LOG(gMP4MetadataLog, LogLevel::Warning, ("unhandled track type %d", aType)); return {MediaResult(NS_ERROR_DOM_MEDIA_METADATA_ERR, RESULT_DETAIL("Cannot handle %s track #%zu", TrackTypeToStr(aType), @@ -967,7 +968,7 @@ MP4MetadataRust::GetTrackInfo(mozilla::TrackInfo::TrackType aType, if (e && e->IsValid()) { return {NS_OK, Move(e)}; } - MOZ_LOG(sLog, LogLevel::Debug, ("TrackInfo didn't validate")); + MOZ_LOG(gMP4MetadataLog, LogLevel::Debug, ("TrackInfo didn't validate")); return {MediaResult(NS_ERROR_DOM_MEDIA_METADATA_ERR, RESULT_DETAIL("Invalid %s track #%zu", diff --git a/media/libstagefright/binding/include/mp4_demuxer/BufferReader.h b/media/libstagefright/binding/include/mp4_demuxer/BufferReader.h index 5378e55dd3ca..edf45462f208 100644 --- a/media/libstagefright/binding/include/mp4_demuxer/BufferReader.h +++ b/media/libstagefright/binding/include/mp4_demuxer/BufferReader.h @@ -9,10 +9,13 @@ #include "nscore.h" #include "nsTArray.h" #include "MediaData.h" +#include "mozilla/Logging.h" #include "mozilla/Result.h" namespace mp4_demuxer { +extern mozilla::LazyLogModule gMP4MetadataLog; + class MOZ_RAII BufferReader { public: @@ -57,7 +60,7 @@ public: { auto ptr = Read(1); if (!ptr) { - NS_WARNING("Failed to read data"); + MOZ_LOG(gMP4MetadataLog, mozilla::LogLevel::Error, ("%s: failure", __func__)); return mozilla::Err(NS_ERROR_FAILURE); } return *ptr; @@ -67,7 +70,7 @@ public: { auto ptr = Read(2); if (!ptr) { - NS_WARNING("Failed to read data"); + MOZ_LOG(gMP4MetadataLog, mozilla::LogLevel::Error, ("%s: failure", __func__)); return mozilla::Err(NS_ERROR_FAILURE); } return mozilla::BigEndian::readUint16(ptr); @@ -77,7 +80,7 @@ public: { auto ptr = Read(2); if (!ptr) { - NS_WARNING("Failed to read data"); + MOZ_LOG(gMP4MetadataLog, mozilla::LogLevel::Error, ("%s: failure", __func__)); return mozilla::Err(NS_ERROR_FAILURE); } return mozilla::LittleEndian::readInt16(ptr); @@ -87,7 +90,7 @@ public: { auto ptr = Read(3); if (!ptr) { - NS_WARNING("Failed to read data"); + MOZ_LOG(gMP4MetadataLog, mozilla::LogLevel::Error, ("%s: failure", __func__)); return mozilla::Err(NS_ERROR_FAILURE); } return ptr[0] << 16 | ptr[1] << 8 | ptr[2]; @@ -102,7 +105,7 @@ public: { auto ptr = Read(3); if (!ptr) { - NS_WARNING("Failed to read data"); + MOZ_LOG(gMP4MetadataLog, mozilla::LogLevel::Error, ("%s: failure", __func__)); return mozilla::Err(NS_ERROR_FAILURE); } int32_t result = int32_t(ptr[2] << 16 | ptr[1] << 8 | ptr[0]); @@ -116,7 +119,7 @@ public: { auto ptr = Read(4); if (!ptr) { - NS_WARNING("Failed to read data"); + MOZ_LOG(gMP4MetadataLog, mozilla::LogLevel::Error, ("%s: failure", __func__)); return mozilla::Err(NS_ERROR_FAILURE); } return mozilla::BigEndian::readUint32(ptr); @@ -126,7 +129,7 @@ public: { auto ptr = Read(4); if (!ptr) { - NS_WARNING("Failed to read data"); + MOZ_LOG(gMP4MetadataLog, mozilla::LogLevel::Error, ("%s: failure", __func__)); return mozilla::Err(NS_ERROR_FAILURE); } return mozilla::BigEndian::readInt32(ptr); @@ -136,7 +139,7 @@ public: { auto ptr = Read(8); if (!ptr) { - NS_WARNING("Failed to read data"); + MOZ_LOG(gMP4MetadataLog, mozilla::LogLevel::Error, ("%s: failure", __func__)); return mozilla::Err(NS_ERROR_FAILURE); } return mozilla::BigEndian::readUint64(ptr); @@ -146,7 +149,7 @@ public: { auto ptr = Read(8); if (!ptr) { - NS_WARNING("Failed to read data"); + MOZ_LOG(gMP4MetadataLog, mozilla::LogLevel::Error, ("%s: failure", __func__)); return mozilla::Err(NS_ERROR_FAILURE); } return mozilla::BigEndian::readInt64(ptr); @@ -182,7 +185,7 @@ public: { auto ptr = Peek(1); if (!ptr) { - NS_WARNING("Failed to peek data"); + MOZ_LOG(gMP4MetadataLog, mozilla::LogLevel::Error, ("%s: failure", __func__)); return mozilla::Err(NS_ERROR_FAILURE); } return *ptr; @@ -192,7 +195,7 @@ public: { auto ptr = Peek(2); if (!ptr) { - NS_WARNING("Failed to peek data"); + MOZ_LOG(gMP4MetadataLog, mozilla::LogLevel::Error, ("%s: failure", __func__)); return mozilla::Err(NS_ERROR_FAILURE); } return mozilla::BigEndian::readUint16(ptr); @@ -202,7 +205,7 @@ public: { auto ptr = Peek(3); if (!ptr) { - NS_WARNING("Failed to peek data"); + MOZ_LOG(gMP4MetadataLog, mozilla::LogLevel::Error, ("%s: failure", __func__)); return mozilla::Err(NS_ERROR_FAILURE); } return ptr[0] << 16 | ptr[1] << 8 | ptr[2]; @@ -217,7 +220,7 @@ public: { auto ptr = Peek(4); if (!ptr) { - NS_WARNING("Failed to peek data"); + MOZ_LOG(gMP4MetadataLog, mozilla::LogLevel::Error, ("%s: failure", __func__)); return mozilla::Err(NS_ERROR_FAILURE); } return mozilla::BigEndian::readUint32(ptr); @@ -234,7 +237,7 @@ public: const uint8_t* Seek(size_t aOffset) { if (aOffset >= mLength) { - NS_WARNING("Seek failed"); + MOZ_LOG(gMP4MetadataLog, mozilla::LogLevel::Error, ("%s: failure, offset: %zu", __func__, aOffset)); return nullptr; } @@ -261,7 +264,7 @@ public: { auto ptr = Read(sizeof(T)); if (!ptr) { - NS_WARNING("ReadType failed"); + MOZ_LOG(gMP4MetadataLog, mozilla::LogLevel::Error, ("%s: failure", __func__)); return 0; } return *reinterpret_cast(ptr); @@ -272,7 +275,7 @@ public: { auto ptr = Read(aLength * sizeof(T)); if (!ptr) { - NS_WARNING("ReadArray failed"); + MOZ_LOG(gMP4MetadataLog, mozilla::LogLevel::Error, ("%s: failure", __func__)); return false; } @@ -286,7 +289,7 @@ public: { auto ptr = Read(aLength * sizeof(T)); if (!ptr) { - NS_WARNING("ReadArray failed"); + MOZ_LOG(gMP4MetadataLog, mozilla::LogLevel::Error, ("%s: failure", __func__)); return false; }