Backed out changeset aa1d245e0af3 (bug 1275812) for mass win32 debug crashes.
authorRyan VanderMeulen <ryanvm@gmail.com>
Thu, 26 May 2016 13:53:26 -0400
changeset 340227 856903d82b908a56a0766a2ddabc5e4aab89db48
parent 340226 ee0eab7d17e46412d7a469bcd6e1d52288045be9
child 340228 33e51331fe0359998d75b909258b602b63f8cac9
push id1183
push userraliiev@mozilla.com
push dateMon, 05 Sep 2016 20:01:49 +0000
treeherdermozilla-release@3148731bed45 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1275812
milestone49.0a1
backs outaa1d245e0af392ca48e991661c0c38a84ba2e360
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out changeset aa1d245e0af3 (bug 1275812) for mass win32 debug crashes. CLOSED TREE
media/libstagefright/binding/include/mp4parse.h
media/libstagefright/binding/mp4parse-codecs.patch
media/libstagefright/binding/mp4parse/capi.rs
media/libstagefright/binding/update-rust.sh
--- a/media/libstagefright/binding/include/mp4parse.h
+++ b/media/libstagefright/binding/include/mp4parse.h
@@ -17,22 +17,16 @@ struct mp4parse_state;
 #define MP4PARSE_ERROR_UNSUPPORTED 3 // Error::Unsupported
 #define MP4PARSE_ERROR_EOF 4         // Error::UnexpectedEOF
 #define MP4PARSE_ASSERT 5            // Error::AssertCaught
 #define MP4PARSE_ERROR_IO 6          // Error::Io(_)
 
 #define MP4PARSE_TRACK_TYPE_H264 0 // "video/avc"
 #define MP4PARSE_TRACK_TYPE_AAC  1 // "audio/mp4a-latm"
 
