| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2014 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 #ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_OPUS_OPUS_INST_H_ | 11 #ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_OPUS_OPUS_INST_H_ |
| 12 #define WEBRTC_MODULES_AUDIO_CODING_CODECS_OPUS_OPUS_INST_H_ | 12 #define WEBRTC_MODULES_AUDIO_CODING_CODECS_OPUS_OPUS_INST_H_ |
| 13 | 13 |
| 14 #include <stddef.h> | 14 #include <stddef.h> |
| 15 | 15 |
| 16 #include "opus.h" | 16 #include "opus.h" |
| 17 | 17 |
| 18 struct WebRtcOpusEncInst { | 18 struct WebRtcOpusEncInst { |
| 19 OpusEncoder* encoder; | 19 OpusEncoder* encoder; |
| 20 int channels; | 20 size_t channels; |
| 21 int in_dtx_mode; | 21 int in_dtx_mode; |
| 22 // When Opus is in DTX mode, we use |zero_counts| to count consecutive zeros | 22 // When Opus is in DTX mode, we use |zero_counts| to count consecutive zeros |
| 23 // to break long zero segment so as to prevent DTX from going wrong. We use | 23 // to break long zero segment so as to prevent DTX from going wrong. We use |
| 24 // one counter for each channel. After each encoding, |zero_counts| contain | 24 // one counter for each channel. After each encoding, |zero_counts| contain |
| 25 // the remaining zeros from the last frame. | 25 // the remaining zeros from the last frame. |
| 26 // TODO(minyue): remove this when Opus gets an internal fix to DTX. | 26 // TODO(minyue): remove this when Opus gets an internal fix to DTX. |
| 27 size_t* zero_counts; | 27 size_t* zero_counts; |
| 28 }; | 28 }; |
| 29 | 29 |
| 30 struct WebRtcOpusDecInst { | 30 struct WebRtcOpusDecInst { |
| 31 OpusDecoder* decoder; | 31 OpusDecoder* decoder; |
| 32 int prev_decoded_samples; | 32 int prev_decoded_samples; |
| 33 int channels; | 33 size_t channels; |
| 34 int in_dtx_mode; | 34 int in_dtx_mode; |
| 35 }; | 35 }; |
| 36 | 36 |
| 37 | 37 |
| 38 #endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_OPUS_OPUS_INST_H_ | 38 #endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_OPUS_OPUS_INST_H_ |
| OLD | NEW |