diff options
author | Ronghua Wu <ronghuawu@google.com> | 2015-04-27 22:55:37 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-04-27 22:55:38 +0000 |
commit | 4275065e89b121fd2f9bd4e0440577348d5ce663 (patch) | |
tree | 79c39316a30e8c413a5c614eaaa157f710a650fb /media/libstagefright | |
parent | c721e71f4d7e3cd4fc9332fd55fb6942f54cec39 (diff) | |
parent | 8db8813d39e3c8b5fbd580dfc3062830744afd63 (diff) | |
download | frameworks_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.cpp | 12 |
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> ¶ms) { } } + 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; } |