From: Andreas Huber Date: Wed, 12 Sep 2012 21:06:17 +0000 (-0700) Subject: Audio and video bitrate are now configurable through system properties X-Git-Tag: android-x86-4.4-r1~23^2~80^2~195^2^2^2^2^2^2~2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=a2b71d7b2c9674a8fc1d5941a40f5878f125a1c1;p=android-x86%2Fframeworks-av.git Audio and video bitrate are now configurable through system properties adb shell setprop media.wfd.audio-bitrate 64000 adb shell setprop media.wfd.video-bitrate 10000000 are the defaults. Change-Id: Ib4d700748bdac2adffc6e7e31aff9c9f998e20f0 --- diff --git a/media/libstagefright/wifi-display/source/Converter.cpp b/media/libstagefright/wifi-display/source/Converter.cpp index 0b29df947b..7c3b90846a 100644 --- a/media/libstagefright/wifi-display/source/Converter.cpp +++ b/media/libstagefright/wifi-display/source/Converter.cpp @@ -20,6 +20,7 @@ #include "Converter.h" +#include #include #include #include @@ -62,6 +63,20 @@ sp Converter::getOutputFormat() const { return mOutputFormat; } +static int32_t getBitrate(const char *propName, int32_t defaultValue) { + char val[PROPERTY_VALUE_MAX]; + if (property_get(propName, val, NULL)) { + char *end; + unsigned long x = strtoul(val, &end, 10); + + if (*end == '\0' && end > val && x > 0) { + return x; + } + } + + return defaultValue; +} + status_t Converter::initEncoder() { AString inputMIME; CHECK(mInputFormat->findString("mime", &inputMIME)); @@ -87,10 +102,16 @@ status_t Converter::initEncoder() { mOutputFormat = mInputFormat->dup(); mOutputFormat->setString("mime", outputMIME.c_str()); + int32_t audioBitrate = getBitrate("media.wfd.audio-bitrate", 64000); + int32_t videoBitrate = getBitrate("media.wfd.video-bitrate", 10000000); + + ALOGI("using audio bitrate of %d bps, video bitrate of %d bps", + audioBitrate, videoBitrate); + if (isAudio) { - mOutputFormat->setInt32("bitrate", 64000); // 64 kBit/sec + mOutputFormat->setInt32("bitrate", audioBitrate); } else { - mOutputFormat->setInt32("bitrate", 10000000); // 10Mbit/sec + mOutputFormat->setInt32("bitrate", videoBitrate); mOutputFormat->setInt32("frame-rate", 60); mOutputFormat->setInt32("i-frame-interval", 3); // Iframes every 3 secs }