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

Side by Side Diff: talk/app/webrtc/java/jni/androidmediaencoder_jni.cc

Issue 1553033002: Roll chromium_revision d66326c..4df108a (367167:367307) (Closed) Base URL: https://chromium.googlesource.com/external/webrtc@master
Patch Set: Added references to bugs. Created 4 years, 11 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 unified diff | Download patch
OLDNEW
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 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 243
244 MediaCodecVideoEncoder::~MediaCodecVideoEncoder() { 244 MediaCodecVideoEncoder::~MediaCodecVideoEncoder() {
245 // Call Release() to ensure no more callbacks to us after we are deleted. 245 // Call Release() to ensure no more callbacks to us after we are deleted.
246 Release(); 246 Release();
247 } 247 }
248 248
249 MediaCodecVideoEncoder::MediaCodecVideoEncoder( 249 MediaCodecVideoEncoder::MediaCodecVideoEncoder(
250 JNIEnv* jni, VideoCodecType codecType, jobject egl_context) : 250 JNIEnv* jni, VideoCodecType codecType, jobject egl_context) :
251 codecType_(codecType), 251 codecType_(codecType),
252 callback_(NULL), 252 callback_(NULL),
253 inited_(false),
254 use_surface_(false),
255 picture_id_(0),
256 codec_thread_(new Thread()), 253 codec_thread_(new Thread()),
257 j_media_codec_video_encoder_class_( 254 j_media_codec_video_encoder_class_(
258 jni, 255 jni,
259 FindClass(jni, "org/webrtc/MediaCodecVideoEncoder")), 256 FindClass(jni, "org/webrtc/MediaCodecVideoEncoder")),
260 j_media_codec_video_encoder_( 257 j_media_codec_video_encoder_(
261 jni, 258 jni,
262 jni->NewObject(*j_media_codec_video_encoder_class_, 259 jni->NewObject(*j_media_codec_video_encoder_class_,
263 GetMethodID(jni, 260 GetMethodID(jni,
264 *j_media_codec_video_encoder_class_, 261 *j_media_codec_video_encoder_class_,
265 "<init>", 262 "<init>",
266 "()V"))), 263 "()V"))),
264 inited_(false),
265 use_surface_(false),
266 picture_id_(0),
267 egl_context_(egl_context) { 267 egl_context_(egl_context) {
268 ScopedLocalRefFrame local_ref_frame(jni); 268 ScopedLocalRefFrame local_ref_frame(jni);
269 // It would be nice to avoid spinning up a new thread per MediaCodec, and 269 // It would be nice to avoid spinning up a new thread per MediaCodec, and
270 // instead re-use e.g. the PeerConnectionFactory's |worker_thread_|, but bug 270 // instead re-use e.g. the PeerConnectionFactory's |worker_thread_|, but bug
271 // 2732 means that deadlocks abound. This class synchronously trampolines 271 // 2732 means that deadlocks abound. This class synchronously trampolines
272 // to |codec_thread_|, so if anything else can be coming to _us_ from 272 // to |codec_thread_|, so if anything else can be coming to _us_ from
273 // |codec_thread_|, or from any thread holding the |_sendCritSect| described 273 // |codec_thread_|, or from any thread holding the |_sendCritSect| described
274 // in the bug, we have a problem. For now work around that with a dedicated 274 // in the bug, we have a problem. For now work around that with a dedicated
275 // thread. 275 // thread.
276 codec_thread_->SetName("MediaCodecVideoEncoder", NULL); 276 codec_thread_->SetName("MediaCodecVideoEncoder", NULL);
(...skipping 892 matching lines...) Expand 10 before | Expand all | Expand 10 after
1169 } 1169 }
1170 1170
1171 void MediaCodecVideoEncoderFactory::DestroyVideoEncoder( 1171 void MediaCodecVideoEncoderFactory::DestroyVideoEncoder(
1172 webrtc::VideoEncoder* encoder) { 1172 webrtc::VideoEncoder* encoder) {
1173 ALOGD << "Destroy video encoder."; 1173 ALOGD << "Destroy video encoder.";
1174 delete encoder; 1174 delete encoder;
1175 } 1175 }
1176 1176
1177 } // namespace webrtc_jni 1177 } // namespace webrtc_jni
1178 1178
OLDNEW
« no previous file with comments | « talk/app/webrtc/java/jni/androidmediadecoder_jni.cc ('k') | talk/app/webrtc/java/jni/androidvideocapturer_jni.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698