-#define MP4PARSE_TRACK_CODEC_UNKNOWN 0
-#define MP4PARSE_TRACK_CODEC_AAC 1
-#define MP4PARSE_TRACK_CODEC_OPUS 2
-#define MP4PARSE_TRACK_CODEC_H264 3
-#define MP4PARSE_TRACK_CODEC_VP9 4
-
 struct mp4parse_track_audio_info {
   uint16_t channels;
   uint16_t bit_depth;
   uint32_t sample_rate;
 };
 
 struct mp4parse_track_video_info {
   uint32_t display_width;
deleted file mode 100644
--- a/media/libstagefright/binding/mp4parse-codecs.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff --git a/media/libstagefright/binding/mp4parse/capi.rs b/media/libstagefright/binding/mp4parse/capi.rs
-index ed7e566..2441d2a 100644
---- a/media/libstagefright/binding/mp4parse/capi.rs
-+++ b/media/libstagefright/binding/mp4parse/capi.rs
-@@ -49,12 +49,20 @@ const MP4PARSE_ERROR_IO: i32 = 6;
- const TRACK_TYPE_H264: u32 = 0;
- const TRACK_TYPE_AAC: u32 = 1;
- 
-+/// Map Track mime_type to uint32 constants.
-+const TRACK_CODEC_UNKNOWN: u32 = 0;
-+const TRACK_CODEC_AAC: u32 = 1;
-+const TRACK_CODEC_OPUS: u32 = 2;
-+const TRACK_CODEC_H264: u32 = 3;
-+const TRACK_CODEC_VP9: u32 = 4;
-+
- // These structs *must* match those declared in include/mp4parse.h.
- 
- #[repr(C)]
- pub struct TrackInfo {
-     track_type: u32,
-     track_id: u32,
-+    codec: u32,
-     duration: u64,
-     media_time: i64, // wants to be u64? understand how elst adjustment works
-     // TODO(kinetik): include crypto guff
-@@ -166,6 +174,16 @@ pub unsafe extern "C" fn mp4parse_get_track_info(context: *mut MediaContext, tra
-         TrackType::Unknown => return MP4PARSE_ERROR_UNSUPPORTED,
-     };
- 
-+    info.codec = match &*context.tracks[track_index].mime_type {
-+        "audio/opus" => TRACK_CODEC_OPUS,
-+        "audio/aac" |
-+        "audio/mp4a-latm" => TRACK_CODEC_AAC,
-+        "video/vp9" => TRACK_CODEC_VP9,
-+        "video/h264" |
-+        "video/avc" => TRACK_CODEC_H264,
-+        _ => TRACK_CODEC_UNKNOWN,
-+    };
-+
-     // Maybe context & track should just have a single simple is_valid() instead?
-     if context.timescale.is_none() ||
-        context.tracks[track_index].timescale.is_none() ||
--- a/media/libstagefright/binding/mp4parse/capi.rs
+++ b/media/libstagefright/binding/mp4parse/capi.rs
@@ -44,30 +44,22 @@ const MP4PARSE_ERROR_UNSUPPORTED: i32 = 
 const MP4PARSE_ERROR_EOF: i32 = 4;
 const MP4PARSE_ASSERT: i32 = 5;
 const MP4PARSE_ERROR_IO: i32 = 6;
 
 /// Map TrackType to uint32 constants.
 const TRACK_TYPE_H264: u32 = 0;
 const TRACK_TYPE_AAC: u32 = 1;
 
-/// Map Track mime_type to uint32 constants.
-const TRACK_CODEC_UNKNOWN: u32 = 0;
-const TRACK_CODEC_AAC: u32 = 1;
-const TRACK_CODEC_OPUS: u32 = 2;
-const TRACK_CODEC_H264: u32 = 3;
-const TRACK_CODEC_VP9: u32 = 4;
-
 // These structs *must* match those declared in include/mp4parse.h.
 
 #[repr(C)]
 pub struct TrackInfo {
     track_type: u32,
     track_id: u32,
-    codec: u32,
     duration: u64,
     media_time: i64, // wants to be u64? understand how elst adjustment works
     // TODO(kinetik): include crypto guff
 }
 
 #[repr(C)]
 pub struct TrackAudioInfo {
     channels: u16,
@@ -176,24 +168,16 @@ pub unsafe extern "C" fn mp4parse_get_tr
     }
 
     info.track_type = match context.tracks[track_index].track_type {
         TrackType::Video => TRACK_TYPE_H264,
         TrackType::Audio => TRACK_TYPE_AAC,
         TrackType::Unknown => return MP4PARSE_ERROR_UNSUPPORTED,
     };
 
-    info.codec = match &*context.tracks[track_index].mime_type {
-        "audio/opus" => TRACK_CODEC_OPUS,
-        "video/vp9" => TRACK_CODEC_VP9,
-        "video/h264" => TRACK_CODEC_H264,
-        "audio/aac" => TRACK_CODEC_AAC,
-        _ => TRACK_CODEC_UNKNOWN,
-    };
-
     // Maybe context & track should just have a single simple is_valid() instead?
     if context.timescale.is_none() ||
        context.tracks[track_index].timescale.is_none() ||
        context.tracks[track_index].duration.is_none() ||
        context.tracks[track_index].track_id.is_none() {
         return MP4PARSE_ERROR_INVALID;
     }
 
--- a/media/libstagefright/binding/update-rust.sh
+++ b/media/libstagefright/binding/update-rust.sh
@@ -30,14 +30,13 @@ rm -rf mp4parse/byteorder
 mkdir mp4parse/byteorder
 cp _upstream/byteorder/src/lib.rs mp4parse/byteorder/mod.rs
 cp _upstream/byteorder/src/new.rs mp4parse/byteorder/new.rs
 
 echo "Applying patches..."
 patch -p4 < byteorder-mod.patch
 patch -p4 < mp4parse-mod.patch
 patch -p4 < mp4parse-thread.patch
-patch -p4 < mp4parse-codecs.patch
 
 echo "Cleaning up..."
 rm -rf _upstream
 
 echo "Updated to ${VER}."