Bug 1349133 - Support video rotation. r?kinetik draft
authorAlfredo.Yang <ayang@mozilla.com>
Tue, 21 Mar 2017 16:01:14 +0800
changeset 502586 0a5406f4ffae9f31eecdb8f077b2c0c78a5c19bf
parent 502579 8744e9f8eb99f1290aae81985812d57364f18708
child 502587 e6950162971c8a9f0f1c6aa801d64360b106cafb
push id50327
push userbmo:ayang@mozilla.com
push dateWed, 22 Mar 2017 02:12:31 +0000
reviewerskinetik
bugs1349133
milestone55.0a1
Bug 1349133 - Support video rotation. r?kinetik MozReview-Commit-ID: GErgah40omc
media/libstagefright/binding/DecoderData.cpp
media/libstagefright/binding/MP4Metadata.cpp
--- a/media/libstagefright/binding/DecoderData.cpp
+++ b/media/libstagefright/binding/DecoderData.cpp
@@ -261,16 +261,17 @@ MP4VideoInfo::Update(const mp4parse_trac
   }
   mTrackId = track->track_id;
   mDuration = track->duration;
   mMediaTime = track->media_time;
   mDisplay.width = video->display_width;
   mDisplay.height = video->display_height;
   mImage.width = video->image_width;
   mImage.height = video->image_height;
+  mRotation = ToSupportedRotation(video->rotation);
   if (video->extra_data.data) {
     mExtraData->AppendElements(video->extra_data.data, video->extra_data.length);
   }
 }
 
 bool
 MP4VideoInfo::IsValid() const
 {
--- a/media/libstagefright/binding/MP4Metadata.cpp
+++ b/media/libstagefright/binding/MP4Metadata.cpp
@@ -368,16 +368,17 @@ MP4Metadata::GetTrackInfo(mozilla::Track
       MOZ_DIAGNOSTIC_ASSERT(*audioRust->mExtraData == *audio->mExtraData);
       MOZ_DIAGNOSTIC_ASSERT(*audioRust->mCodecSpecificConfig == *audio->mCodecSpecificConfig);
       break;
     }
     case mozilla::TrackInfo::kVideoTrack: {
       VideoInfo *videoRust = infoRust->GetAsVideoInfo(), *video = info->GetAsVideoInfo();
       MOZ_DIAGNOSTIC_ASSERT(videoRust->mDisplay == video->mDisplay);
       MOZ_DIAGNOSTIC_ASSERT(videoRust->mImage == video->mImage);
+      MOZ_DIAGNOSTIC_ASSERT(videoRust->mRotation == video->mRotation);
       MOZ_DIAGNOSTIC_ASSERT(*videoRust->mExtraData == *video->mExtraData);
       // mCodecSpecificConfig is for video/mp4-es, not video/avc. Since video/mp4-es
       // is supported on b2g only, it could be removed from TrackInfo.
       MOZ_DIAGNOSTIC_ASSERT(*videoRust->mCodecSpecificConfig == *video->mCodecSpecificConfig);
       break;
     }
     default:
       break;