OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 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 |
(...skipping 13 matching lines...) Expand all Loading... |
24 namespace webrtc { | 24 namespace webrtc { |
25 | 25 |
26 // Implements 16-bit mono PCM audio output support for Android using the Java | 26 // Implements 16-bit mono PCM audio output support for Android using the Java |
27 // AudioTrack interface. Most of the work is done by its Java counterpart in | 27 // AudioTrack interface. Most of the work is done by its Java counterpart in |
28 // WebRtcAudioTrack.java. This class is created and lives on a thread in | 28 // WebRtcAudioTrack.java. This class is created and lives on a thread in |
29 // C++-land, but decoded audio buffers are requested on a high-priority | 29 // C++-land, but decoded audio buffers are requested on a high-priority |
30 // thread managed by the Java class. | 30 // thread managed by the Java class. |
31 // | 31 // |
32 // An instance must be created and destroyed on one and the same thread. | 32 // An instance must be created and destroyed on one and the same thread. |
33 // All public methods must also be called on the same thread. A thread checker | 33 // All public methods must also be called on the same thread. A thread checker |
34 // will DCHECK if any method is called on an invalid thread. | 34 // will RTC_DCHECK if any method is called on an invalid thread. |
35 // | 35 // |
36 // This class uses AttachCurrentThreadIfNeeded to attach to a Java VM if needed | 36 // This class uses AttachCurrentThreadIfNeeded to attach to a Java VM if needed |
37 // and detach when the object goes out of scope. Additional thread checking | 37 // and detach when the object goes out of scope. Additional thread checking |
38 // guarantees that no other (possibly non attached) thread is used. | 38 // guarantees that no other (possibly non attached) thread is used. |
39 class AudioTrackJni { | 39 class AudioTrackJni { |
40 public: | 40 public: |
41 // Wraps the Java specific parts of the AudioTrackJni into one helper class. | 41 // Wraps the Java specific parts of the AudioTrackJni into one helper class. |
42 class JavaAudioTrack { | 42 class JavaAudioTrack { |
43 public: | 43 public: |
44 JavaAudioTrack(NativeRegistration* native_registration, | 44 JavaAudioTrack(NativeRegistration* native_registration, |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 // Raw pointer handle provided to us in AttachAudioBuffer(). Owned by the | 144 // Raw pointer handle provided to us in AttachAudioBuffer(). Owned by the |
145 // AudioDeviceModuleImpl class and called by AudioDeviceModuleImpl::Create(). | 145 // AudioDeviceModuleImpl class and called by AudioDeviceModuleImpl::Create(). |
146 // The AudioDeviceBuffer is a member of the AudioDeviceModuleImpl instance | 146 // The AudioDeviceBuffer is a member of the AudioDeviceModuleImpl instance |
147 // and therefore outlives this object. | 147 // and therefore outlives this object. |
148 AudioDeviceBuffer* audio_device_buffer_; | 148 AudioDeviceBuffer* audio_device_buffer_; |
149 }; | 149 }; |
150 | 150 |
151 } // namespace webrtc | 151 } // namespace webrtc |
152 | 152 |
153 #endif // WEBRTC_MODULES_AUDIO_DEVICE_ANDROID_AUDIO_TRACK_JNI_H_ | 153 #endif // WEBRTC_MODULES_AUDIO_DEVICE_ANDROID_AUDIO_TRACK_JNI_H_ |
OLD | NEW |