summaryrefslogtreecommitdiffstats
path: root/media/libstagefright
diff options
context:
space:
mode:
authorRonghua Wu <ronghuawu@google.com>2015-04-27 22:55:37 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-04-27 22:55:38 +0000
commit4275065e89b121fd2f9bd4e0440577348d5ce663 (patch)
tree79c39316a30e8c413a5c614eaaa157f710a650fb /media/libstagefright
parentc721e71f4d7e3cd4fc9332fd55fb6942f54cec39 (diff)
parent8db8813d39e3c8b5fbd580dfc3062830744afd63 (diff)
downloadframeworks_av-4275065e89b121fd2f9bd4e0440577348d5ce663.zip
frameworks_av-4275065e89b121fd2f9bd4e0440577348d5ce663.tar.gz
frameworks_av-4275065e89b121fd2f9bd4e0440577348d5ce663.tar.bz2
Merge "DO NOT MERGE libmediaplayerservice: set priority and operating rate for the codec used by nuplayer." into mnc-dev
Diffstat (limited to 'media/libstagefright')
-rw-r--r--media/libstagefright/ACodec.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp
index da22f11..c7df5a0 100644
--- a/media/libstagefright/ACodec.cpp
+++ b/media/libstagefright/ACodec.cpp
@@ -405,6 +405,7 @@ ACodec::ACodec()
: mQuirks(0),
mNode(0),
mSentFormat(false),
+ mIsVideo(false),
mIsEncoder(false),
mUseMetadataOnEncoderOutput(false),
mShutdownInProgress(false),
@@ -1186,6 +1187,7 @@ status_t ACodec::configureCodec(
mIsEncoder = encoder;
+
status_t err = setComponentRole(encoder /* isEncoder */, mime);
if (err != OK) {
@@ -1244,6 +1246,7 @@ status_t ACodec::configureCodec(
// sps/pps to idr frames, since in metadata mode the bitstream is in an
// opaque handle, to which we don't have access.
int32_t video = !strncasecmp(mime, "video/", 6);
+ mIsVideo = video;
if (encoder && video) {
OMX_BOOL enable = (OMX_BOOL) (prependSPSPPS
&& msg->findInt32("store-metadata-in-buffers-output", &storeMeta)
@@ -5684,6 +5687,15 @@ status_t ACodec::setParameters(const sp<AMessage> &params) {
}
}
+ float rate;
+ if (params->findFloat("operating-rate", &rate) && rate > 0) {
+ status_t err = setOperatingRate(rate, mIsVideo);
+ if (err != OK) {
+ ALOGE("Failed to set parameter 'operating-rate' (err %d)", err);
+ return err;
+ }
+ }
+
return OK;
}