Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(135)

Unified Diff: talk/app/webrtc/java/jni/androidmediadecoder_jni.cc

Issue 1383983003: Android MediaCodecVideoDecoder: Cleanup to prepare for texture liftime management (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Replace CallBooleanMethod() with CallVoidMethod() Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoDecoder.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
diff --git a/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc b/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
index 4f7445ef4317ad8fcd0a7541b92ebea84dfaab8e..a5a25f00cf7a7ec805f07ec9c195f7ef4521dbf4 100644
--- a/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
+++ b/talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
@@ -37,6 +37,7 @@
#include "webrtc/base/logging.h"
#include "webrtc/base/scoped_ref_ptr.h"
#include "webrtc/base/thread.h"
+#include "webrtc/base/timeutils.h"
#include "webrtc/common_video/interface/i420_buffer_pool.h"
#include "webrtc/modules/video_coding/codecs/interface/video_codec_interface.h"
#include "webrtc/system_wrappers/interface/logcat_trace_context.h"
@@ -198,7 +199,7 @@ MediaCodecVideoDecoder::MediaCodecVideoDecoder(
jni, *j_media_codec_video_decoder_class_, "dequeueOutputBuffer",
"(I)Lorg/webrtc/MediaCodecVideoDecoder$DecoderOutputBufferInfo;");
j_release_output_buffer_method_ = GetMethodID(
- jni, *j_media_codec_video_decoder_class_, "releaseOutputBuffer", "(I)Z");
+ jni, *j_media_codec_video_decoder_class_, "releaseOutputBuffer", "(I)V");
j_input_buffers_field_ = GetFieldID(
jni, *j_media_codec_video_decoder_class_,
@@ -572,16 +573,13 @@ bool MediaCodecVideoDecoder::DeliverPendingOutputs(
// Extract output buffer info from Java DecoderOutputBufferInfo.
int output_buffer_index =
GetIntField(jni, j_decoder_output_buffer_info, j_info_index_field_);
- if (output_buffer_index < 0) {
- ALOGE("dequeueOutputBuffer error : %d", output_buffer_index);
- return false;
- }
+ RTC_CHECK_GE(output_buffer_index, 0);
int output_buffer_offset =
GetIntField(jni, j_decoder_output_buffer_info, j_info_offset_field_);
int output_buffer_size =
GetIntField(jni, j_decoder_output_buffer_info, j_info_size_field_);
long output_timestamps_ms = GetLongField(jni, j_decoder_output_buffer_info,
- j_info_presentation_timestamp_us_field_) / 1000;
+ j_info_presentation_timestamp_us_field_) / rtc::kNumMicrosecsPerMillisec;
if (CheckException(jni)) {
return false;
}
@@ -677,11 +675,11 @@ bool MediaCodecVideoDecoder::DeliverPendingOutputs(
color_format, output_timestamps_ms, frame_decoding_time_ms);
// Return output buffer back to codec.
- bool success = jni->CallBooleanMethod(
+ jni->CallVoidMethod(
*j_media_codec_video_decoder_,
j_release_output_buffer_method_,
output_buffer_index);
- if (CheckException(jni) || !success) {
+ if (CheckException(jni)) {
ALOGE("releaseOutputBuffer error");
return false;
}
« no previous file with comments | « no previous file | talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoDecoder.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698