diff options
author | Andreas Huber <andih@google.com> | 2009-08-27 12:10:02 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2009-08-27 12:10:02 -0700 |
commit | 80011fe130bc966aa357ed2b3dcc80cde2d0bb82 (patch) | |
tree | 17ce88129debbc944e967a5b6a7dcb0cb0327807 | |
parent | 284f513a4ce2c5aa0e250c07c873731aedb0be26 (diff) | |
download | frameworks_av-80011fe130bc966aa357ed2b3dcc80cde2d0bb82.zip frameworks_av-80011fe130bc966aa357ed2b3dcc80cde2d0bb82.tar.gz frameworks_av-80011fe130bc966aa357ed2b3dcc80cde2d0bb82.tar.bz2 |
Extend stagefright commandline up to enable vendor to reproduce specific bugs filed.
-rw-r--r-- | cmds/stagefright/stagefright.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/cmds/stagefright/stagefright.cpp b/cmds/stagefright/stagefright.cpp index ac6fb36..e927aae 100644 --- a/cmds/stagefright/stagefright.cpp +++ b/cmds/stagefright/stagefright.cpp @@ -41,6 +41,7 @@ using namespace android; static long gNumRepetitions; static long gMaxNumFrames; // 0 means decode all available. +static long gReproduceBug; // if not -1. static int64_t getNowUs() { struct timeval tv; @@ -100,6 +101,11 @@ static void playSource(OMXClient *client, const sp<MediaSource> &source) { if (gMaxNumFrames > 0 && numFrames == gMaxNumFrames) { break; } + + if (gReproduceBug == 1 && numFrames == 40) { + printf("seeking past the end now."); + options.setSeekTo(LONG_MAX); + } } printf("$"); @@ -124,6 +130,7 @@ static void usage(const char *me) { fprintf(stderr, " -n repetitions\n"); fprintf(stderr, " -l(ist) components\n"); fprintf(stderr, " -m max-number-of-frames-to-decode in each pass\n"); + fprintf(stderr, " -b bug to reproduce\n"); } int main(int argc, char **argv) { @@ -133,9 +140,10 @@ int main(int argc, char **argv) { bool listComponents = false; gNumRepetitions = 1; gMaxNumFrames = 0; + gReproduceBug = -1; int res; - while ((res = getopt(argc, argv, "han:lm:")) >= 0) { + while ((res = getopt(argc, argv, "han:lm:b:")) >= 0) { switch (res) { case 'a': { @@ -151,6 +159,7 @@ int main(int argc, char **argv) { case 'm': case 'n': + case 'b': { char *end; long x = strtol(optarg, &end, 10); @@ -161,8 +170,11 @@ int main(int argc, char **argv) { if (res == 'n') { gNumRepetitions = x; - } else { + } else if (res == 'm') { gMaxNumFrames = x; + } else { + CHECK_EQ(res, 'b'); + gReproduceBug = x; } break; } |