Index: talk/app/webrtc/java/jni/androidmediaencoder_jni.cc |
diff --git a/talk/app/webrtc/java/jni/androidmediaencoder_jni.cc b/talk/app/webrtc/java/jni/androidmediaencoder_jni.cc |
index 8817df42df191569e8f0c388107a2bdf1af872ad..76a675d97643af2408cf665dca4b238ed0a631a6 100644 |
--- a/talk/app/webrtc/java/jni/androidmediaencoder_jni.cc |
+++ b/talk/app/webrtc/java/jni/androidmediaencoder_jni.cc |
@@ -287,7 +287,7 @@ int32_t MediaCodecVideoEncoder::InitEncode( |
const int kMinHeight = 180; |
const int kLowQpThresholdDenominator = 3; |
if (codec_settings == NULL) { |
- ALOGE("NULL VideoCodec instance"); |
+ ALOGE << "NULL VideoCodec instance"; |
return WEBRTC_VIDEO_CODEC_ERR_PARAMETER; |
} |
// Factory should guard against other codecs being used with us. |
@@ -295,10 +295,10 @@ int32_t MediaCodecVideoEncoder::InitEncode( |
<< "Unsupported codec " << codec_settings->codecType << " for " |
<< codecType_; |
- ALOGD("InitEncode request"); |
+ ALOGD << "InitEncode request"; |
scale_ = webrtc::field_trial::FindFullName( |
"WebRTC-MediaCodecVideoEncoder-AutomaticResize") == "Enabled"; |
- ALOGD("Automatic resize: %s", scale_ ? "enabled" : "disabled"); |
+ ALOGD << "Encoder automatic resize " << (scale_ ? "enabled" : "disabled"); |
if (scale_) { |
if (codecType_ == kVideoCodecVP8) { |
// QP is obtained from VP8-bitstream for HW, so the QP corresponds to the |
@@ -352,7 +352,7 @@ int32_t MediaCodecVideoEncoder::RegisterEncodeCompleteCallback( |
} |
int32_t MediaCodecVideoEncoder::Release() { |
- ALOGD("EncoderRelease request"); |
+ ALOGD << "EncoderRelease request"; |
return codec_thread_->Invoke<int32_t>( |
Bind(&MediaCodecVideoEncoder::ReleaseOnCodecThread, this)); |
} |
@@ -400,7 +400,7 @@ void MediaCodecVideoEncoder::CheckOnCodecThread() { |
} |
void MediaCodecVideoEncoder::ResetCodec() { |
- ALOGE("ResetCodec"); |
+ ALOGE << "ResetCodec"; |
if (Release() != WEBRTC_VIDEO_CODEC_OK || |
codec_thread_->Invoke<int32_t>(Bind( |
&MediaCodecVideoEncoder::InitEncodeOnCodecThread, this, |
@@ -417,8 +417,9 @@ int32_t MediaCodecVideoEncoder::InitEncodeOnCodecThread( |
JNIEnv* jni = AttachCurrentThreadIfNeeded(); |
ScopedLocalRefFrame local_ref_frame(jni); |
- ALOGD("InitEncodeOnCodecThread Type: %d. %d x %d. Bitrate: %d kbps. Fps: %d", |
- (int)codecType_, width, height, kbps, fps); |
+ ALOGD << "InitEncodeOnCodecThread Type: " << (int)codecType_ << ", " << |
+ width << " x " << height << ". Bitrate: " << kbps << |
+ " kbps. Fps: " << fps; |
if (kbps == 0) { |
kbps = last_set_bitrate_kbps_; |
} |
@@ -529,8 +530,8 @@ int32_t MediaCodecVideoEncoder::EncodeOnCodecThread( |
scale_ ? quality_scaler_.GetScaledFrame(frame) : frame; |
if (input_frame.width() != width_ || input_frame.height() != height_) { |
- ALOGD("Frame resolution change from %d x %d to %d x %d", |
- width_, height_, input_frame.width(), input_frame.height()); |
+ ALOGD << "Frame resolution change from " << width_ << " x " << height_ << |
+ " to " << input_frame.width() << " x " << input_frame.height(); |
width_ = input_frame.width(); |
height_ = input_frame.height(); |
ResetCodec(); |
@@ -543,8 +544,8 @@ int32_t MediaCodecVideoEncoder::EncodeOnCodecThread( |
int encoder_latency_ms = last_input_timestamp_ms_ - |
last_output_timestamp_ms_; |
if (frames_in_queue_ > 2 || encoder_latency_ms > 70) { |
- ALOGD("Drop frame - encoder is behind by %d ms. Q size: %d", |
- encoder_latency_ms, frames_in_queue_); |
+ ALOGD << "Drop frame - encoder is behind by " << encoder_latency_ms << |
+ " ms. Q size: " << frames_in_queue_; |
frames_dropped_++; |
// Report dropped frame to quality_scaler_. |
OnDroppedFrame(); |
@@ -623,8 +624,9 @@ int32_t MediaCodecVideoEncoder::ReleaseOnCodecThread() { |
} |
CheckOnCodecThread(); |
JNIEnv* jni = AttachCurrentThreadIfNeeded(); |
- ALOGD("EncoderReleaseOnCodecThread: Frames received: %d. Encoded: %d. " |
- "Dropped: %d.", frames_received_, frames_encoded_, frames_dropped_); |
+ ALOGD << "EncoderReleaseOnCodecThread: Frames received: " << |
+ frames_received_ << ". Encoded: " << frames_encoded_ << |
+ ". Dropped: " << frames_dropped_; |
ScopedLocalRefFrame local_ref_frame(jni); |
for (size_t i = 0; i < input_buffers_.size(); ++i) |
jni->DeleteGlobalRef(input_buffers_[i]); |
@@ -633,6 +635,7 @@ int32_t MediaCodecVideoEncoder::ReleaseOnCodecThread() { |
CHECK_EXCEPTION(jni); |
rtc::MessageQueueManager::Clear(this); |
inited_ = false; |
+ ALOGD << "EncoderReleaseOnCodecThread done."; |
return WEBRTC_VIDEO_CODEC_OK; |
} |
@@ -745,12 +748,13 @@ bool MediaCodecVideoEncoder::DeliverPendingOutputs(JNIEnv* jni) { |
int statistic_time_ms = GetCurrentTimeMs() - start_time_ms_; |
if (statistic_time_ms >= kMediaCodecStatisticsIntervalMs && |
current_frames_ > 0) { |
- ALOGD("Encoder bitrate: %d, target: %d kbps, fps: %d," |
- " encTime: %d for last %d ms", |
- current_bytes_ * 8 / statistic_time_ms, |
- last_set_bitrate_kbps_, |
- (current_frames_ * 1000 + statistic_time_ms / 2) / statistic_time_ms, |
- current_encoding_time_ms_ / current_frames_, statistic_time_ms); |
+ ALOGD << "Encoded frames: " << frames_encoded_ << ". Bitrate: " << |
+ (current_bytes_ * 8 / statistic_time_ms) << |
+ ", target: " << last_set_bitrate_kbps_ << " kbps, fps: " << |
+ ((current_frames_ * 1000 + statistic_time_ms / 2) / statistic_time_ms) |
+ << ", encTime: " << |
+ (current_encoding_time_ms_ / current_frames_) << " for last " << |
+ statistic_time_ms << " ms."; |
start_time_ms_ = GetCurrentTimeMs(); |
current_frames_ = 0; |
current_bytes_ = 0; |
@@ -816,10 +820,10 @@ bool MediaCodecVideoEncoder::DeliverPendingOutputs(JNIEnv* jni) { |
scPosition += H264_SC_LENGTH; |
} |
if (scPositionsLength == 0) { |
- ALOGE("Start code is not found!"); |
- ALOGE("Data 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x", |
- image->_buffer[0], image->_buffer[1], image->_buffer[2], |
- image->_buffer[3], image->_buffer[4], image->_buffer[5]); |
+ ALOGE << "Start code is not found!"; |
+ ALOGE << "Data:" << image->_buffer[0] << " " << image->_buffer[1] |
+ << " " << image->_buffer[2] << " " << image->_buffer[3] |
+ << " " << image->_buffer[4] << " " << image->_buffer[5]; |
ResetCodec(); |
return false; |
} |
@@ -909,7 +913,7 @@ MediaCodecVideoEncoderFactory::MediaCodecVideoEncoderFactory() { |
GetStaticMethodID(jni, j_encoder_class, "isVp8HwSupported", "()Z")); |
CHECK_EXCEPTION(jni); |
if (is_vp8_hw_supported) { |
- ALOGD("VP8 HW Encoder supported."); |
+ ALOGD << "VP8 HW Encoder supported."; |
supported_codecs_.push_back(VideoCodec(kVideoCodecVP8, "VP8", |
MAX_VIDEO_WIDTH, MAX_VIDEO_HEIGHT, MAX_VIDEO_FPS)); |
} |
@@ -919,7 +923,7 @@ MediaCodecVideoEncoderFactory::MediaCodecVideoEncoderFactory() { |
GetStaticMethodID(jni, j_encoder_class, "isH264HwSupported", "()Z")); |
CHECK_EXCEPTION(jni); |
if (is_h264_hw_supported) { |
- ALOGD("H.264 HW Encoder supported."); |
+ ALOGD << "H.264 HW Encoder supported."; |
supported_codecs_.push_back(VideoCodec(kVideoCodecH264, "H264", |
MAX_VIDEO_WIDTH, MAX_VIDEO_HEIGHT, MAX_VIDEO_FPS)); |
} |
@@ -935,8 +939,8 @@ webrtc::VideoEncoder* MediaCodecVideoEncoderFactory::CreateVideoEncoder( |
for (std::vector<VideoCodec>::const_iterator it = supported_codecs_.begin(); |
it != supported_codecs_.end(); ++it) { |
if (it->type == type) { |
- ALOGD("Create HW video encoder for type %d (%s).", |
- (int)type, it->name.c_str()); |
+ ALOGD << "Create HW video encoder for type " << (int)type << |
+ " (" << it->name << ")."; |
return new MediaCodecVideoEncoder(AttachCurrentThreadIfNeeded(), type); |
} |
} |
@@ -950,7 +954,7 @@ MediaCodecVideoEncoderFactory::codecs() const { |
void MediaCodecVideoEncoderFactory::DestroyVideoEncoder( |
webrtc::VideoEncoder* encoder) { |
- ALOGD("Destroy video encoder."); |
+ ALOGD << "Destroy video encoder."; |
delete encoder; |
} |