Merge "Fix the media metadata retriever (tests). The native constants must match those published at the java layer."

This commit is contained in:
Andreas Huber
2010-03-15 10:38:00 -07:00
committed by Android (Google) Code Review
3 changed files with 26 additions and 2 deletions

View File

@@ -43,6 +43,10 @@ public:
class MediaMetadataRetrieverInterface : public MediaMetadataRetrieverBase
{
public:
MediaMetadataRetrieverInterface()
: mMode(0) {
}
virtual ~MediaMetadataRetrieverInterface() {}
// @param mode The intended mode of operations:
@@ -57,6 +61,8 @@ public:
mode > METADATA_MODE_FRAME_CAPTURE_AND_METADATA_RETRIEVAL) {
return BAD_VALUE;
}
mMode = mode;
return NO_ERROR;
}

View File

@@ -67,8 +67,8 @@ enum {
// and meta data retrieval.$
enum {
METADATA_MODE_NOOP = 0x00,
METADATA_MODE_FRAME_CAPTURE_ONLY = 0x01,
METADATA_MODE_METADATA_RETRIEVAL_ONLY = 0x02,
METADATA_MODE_METADATA_RETRIEVAL_ONLY = 0x01,
METADATA_MODE_FRAME_CAPTURE_ONLY = 0x02,
METADATA_MODE_FRAME_CAPTURE_AND_METADATA_RETRIEVAL = 0x03
};

View File

@@ -206,6 +206,12 @@ static VideoFrame *extractVideoFrameWithCodecFlags(
VideoFrame *StagefrightMetadataRetriever::captureFrame() {
LOGV("captureFrame");
if (0 == (mMode & METADATA_MODE_FRAME_CAPTURE_ONLY)) {
LOGV("captureFrame disabled by mode (0x%08x)", mMode);
return NULL;
}
if (mExtractor.get() == NULL) {
LOGV("no extractor.");
return NULL;
@@ -256,6 +262,12 @@ VideoFrame *StagefrightMetadataRetriever::captureFrame() {
MediaAlbumArt *StagefrightMetadataRetriever::extractAlbumArt() {
LOGV("extractAlbumArt (extractor: %s)", mExtractor.get() != NULL ? "YES" : "NO");
if (0 == (mMode & METADATA_MODE_METADATA_RETRIEVAL_ONLY)) {
LOGV("extractAlbumArt/metadata retrieval disabled by mode");
return NULL;
}
if (mExtractor == NULL) {
return NULL;
}
@@ -274,6 +286,12 @@ MediaAlbumArt *StagefrightMetadataRetriever::extractAlbumArt() {
}
const char *StagefrightMetadataRetriever::extractMetadata(int keyCode) {
if (0 == (mMode & METADATA_MODE_METADATA_RETRIEVAL_ONLY)) {
LOGV("extractAlbumArt/metadata retrieval disabled by mode");
return NULL;
}
if (mExtractor == NULL) {
return NULL;
}