Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b7b8de88 authored by Jean-Baptiste Queru's avatar Jean-Baptiste Queru Committed by Android Git Automerger
Browse files

am 0924dd88: am 2aa37a7d: Merge "recordvideo: Add an option for choosing software encoders"

* commit '0924dd88':
  recordvideo: Add an option for choosing software encoders
parents ac418756 0924dd88
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ static void usage(const char *me) {
    fprintf(stderr, "       -l encoder level. see omx il header (default: encoder specific)\n");
    fprintf(stderr, "       -p encoder profile. see omx il header (default: encoder specific)\n");
    fprintf(stderr, "       -v video codec: [0] AVC [1] M4V [2] H263 (default: 0)\n");
    fprintf(stderr, "       -s(oftware) prefer software codec\n");
    fprintf(stderr, "The output file is /sdcard/output.mp4\n");
    exit(1);
}
@@ -162,10 +163,11 @@ int main(int argc, char **argv) {
    int profile = -1;      // Encoder specific default
    int codec = 0;
    const char *fileName = "/sdcard/output.mp4";
    bool preferSoftwareCodec = false;

    android::ProcessState::self()->startThreadPool();
    int res;
    while ((res = getopt(argc, argv, "b:c:f:i:n:w:t:l:p:v:h")) >= 0) {
    while ((res = getopt(argc, argv, "b:c:f:i:n:w:t:l:p:v:hs")) >= 0) {
        switch (res) {
            case 'b':
            {
@@ -233,6 +235,12 @@ int main(int argc, char **argv) {
                break;
            }

            case 's':
            {
                preferSoftwareCodec = true;
                break;
            }

            case 'h':
            default:
            {
@@ -278,7 +286,8 @@ int main(int argc, char **argv) {

    sp<MediaSource> encoder =
        OMXCodec::Create(
                client.interface(), enc_meta, true /* createEncoder */, source);
                client.interface(), enc_meta, true /* createEncoder */, source,
                0, preferSoftwareCodec ? OMXCodec::kPreferSoftwareCodecs : 0);

    sp<MPEG4Writer> writer = new MPEG4Writer(fileName);
    writer->addSource(encoder);