diff options
author | Andreas Huber <andih@google.com> | 2013-02-07 23:25:59 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-02-07 23:26:00 +0000 |
commit | 90cede87c5a0176574961a4a57589eb217ac1873 (patch) | |
tree | 83bd670377ac615a4803d9cfb8455bb178ba72e5 /media/libstagefright/wifi-display | |
parent | 1dfc70879323990ba4b4d3e7cadc93ea3900063c (diff) | |
parent | c71601c3b1dd63afc9be462194809813e4dbacf1 (diff) | |
download | frameworks_av-90cede87c5a0176574961a4a57589eb217ac1873.zip frameworks_av-90cede87c5a0176574961a4a57589eb217ac1873.tar.gz frameworks_av-90cede87c5a0176574961a4a57589eb217ac1873.tar.bz2 |
Merge "Allow for dynamic reconfiguration of the video bitrate used"
Diffstat (limited to 'media/libstagefright/wifi-display')
-rw-r--r-- | media/libstagefright/wifi-display/source/Converter.cpp | 14 | ||||
-rw-r--r-- | media/libstagefright/wifi-display/source/Converter.h | 2 |
2 files changed, 16 insertions, 0 deletions
diff --git a/media/libstagefright/wifi-display/source/Converter.cpp b/media/libstagefright/wifi-display/source/Converter.cpp index 5628dec..376b0df 100644 --- a/media/libstagefright/wifi-display/source/Converter.cpp +++ b/media/libstagefright/wifi-display/source/Converter.cpp @@ -54,6 +54,7 @@ Converter::Converter( ,mFirstSilentFrameUs(-1ll) ,mInSilentMode(false) #endif + ,mPrevVideoBitrate(-1) { AString mime; CHECK(mInputFormat->findString("mime", &mime)); @@ -185,6 +186,7 @@ status_t Converter::initEncoder() { int32_t audioBitrate = getBitrate("media.wfd.audio-bitrate", 128000); int32_t videoBitrate = getBitrate("media.wfd.video-bitrate", 5000000); + mPrevVideoBitrate = videoBitrate; ALOGI("using audio bitrate of %d bps, video bitrate of %d bps", audioBitrate, videoBitrate); @@ -606,6 +608,18 @@ status_t Converter::feedEncoderInputBuffers() { } status_t Converter::doMoreWork() { + if (mIsVideo) { + int32_t videoBitrate = getBitrate("media.wfd.video-bitrate", 5000000); + if (videoBitrate != mPrevVideoBitrate) { + sp<AMessage> params = new AMessage; + + params->setInt32("videoBitrate", videoBitrate); + mEncoder->setParameters(params); + + mPrevVideoBitrate = videoBitrate; + } + } + status_t err; for (;;) { diff --git a/media/libstagefright/wifi-display/source/Converter.h b/media/libstagefright/wifi-display/source/Converter.h index 3357d61..57802bd 100644 --- a/media/libstagefright/wifi-display/source/Converter.h +++ b/media/libstagefright/wifi-display/source/Converter.h @@ -100,6 +100,8 @@ private: sp<ABuffer> mPartialAudioAU; + int32_t mPrevVideoBitrate; + status_t initEncoder(); void releaseEncoder(); |