Loading cmds/stagefright/muxer.cpp +13 −5 Original line number Original line Diff line number Diff line Loading @@ -43,6 +43,7 @@ static void usage(const char *me) { fprintf(stderr, " -h help\n"); fprintf(stderr, " -h help\n"); fprintf(stderr, " -a use audio\n"); fprintf(stderr, " -a use audio\n"); fprintf(stderr, " -v use video\n"); fprintf(stderr, " -v use video\n"); fprintf(stderr, " -w mux into WebM container (default is MP4)\n"); fprintf(stderr, " -s Time in milli-seconds when the trim should start\n"); fprintf(stderr, " -s Time in milli-seconds when the trim should start\n"); fprintf(stderr, " -e Time in milli-seconds when the trim should end\n"); fprintf(stderr, " -e Time in milli-seconds when the trim should end\n"); fprintf(stderr, " -o output file name. Default is /sdcard/muxeroutput.mp4\n"); fprintf(stderr, " -o output file name. Default is /sdcard/muxeroutput.mp4\n"); Loading @@ -60,7 +61,8 @@ static int muxing( bool enableTrim, bool enableTrim, int trimStartTimeMs, int trimStartTimeMs, int trimEndTimeMs, int trimEndTimeMs, int rotationDegrees) { int rotationDegrees, MediaMuxer::OutputFormat container = MediaMuxer::OUTPUT_FORMAT_MPEG_4) { sp<NuMediaExtractor> extractor = new NuMediaExtractor; sp<NuMediaExtractor> extractor = new NuMediaExtractor; if (extractor->setDataSource(NULL /* httpService */, path) != OK) { if (extractor->setDataSource(NULL /* httpService */, path) != OK) { fprintf(stderr, "unable to instantiate extractor. %s\n", path); fprintf(stderr, "unable to instantiate extractor. %s\n", path); Loading @@ -80,8 +82,7 @@ static int muxing( ALOGE("couldn't open file"); ALOGE("couldn't open file"); return fd; return fd; } } sp<MediaMuxer> muxer = new MediaMuxer(fd, sp<MediaMuxer> muxer = new MediaMuxer(fd, container); MediaMuxer::OUTPUT_FORMAT_MPEG_4); close(fd); close(fd); size_t trackCount = extractor->countTracks(); size_t trackCount = extractor->countTracks(); Loading Loading @@ -237,9 +238,10 @@ int main(int argc, char **argv) { // When trimStartTimeMs and trimEndTimeMs seems valid, we turn this switch // When trimStartTimeMs and trimEndTimeMs seems valid, we turn this switch // to true. // to true. bool enableTrim = false; bool enableTrim = false; MediaMuxer::OutputFormat container = MediaMuxer::OUTPUT_FORMAT_MPEG_4; int res; int res; while ((res = getopt(argc, argv, "h?avo:s:e:r:")) >= 0) { while ((res = getopt(argc, argv, "h?avo:s:e:r:w")) >= 0) { switch (res) { switch (res) { case 'a': case 'a': { { Loading @@ -253,6 +255,12 @@ int main(int argc, char **argv) { break; break; } } case 'w': { container = MediaMuxer::OUTPUT_FORMAT_WEBM; break; } case 'o': case 'o': { { outputFileName = optarg; outputFileName = optarg; Loading Loading @@ -318,7 +326,7 @@ int main(int argc, char **argv) { looper->start(); looper->start(); int result = muxing(argv[0], useAudio, useVideo, outputFileName, int result = muxing(argv[0], useAudio, useVideo, outputFileName, enableTrim, trimStartTimeMs, trimEndTimeMs, rotationDegrees); enableTrim, trimStartTimeMs, trimEndTimeMs, rotationDegrees, container); looper->stop(); looper->stop(); Loading Loading
cmds/stagefright/muxer.cpp +13 −5 Original line number Original line Diff line number Diff line Loading @@ -43,6 +43,7 @@ static void usage(const char *me) { fprintf(stderr, " -h help\n"); fprintf(stderr, " -h help\n"); fprintf(stderr, " -a use audio\n"); fprintf(stderr, " -a use audio\n"); fprintf(stderr, " -v use video\n"); fprintf(stderr, " -v use video\n"); fprintf(stderr, " -w mux into WebM container (default is MP4)\n"); fprintf(stderr, " -s Time in milli-seconds when the trim should start\n"); fprintf(stderr, " -s Time in milli-seconds when the trim should start\n"); fprintf(stderr, " -e Time in milli-seconds when the trim should end\n"); fprintf(stderr, " -e Time in milli-seconds when the trim should end\n"); fprintf(stderr, " -o output file name. Default is /sdcard/muxeroutput.mp4\n"); fprintf(stderr, " -o output file name. Default is /sdcard/muxeroutput.mp4\n"); Loading @@ -60,7 +61,8 @@ static int muxing( bool enableTrim, bool enableTrim, int trimStartTimeMs, int trimStartTimeMs, int trimEndTimeMs, int trimEndTimeMs, int rotationDegrees) { int rotationDegrees, MediaMuxer::OutputFormat container = MediaMuxer::OUTPUT_FORMAT_MPEG_4) { sp<NuMediaExtractor> extractor = new NuMediaExtractor; sp<NuMediaExtractor> extractor = new NuMediaExtractor; if (extractor->setDataSource(NULL /* httpService */, path) != OK) { if (extractor->setDataSource(NULL /* httpService */, path) != OK) { fprintf(stderr, "unable to instantiate extractor. %s\n", path); fprintf(stderr, "unable to instantiate extractor. %s\n", path); Loading @@ -80,8 +82,7 @@ static int muxing( ALOGE("couldn't open file"); ALOGE("couldn't open file"); return fd; return fd; } } sp<MediaMuxer> muxer = new MediaMuxer(fd, sp<MediaMuxer> muxer = new MediaMuxer(fd, container); MediaMuxer::OUTPUT_FORMAT_MPEG_4); close(fd); close(fd); size_t trackCount = extractor->countTracks(); size_t trackCount = extractor->countTracks(); Loading Loading @@ -237,9 +238,10 @@ int main(int argc, char **argv) { // When trimStartTimeMs and trimEndTimeMs seems valid, we turn this switch // When trimStartTimeMs and trimEndTimeMs seems valid, we turn this switch // to true. // to true. bool enableTrim = false; bool enableTrim = false; MediaMuxer::OutputFormat container = MediaMuxer::OUTPUT_FORMAT_MPEG_4; int res; int res; while ((res = getopt(argc, argv, "h?avo:s:e:r:")) >= 0) { while ((res = getopt(argc, argv, "h?avo:s:e:r:w")) >= 0) { switch (res) { switch (res) { case 'a': case 'a': { { Loading @@ -253,6 +255,12 @@ int main(int argc, char **argv) { break; break; } } case 'w': { container = MediaMuxer::OUTPUT_FORMAT_WEBM; break; } case 'o': case 'o': { { outputFileName = optarg; outputFileName = optarg; Loading Loading @@ -318,7 +326,7 @@ int main(int argc, char **argv) { looper->start(); looper->start(); int result = muxing(argv[0], useAudio, useVideo, outputFileName, int result = muxing(argv[0], useAudio, useVideo, outputFileName, enableTrim, trimStartTimeMs, trimEndTimeMs, rotationDegrees); enableTrim, trimStartTimeMs, trimEndTimeMs, rotationDegrees, container); looper->stop(); looper->stop(); Loading