From 5a81ad893eada20c32596be53dabe203b99bec3c Mon Sep 17 00:00:00 2001 From: James Dong Date: Tue, 31 Jul 2012 14:41:35 -0700 Subject: Allows MediaMetadataRetriever to retrieve video rotation angle o related-to-bug: 6872687 Change-Id: I34e74b0756f8269edefdf3a25d8806c76fd1e2f8 --- media/libstagefright/StagefrightMetadataRetriever.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'media/libstagefright/StagefrightMetadataRetriever.cpp') diff --git a/media/libstagefright/StagefrightMetadataRetriever.cpp b/media/libstagefright/StagefrightMetadataRetriever.cpp index 7951496..c9ef4d9 100644 --- a/media/libstagefright/StagefrightMetadataRetriever.cpp +++ b/media/libstagefright/StagefrightMetadataRetriever.cpp @@ -462,6 +462,7 @@ void StagefrightMetadataRetriever::parseMetaData() { int32_t videoWidth = -1; int32_t videoHeight = -1; int32_t audioBitrate = -1; + int32_t rotationAngle = -1; // The overall duration is the duration of the longest track. int64_t maxDurationUs = 0; @@ -489,6 +490,9 @@ void StagefrightMetadataRetriever::parseMetaData() { CHECK(trackMeta->findInt32(kKeyWidth, &videoWidth)); CHECK(trackMeta->findInt32(kKeyHeight, &videoHeight)); + if (!trackMeta->findInt32(kKeyRotation, &rotationAngle)) { + rotationAngle = 0; + } } else if (!strcasecmp(mime, MEDIA_MIMETYPE_TEXT_3GPP)) { const char *lang; trackMeta->findCString(kKeyMediaLanguage, &lang); @@ -521,6 +525,9 @@ void StagefrightMetadataRetriever::parseMetaData() { sprintf(tmp, "%d", videoHeight); mMetaData.add(METADATA_KEY_VIDEO_HEIGHT, String8(tmp)); + + sprintf(tmp, "%d", rotationAngle); + mMetaData.add(METADATA_KEY_VIDEO_ROTATION, String8(tmp)); } if (numTracks == 1 && hasAudio && audioBitrate >= 0) { -- cgit v1.1