summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice
diff options
context:
space:
mode:
authorWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2016-01-14 22:14:14 +0100
committerWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2016-01-14 22:14:14 +0100
commit998f3a696f0d671832624637c771e3bda3e0c9f5 (patch)
tree67c89508c2eaad57389ffac29d673a09bc8bfaba /media/libmediaplayerservice
parent1c47b26b1ae695c355e4ec0c317716a397588206 (diff)
parent8ad656861c764ea4f8bf8539cb568b01edbf647d (diff)
downloadframeworks_av-998f3a696f0d671832624637c771e3bda3e0c9f5.zip
frameworks_av-998f3a696f0d671832624637c771e3bda3e0c9f5.tar.gz
frameworks_av-998f3a696f0d671832624637c771e3bda3e0c9f5.tar.bz2
Merge branch 'cm-13.0' of https://github.com/CyanogenMod/android_frameworks_av into replicant-6.0
Diffstat (limited to 'media/libmediaplayerservice')
-rw-r--r--media/libmediaplayerservice/StagefrightRecorder.cpp15
-rw-r--r--media/libmediaplayerservice/StagefrightRecorder.h4
2 files changed, 15 insertions, 4 deletions
diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp
index 6baca4d..c4c5741 100644
--- a/media/libmediaplayerservice/StagefrightRecorder.cpp
+++ b/media/libmediaplayerservice/StagefrightRecorder.cpp
@@ -1622,12 +1622,14 @@ status_t StagefrightRecorder::setupVideoEncoder(
}
}
- setupCustomVideoEncoderParams(cameraSource, format);
-
format->setInt32("bitrate", mVideoBitRate);
format->setInt32("frame-rate", mFrameRate);
format->setInt32("i-frame-interval", mIFramesIntervalSec);
+ if (cameraSource != NULL) {
+ setupCustomVideoEncoderParams(cameraSource, format);
+ }
+
if (mVideoTimeScale > 0) {
format->setInt32("time-scale", mVideoTimeScale);
}
@@ -2094,4 +2096,13 @@ status_t StagefrightRecorder::setSourcePause(bool pause) {
}
return err;
}
+
+void StagefrightRecorder::setupCustomVideoEncoderParams(sp<MediaSource> cameraSource,
+ sp<AMessage> &format) {
+
+ // Setup HFR if needed
+ AVUtils::get()->HFRUtils().initializeHFR(cameraSource->getFormat(), format,
+ mMaxFileDurationUs, mVideoEncoder);
+}
+
} // namespace android
diff --git a/media/libmediaplayerservice/StagefrightRecorder.h b/media/libmediaplayerservice/StagefrightRecorder.h
index 72dc77b..d93fc3b 100644
--- a/media/libmediaplayerservice/StagefrightRecorder.h
+++ b/media/libmediaplayerservice/StagefrightRecorder.h
@@ -154,8 +154,8 @@ protected:
status_t setupCameraSource(sp<CameraSource> *cameraSource);
status_t setupAudioEncoder(const sp<MediaWriter>& writer);
virtual status_t setupVideoEncoder(sp<MediaSource> cameraSource, sp<MediaSource> *source);
- virtual void setupCustomVideoEncoderParams(sp<MediaSource> /*cameraSource*/,
- sp<AMessage> &/*format*/) {}
+ virtual void setupCustomVideoEncoderParams(sp<MediaSource> cameraSource,
+ sp<AMessage> &format);
virtual bool setCustomVideoEncoderMime(const video_encoder videoEncoder, sp<AMessage> format);
// Encoding parameter handling utilities