diff options
author | Steve Kondik <steve@cyngn.com> | 2015-12-13 12:57:26 -0800 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2015-12-13 13:16:01 -0800 |
commit | 715a22fefe8118d07370a95b48135607ba5fb956 (patch) | |
tree | 030ec9c9a8ed481a91a0ee5096003ca8f751a03e /media/libmediaplayerservice/StagefrightRecorder.cpp | |
parent | 0c19cf7478f4dc10f2739bf6eefa1887a79b48cf (diff) | |
download | frameworks_av-715a22fefe8118d07370a95b48135607ba5fb956.zip frameworks_av-715a22fefe8118d07370a95b48135607ba5fb956.tar.gz frameworks_av-715a22fefe8118d07370a95b48135607ba5fb956.tar.bz2 |
stagefright: Finish support for HEVC muxing
* Forward-port CAF L-MR1 code to fill in stubs.
Change-Id: I6c07e803ad4fe3ef5286f61667b5ca11380db984
Diffstat (limited to 'media/libmediaplayerservice/StagefrightRecorder.cpp')
-rw-r--r-- | media/libmediaplayerservice/StagefrightRecorder.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp index 9d4aa97..81d8e7b 100644 --- a/media/libmediaplayerservice/StagefrightRecorder.cpp +++ b/media/libmediaplayerservice/StagefrightRecorder.cpp @@ -1278,7 +1278,8 @@ status_t StagefrightRecorder::checkVideoEncoderCapabilities() { (mVideoEncoder == VIDEO_ENCODER_H263 ? MEDIA_MIMETYPE_VIDEO_H263 : mVideoEncoder == VIDEO_ENCODER_MPEG_4_SP ? MEDIA_MIMETYPE_VIDEO_MPEG4 : mVideoEncoder == VIDEO_ENCODER_VP8 ? MEDIA_MIMETYPE_VIDEO_VP8 : - mVideoEncoder == VIDEO_ENCODER_H264 ? MEDIA_MIMETYPE_VIDEO_AVC : ""), + mVideoEncoder == VIDEO_ENCODER_H264 ? MEDIA_MIMETYPE_VIDEO_AVC : + mVideoEncoder == VIDEO_ENCODER_H265 ? MEDIA_MIMETYPE_VIDEO_HEVC : ""), false /* decoder */, true /* hwCodec */, &codecs); if (!mCaptureFpsEnable) { @@ -1365,8 +1366,10 @@ void StagefrightRecorder::setDefaultVideoEncoderIfNecessary() { int videoCodec = mEncoderProfiles->getCamcorderProfileParamByName( "vid.codec", mCameraId, CAMCORDER_QUALITY_LOW); - if (videoCodec > VIDEO_ENCODER_DEFAULT && - videoCodec < VIDEO_ENCODER_LIST_END) { + if ((videoCodec > VIDEO_ENCODER_DEFAULT && + videoCodec < VIDEO_ENCODER_LIST_END) || + (videoCodec > VIDEO_ENCODER_LIST_VENDOR_START && + videoCodec < VIDEO_ENCODER_LIST_VENDOR_END)) { mVideoEncoder = (video_encoder)videoCodec; } else { // default to H.264 if camcorder profile not available @@ -1544,8 +1547,12 @@ status_t StagefrightRecorder::setupCameraSource( return OK; } -bool StagefrightRecorder::setCustomVideoEncoderMime(const video_encoder /*videoEncoder*/, - sp<AMessage> /*format*/) { +bool StagefrightRecorder::setCustomVideoEncoderMime(const video_encoder videoEncoder, + sp<AMessage> format) { + if (videoEncoder == VIDEO_ENCODER_H265) { + format->setString("mime", MEDIA_MIMETYPE_VIDEO_HEVC); + return true; + } return false; } |