summaryrefslogtreecommitdiffstats
path: root/cmds
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-03-10 11:07:12 -0800
committerAndreas Huber <andih@google.com>2010-03-10 11:07:12 -0800
commit1b950bcd3c11a17186cf971e23f5ec829d092ed5 (patch)
tree33cc7ff005f0c29471e7479a2606608f00167eeb /cmds
parent2e39c1ca101e01ff13b03129a87939e7982b25bf (diff)
downloadframeworks_av-1b950bcd3c11a17186cf971e23f5ec829d092ed5.zip
frameworks_av-1b950bcd3c11a17186cf971e23f5ec829d092ed5.tar.gz
frameworks_av-1b950bcd3c11a17186cf971e23f5ec829d092ed5.tar.bz2
Extend stagefright tool to extract either album art or video frame.
Change-Id: Iab50924e37a1aad057470a349c8f1a81858424e9
Diffstat (limited to 'cmds')
-rw-r--r--cmds/stagefright/stagefright.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/cmds/stagefright/stagefright.cpp b/cmds/stagefright/stagefright.cpp
index 942a303..5e2c61e 100644
--- a/cmds/stagefright/stagefright.cpp
+++ b/cmds/stagefright/stagefright.cpp
@@ -232,7 +232,7 @@ static void usage(const char *me) {
fprintf(stderr, " -m max-number-of-frames-to-decode in each pass\n");
fprintf(stderr, " -b bug to reproduce\n");
fprintf(stderr, " -p(rofiles) dump decoder profiles supported\n");
- fprintf(stderr, " -t(humbnail) extract video thumbnail\n");
+ fprintf(stderr, " -t(humbnail) extract video thumbnail or album art\n");
fprintf(stderr, " -s(oftware) prefer software codec\n");
}
@@ -334,12 +334,24 @@ int main(int argc, char **argv) {
const char *filename = argv[k];
CHECK_EQ(retriever->setDataSource(filename), OK);
- CHECK_EQ(retriever->setMode(METADATA_MODE_FRAME_CAPTURE_ONLY), OK);
+ CHECK_EQ(retriever->setMode(
+ METADATA_MODE_FRAME_CAPTURE_AND_METADATA_RETRIEVAL),
+ OK);
sp<IMemory> mem = retriever->captureFrame();
- printf("captureFrame(%s) => %s\n",
- filename, mem != NULL ? "OK" : "FAILED");
+ if (mem != NULL) {
+ printf("captureFrame(%s) => OK\n", filename);
+ } else {
+ mem = retriever->extractAlbumArt();
+
+ if (mem != NULL) {
+ printf("extractAlbumArt(%s) => OK\n", filename);
+ } else {
+ printf("both captureFrame and extractAlbumArt "
+ "failed on file '%s'.\n", filename);
+ }
+ }
}
return 0;