OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
11 #include "webrtc/sdk/android/src/jni/androidvideotracksource.h" | 11 #include "webrtc/sdk/android/src/jni/androidvideotracksource.h" |
12 | 12 |
13 #include <utility> | 13 #include <utility> |
14 | 14 |
| 15 namespace { |
| 16 // MediaCodec wants resolution to be divisible by 2. |
| 17 const int kRequiredResolutionAlignment = 2; |
| 18 } |
| 19 |
15 namespace webrtc { | 20 namespace webrtc { |
16 | 21 |
17 AndroidVideoTrackSource::AndroidVideoTrackSource(rtc::Thread* signaling_thread, | 22 AndroidVideoTrackSource::AndroidVideoTrackSource(rtc::Thread* signaling_thread, |
18 JNIEnv* jni, | 23 JNIEnv* jni, |
19 jobject j_egl_context, | 24 jobject j_egl_context, |
20 bool is_screencast) | 25 bool is_screencast) |
21 : signaling_thread_(signaling_thread), | 26 : AdaptedVideoTrackSource(kRequiredResolutionAlignment), |
| 27 signaling_thread_(signaling_thread), |
22 surface_texture_helper_(webrtc_jni::SurfaceTextureHelper::create( | 28 surface_texture_helper_(webrtc_jni::SurfaceTextureHelper::create( |
23 jni, | 29 jni, |
24 "Camera SurfaceTextureHelper", | 30 "Camera SurfaceTextureHelper", |
25 j_egl_context)), | 31 j_egl_context)), |
26 is_screencast_(is_screencast) { | 32 is_screencast_(is_screencast) { |
27 LOG(LS_INFO) << "AndroidVideoTrackSource ctor"; | 33 LOG(LS_INFO) << "AndroidVideoTrackSource ctor"; |
28 camera_thread_checker_.DetachFromThread(); | 34 camera_thread_checker_.DetachFromThread(); |
29 } | 35 } |
30 | 36 |
31 void AndroidVideoTrackSource::SetState(SourceState state) { | 37 void AndroidVideoTrackSource::SetState(SourceState state) { |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
154 | 160 |
155 void AndroidVideoTrackSource::OnOutputFormatRequest(int width, | 161 void AndroidVideoTrackSource::OnOutputFormatRequest(int width, |
156 int height, | 162 int height, |
157 int fps) { | 163 int fps) { |
158 cricket::VideoFormat format(width, height, | 164 cricket::VideoFormat format(width, height, |
159 cricket::VideoFormat::FpsToInterval(fps), 0); | 165 cricket::VideoFormat::FpsToInterval(fps), 0); |
160 video_adapter()->OnOutputFormatRequest(format); | 166 video_adapter()->OnOutputFormatRequest(format); |
161 } | 167 } |
162 | 168 |
163 } // namespace webrtc | 169 } // namespace webrtc |
OLD | NEW |