summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/MediaCodec.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2013-02-07 10:56:14 -0800
committerAndreas Huber <andih@google.com>2013-02-07 10:56:14 -0800
commitc71601c3b1dd63afc9be462194809813e4dbacf1 (patch)
treef91f7e9da453d188934ef99d136f2606a52fe3d9 /media/libstagefright/MediaCodec.cpp
parent0955986e6c1c27ba752e293246086ea79c49d39c (diff)
downloadframeworks_av-c71601c3b1dd63afc9be462194809813e4dbacf1.zip
frameworks_av-c71601c3b1dd63afc9be462194809813e4dbacf1.tar.gz
frameworks_av-c71601c3b1dd63afc9be462194809813e4dbacf1.tar.bz2
Allow for dynamic reconfiguration of the video bitrate used
to encode video while running as a wfd source. Change-Id: I44f7b2350c88fc5807047c61bfe594ef8fa79275
Diffstat (limited to 'media/libstagefright/MediaCodec.cpp')
-rw-r--r--media/libstagefright/MediaCodec.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/media/libstagefright/MediaCodec.cpp b/media/libstagefright/MediaCodec.cpp
index cb8a651..77aceb7 100644
--- a/media/libstagefright/MediaCodec.cpp
+++ b/media/libstagefright/MediaCodec.cpp
@@ -1203,6 +1203,23 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) {
break;
}
+ case kWhatSetParameters:
+ {
+ uint32_t replyID;
+ CHECK(msg->senderAwaitsResponse(&replyID));
+
+ sp<AMessage> params;
+ CHECK(msg->findMessage("params", &params));
+
+ status_t err = onSetParameters(params);
+
+ sp<AMessage> response = new AMessage;
+ response->setInt32("err", err);
+
+ response->postReply(replyID);
+ break;
+ }
+
default:
TRESPASS();
}
@@ -1556,4 +1573,18 @@ void MediaCodec::postActivityNotificationIfPossible() {
}
}
+status_t MediaCodec::setParameters(const sp<AMessage> &params) {
+ sp<AMessage> msg = new AMessage(kWhatSetParameters, id());
+ msg->setMessage("params", params);
+
+ sp<AMessage> response;
+ return PostAndAwaitResponse(msg, &response);
+}
+
+status_t MediaCodec::onSetParameters(const sp<AMessage> &params) {
+ mCodec->signalSetParameters(params);
+
+ return OK;
+}
+
} // namespace android