From 72a64368b458b1561db3f005000ac711733ccfeb Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Tue, 26 Jan 2016 14:53:04 -0800 Subject: [PATCH] Bug 1243234 - Update rust mp4parse telemetry reporting. r=kinetik As of mp4parse 0.2.0 error codes are positive, as gecko telemetry requires, so we no longer need to invert them. However, the return code is still signed, so assert to catch future errors. Also fix a bug in track comparison telemetry. We were only counting tracks when parsing failed. --- media/libstagefright/binding/MP4Metadata.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/media/libstagefright/binding/MP4Metadata.cpp b/media/libstagefright/binding/MP4Metadata.cpp index ef0da4dccb24..c1d9c7ae3bea 100644 --- a/media/libstagefright/binding/MP4Metadata.cpp +++ b/media/libstagefright/binding/MP4Metadata.cpp @@ -142,10 +142,11 @@ MP4Metadata::GetNumberTracks(mozilla::TrackInfo::TrackType aType) const mRustState.reset(mp4parse_new()); int32_t rust_mp4parse_success = try_rust(mRustState, mSource); Telemetry::Accumulate(Telemetry::MEDIA_RUST_MP4PARSE_SUCCESS, - rust_mp4parse_success == 0); - if (rust_mp4parse_success < 0) { + rust_mp4parse_success == MP4PARSE_OK); + if (rust_mp4parse_success != MP4PARSE_OK) { + MOZ_ASSERT(rust_mp4parse_success > 0); Telemetry::Accumulate(Telemetry::MEDIA_RUST_MP4PARSE_ERROR_CODE, - -rust_mp4parse_success); + rust_mp4parse_success); } uint32_t rust_tracks = mp4parse_get_track_count(mRustState.get()); MOZ_LOG(sLog, LogLevel::Info, ("rust parser found %u tracks", rust_tracks)); @@ -179,7 +180,7 @@ MP4Metadata::GetNumberTracks(mozilla::TrackInfo::TrackType aType) const #ifdef MOZ_RUST_MP4PARSE uint32_t rust_total = 0; const char* rust_track_type = nullptr; - if (rust_mp4parse_success && rust_tracks > 0) { + if (rust_mp4parse_success == MP4PARSE_OK && rust_tracks > 0) { for (uint32_t i = 0; i < rust_tracks; ++i) { mp4parse_track_info track_info; int32_t r = mp4parse_get_track_info(mRustState.get(), i, &track_info);