From 1b950bcd3c11a17186cf971e23f5ec829d092ed5 Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Wed, 10 Mar 2010 11:07:12 -0800 Subject: Extend stagefright tool to extract either album art or video frame. Change-Id: Iab50924e37a1aad057470a349c8f1a81858424e9 --- cmds/stagefright/stagefright.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'cmds/stagefright') 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 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; -- cgit v1.1