summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/wifi-display/source/RepeaterSource.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2013-03-26 13:52:43 -0700
committerAndreas Huber <andih@google.com>2013-03-26 14:51:36 -0700
commiteaf5381f38bf6c3ecb5fe32a8351c26a447549f5 (patch)
tree95d799dea772d0a7246881dd6f56614e72897f36 /media/libstagefright/wifi-display/source/RepeaterSource.cpp
parentcd77d4a1d38b7609a03f6826a1ff5fa7c98aa34f (diff)
downloadframeworks_av-eaf5381f38bf6c3ecb5fe32a8351c26a447549f5.zip
frameworks_av-eaf5381f38bf6c3ecb5fe32a8351c26a447549f5.tar.gz
frameworks_av-eaf5381f38bf6c3ecb5fe32a8351c26a447549f5.tar.bz2
Adapt frame rate instead of keeping that constant and tweaking bitrate
Change-Id: I889abbbe1237e1a8fdd7135cdc91a2e9728ff39b
Diffstat (limited to 'media/libstagefright/wifi-display/source/RepeaterSource.cpp')
-rw-r--r--media/libstagefright/wifi-display/source/RepeaterSource.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/media/libstagefright/wifi-display/source/RepeaterSource.cpp b/media/libstagefright/wifi-display/source/RepeaterSource.cpp
index 72be927..cc8dee3 100644
--- a/media/libstagefright/wifi-display/source/RepeaterSource.cpp
+++ b/media/libstagefright/wifi-display/source/RepeaterSource.cpp
@@ -27,6 +27,25 @@ RepeaterSource::~RepeaterSource() {
CHECK(!mStarted);
}
+double RepeaterSource::getFrameRate() const {
+ return mRateHz;
+}
+
+void RepeaterSource::setFrameRate(double rateHz) {
+ Mutex::Autolock autoLock(mLock);
+
+ if (rateHz == mRateHz) {
+ return;
+ }
+
+ if (mStartTimeUs >= 0ll) {
+ int64_t nextTimeUs = mStartTimeUs + (mFrameCount * 1000000ll) / mRateHz;
+ mStartTimeUs = nextTimeUs;
+ mFrameCount = 0;
+ }
+ mRateHz = rateHz;
+}
+
status_t RepeaterSource::start(MetaData *params) {
CHECK(!mStarted);