Loading media/libmediaplayerservice/StagefrightRecorder.cpp +32 −6 Original line number Diff line number Diff line Loading @@ -183,11 +183,7 @@ status_t StagefrightRecorder::setVideoEncoder(video_encoder ve) { return BAD_VALUE; } if (ve == VIDEO_ENCODER_DEFAULT) { mVideoEncoder = VIDEO_ENCODER_H263; } else { mVideoEncoder = ve; } return OK; } Loading Loading @@ -1033,6 +1029,7 @@ status_t StagefrightRecorder::setupRTPRecording() { if (mAudioSource != AUDIO_SOURCE_CNT) { source = createAudioSource(); } else { setDefaultVideoEncoderIfNecessary(); sp<MediaSource> mediaSource; status_t err = setupMediaSource(&mediaSource); Loading Loading @@ -1074,6 +1071,7 @@ status_t StagefrightRecorder::setupMPEG2TSRecording() { if (mVideoSource < VIDEO_SOURCE_LIST_END) { if (mVideoEncoder != VIDEO_ENCODER_H264) { ALOGE("MPEG2TS recording only supports H.264 encoding!"); return ERROR_UNSUPPORTED; } Loading Loading @@ -1108,6 +1106,12 @@ status_t StagefrightRecorder::setupMPEG2TSRecording() { void StagefrightRecorder::clipVideoFrameRate() { ALOGV("clipVideoFrameRate: encoder %d", mVideoEncoder); if (mFrameRate == -1) { mFrameRate = mEncoderProfiles->getCamcorderProfileParamByName( "vid.fps", mCameraId, CAMCORDER_QUALITY_LOW); ALOGW("Using default video fps %d", mFrameRate); } int minFrameRate = mEncoderProfiles->getVideoEncoderParamByName( "enc.vid.fps.min", mVideoEncoder); int maxFrameRate = mEncoderProfiles->getVideoEncoderParamByName( Loading Loading @@ -1243,6 +1247,27 @@ void StagefrightRecorder::setDefaultProfileIfNecessary() { } } void StagefrightRecorder::setDefaultVideoEncoderIfNecessary() { if (mVideoEncoder == VIDEO_ENCODER_DEFAULT) { if (mOutputFormat == OUTPUT_FORMAT_WEBM) { // default to VP8 for WEBM recording mVideoEncoder = VIDEO_ENCODER_VP8; } else { // pick the default encoder for CAMCORDER_QUALITY_LOW int videoCodec = mEncoderProfiles->getCamcorderProfileParamByName( "vid.codec", mCameraId, CAMCORDER_QUALITY_LOW); if (videoCodec > VIDEO_ENCODER_DEFAULT && videoCodec < VIDEO_ENCODER_LIST_END) { mVideoEncoder = (video_encoder)videoCodec; } else { // default to H.264 if camcorder profile not available mVideoEncoder = VIDEO_ENCODER_H264; } } } } status_t StagefrightRecorder::checkAudioEncoderCapabilities() { clipAudioBitRate(); clipAudioSampleRate(); Loading Loading @@ -1562,6 +1587,7 @@ status_t StagefrightRecorder::setupMPEG4orWEBMRecording() { } if (mVideoSource < VIDEO_SOURCE_LIST_END) { setDefaultVideoEncoderIfNecessary(); sp<MediaSource> mediaSource; err = setupMediaSource(&mediaSource); Loading Loading @@ -1721,7 +1747,7 @@ status_t StagefrightRecorder::reset() { // Default parameters mOutputFormat = OUTPUT_FORMAT_THREE_GPP; mAudioEncoder = AUDIO_ENCODER_AMR_NB; mVideoEncoder = VIDEO_ENCODER_H263; mVideoEncoder = VIDEO_ENCODER_DEFAULT; mVideoWidth = 176; mVideoHeight = 144; mFrameRate = -1; Loading media/libmediaplayerservice/StagefrightRecorder.h +1 −0 Original line number Diff line number Diff line Loading @@ -178,6 +178,7 @@ private: void clipAudioSampleRate(); void clipNumberOfAudioChannels(); void setDefaultProfileIfNecessary(); void setDefaultVideoEncoderIfNecessary(); StagefrightRecorder(const StagefrightRecorder &); Loading Loading
media/libmediaplayerservice/StagefrightRecorder.cpp +32 −6 Original line number Diff line number Diff line Loading @@ -183,11 +183,7 @@ status_t StagefrightRecorder::setVideoEncoder(video_encoder ve) { return BAD_VALUE; } if (ve == VIDEO_ENCODER_DEFAULT) { mVideoEncoder = VIDEO_ENCODER_H263; } else { mVideoEncoder = ve; } return OK; } Loading Loading @@ -1033,6 +1029,7 @@ status_t StagefrightRecorder::setupRTPRecording() { if (mAudioSource != AUDIO_SOURCE_CNT) { source = createAudioSource(); } else { setDefaultVideoEncoderIfNecessary(); sp<MediaSource> mediaSource; status_t err = setupMediaSource(&mediaSource); Loading Loading @@ -1074,6 +1071,7 @@ status_t StagefrightRecorder::setupMPEG2TSRecording() { if (mVideoSource < VIDEO_SOURCE_LIST_END) { if (mVideoEncoder != VIDEO_ENCODER_H264) { ALOGE("MPEG2TS recording only supports H.264 encoding!"); return ERROR_UNSUPPORTED; } Loading Loading @@ -1108,6 +1106,12 @@ status_t StagefrightRecorder::setupMPEG2TSRecording() { void StagefrightRecorder::clipVideoFrameRate() { ALOGV("clipVideoFrameRate: encoder %d", mVideoEncoder); if (mFrameRate == -1) { mFrameRate = mEncoderProfiles->getCamcorderProfileParamByName( "vid.fps", mCameraId, CAMCORDER_QUALITY_LOW); ALOGW("Using default video fps %d", mFrameRate); } int minFrameRate = mEncoderProfiles->getVideoEncoderParamByName( "enc.vid.fps.min", mVideoEncoder); int maxFrameRate = mEncoderProfiles->getVideoEncoderParamByName( Loading Loading @@ -1243,6 +1247,27 @@ void StagefrightRecorder::setDefaultProfileIfNecessary() { } } void StagefrightRecorder::setDefaultVideoEncoderIfNecessary() { if (mVideoEncoder == VIDEO_ENCODER_DEFAULT) { if (mOutputFormat == OUTPUT_FORMAT_WEBM) { // default to VP8 for WEBM recording mVideoEncoder = VIDEO_ENCODER_VP8; } else { // pick the default encoder for CAMCORDER_QUALITY_LOW int videoCodec = mEncoderProfiles->getCamcorderProfileParamByName( "vid.codec", mCameraId, CAMCORDER_QUALITY_LOW); if (videoCodec > VIDEO_ENCODER_DEFAULT && videoCodec < VIDEO_ENCODER_LIST_END) { mVideoEncoder = (video_encoder)videoCodec; } else { // default to H.264 if camcorder profile not available mVideoEncoder = VIDEO_ENCODER_H264; } } } } status_t StagefrightRecorder::checkAudioEncoderCapabilities() { clipAudioBitRate(); clipAudioSampleRate(); Loading Loading @@ -1562,6 +1587,7 @@ status_t StagefrightRecorder::setupMPEG4orWEBMRecording() { } if (mVideoSource < VIDEO_SOURCE_LIST_END) { setDefaultVideoEncoderIfNecessary(); sp<MediaSource> mediaSource; err = setupMediaSource(&mediaSource); Loading Loading @@ -1721,7 +1747,7 @@ status_t StagefrightRecorder::reset() { // Default parameters mOutputFormat = OUTPUT_FORMAT_THREE_GPP; mAudioEncoder = AUDIO_ENCODER_AMR_NB; mVideoEncoder = VIDEO_ENCODER_H263; mVideoEncoder = VIDEO_ENCODER_DEFAULT; mVideoWidth = 176; mVideoHeight = 144; mFrameRate = -1; Loading
media/libmediaplayerservice/StagefrightRecorder.h +1 −0 Original line number Diff line number Diff line Loading @@ -178,6 +178,7 @@ private: void clipAudioSampleRate(); void clipNumberOfAudioChannels(); void setDefaultProfileIfNecessary(); void setDefaultVideoEncoderIfNecessary(); StagefrightRecorder(const StagefrightRecorder &); Loading