| 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 |