| OLD | NEW |
| 1 /* | 1 /* |
| 2 * libjingle | 2 * libjingle |
| 3 * Copyright 2015 Google Inc. | 3 * Copyright 2015 Google Inc. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions are met: | 6 * modification, are permitted provided that the following conditions are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright notice, | 8 * 1. Redistributions of source code must retain the above copyright notice, |
| 9 * this list of conditions and the following disclaimer. | 9 * this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright notice, | 10 * 2. Redistributions in binary form must reproduce the above copyright notice, |
| (...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 271 codec_thread_->SetName("MediaCodecVideoEncoder", NULL); | 271 codec_thread_->SetName("MediaCodecVideoEncoder", NULL); |
| 272 RTC_CHECK(codec_thread_->Start()) << "Failed to start MediaCodecVideoEncoder"; | 272 RTC_CHECK(codec_thread_->Start()) << "Failed to start MediaCodecVideoEncoder"; |
| 273 codec_thread_checker_.DetachFromThread(); | 273 codec_thread_checker_.DetachFromThread(); |
| 274 jclass j_output_buffer_info_class = | 274 jclass j_output_buffer_info_class = |
| 275 FindClass(jni, "org/webrtc/MediaCodecVideoEncoder$OutputBufferInfo"); | 275 FindClass(jni, "org/webrtc/MediaCodecVideoEncoder$OutputBufferInfo"); |
| 276 j_init_encode_method_ = GetMethodID( | 276 j_init_encode_method_ = GetMethodID( |
| 277 jni, | 277 jni, |
| 278 *j_media_codec_video_encoder_class_, | 278 *j_media_codec_video_encoder_class_, |
| 279 "initEncode", | 279 "initEncode", |
| 280 "(Lorg/webrtc/MediaCodecVideoEncoder$VideoCodecType;" | 280 "(Lorg/webrtc/MediaCodecVideoEncoder$VideoCodecType;" |
| 281 "IIIILjavax/microedition/khronos/egl/EGLContext;)Z"); | 281 "IIIILorg/webrtc/EglBase$Context;)Z"); |
| 282 j_get_input_buffers_method_ = GetMethodID( | 282 j_get_input_buffers_method_ = GetMethodID( |
| 283 jni, | 283 jni, |
| 284 *j_media_codec_video_encoder_class_, | 284 *j_media_codec_video_encoder_class_, |
| 285 "getInputBuffers", | 285 "getInputBuffers", |
| 286 "()[Ljava/nio/ByteBuffer;"); | 286 "()[Ljava/nio/ByteBuffer;"); |
| 287 j_dequeue_input_buffer_method_ = GetMethodID( | 287 j_dequeue_input_buffer_method_ = GetMethodID( |
| 288 jni, *j_media_codec_video_encoder_class_, "dequeueInputBuffer", "()I"); | 288 jni, *j_media_codec_video_encoder_class_, "dequeueInputBuffer", "()I"); |
| 289 j_encode_buffer_method_ = GetMethodID( | 289 j_encode_buffer_method_ = GetMethodID( |
| 290 jni, *j_media_codec_video_encoder_class_, "encodeBuffer", "(ZIIJ)Z"); | 290 jni, *j_media_codec_video_encoder_class_, "encodeBuffer", "(ZIIJ)Z"); |
| 291 j_encode_texture_method_ = GetMethodID( | 291 j_encode_texture_method_ = GetMethodID( |
| (...skipping 824 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1116 jni->DeleteGlobalRef(egl_context_); | 1116 jni->DeleteGlobalRef(egl_context_); |
| 1117 egl_context_ = NULL; | 1117 egl_context_ = NULL; |
| 1118 } | 1118 } |
| 1119 if (!IsNull(jni, render_egl_context)) { | 1119 if (!IsNull(jni, render_egl_context)) { |
| 1120 egl_context_ = jni->NewGlobalRef(render_egl_context); | 1120 egl_context_ = jni->NewGlobalRef(render_egl_context); |
| 1121 if (CheckException(jni)) { | 1121 if (CheckException(jni)) { |
| 1122 ALOGE << "error calling NewGlobalRef for EGL Context."; | 1122 ALOGE << "error calling NewGlobalRef for EGL Context."; |
| 1123 egl_context_ = NULL; | 1123 egl_context_ = NULL; |
| 1124 } else { | 1124 } else { |
| 1125 jclass j_egl_context_class = | 1125 jclass j_egl_context_class = |
| 1126 FindClass(jni, "javax/microedition/khronos/egl/EGLContext"); | 1126 FindClass(jni, "org/webrtc/EglBase$Context"); |
| 1127 if (!jni->IsInstanceOf(egl_context_, j_egl_context_class)) { | 1127 if (!jni->IsInstanceOf(egl_context_, j_egl_context_class)) { |
| 1128 ALOGE << "Wrong EGL Context."; | 1128 ALOGE << "Wrong EGL Context."; |
| 1129 jni->DeleteGlobalRef(egl_context_); | 1129 jni->DeleteGlobalRef(egl_context_); |
| 1130 egl_context_ = NULL; | 1130 egl_context_ = NULL; |
| 1131 } | 1131 } |
| 1132 } | 1132 } |
| 1133 } | 1133 } |
| 1134 if (egl_context_ == NULL) { | 1134 if (egl_context_ == NULL) { |
| 1135 ALOGW << "NULL VideoDecoder EGL context - HW surface encoding is disabled."; | 1135 ALOGW << "NULL VideoDecoder EGL context - HW surface encoding is disabled."; |
| 1136 } | 1136 } |
| (...skipping 24 matching lines...) Expand all Loading... |
| 1161 } | 1161 } |
| 1162 | 1162 |
| 1163 void MediaCodecVideoEncoderFactory::DestroyVideoEncoder( | 1163 void MediaCodecVideoEncoderFactory::DestroyVideoEncoder( |
| 1164 webrtc::VideoEncoder* encoder) { | 1164 webrtc::VideoEncoder* encoder) { |
| 1165 ALOGD << "Destroy video encoder."; | 1165 ALOGD << "Destroy video encoder."; |
| 1166 delete encoder; | 1166 delete encoder; |
| 1167 } | 1167 } |
| 1168 | 1168 |
| 1169 } // namespace webrtc_jni | 1169 } // namespace webrtc_jni |
| 1170 | 1170 |
| OLD | NEW |