blob: 41b3f15f2861ab6b8ebc9f6b1080b668e6ae0cee [file] [log] [blame]
minyue@webrtc.org0040a6e2014-08-04 14:41:57 +00001/*
2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
3 *
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
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020011#ifndef MODULES_AUDIO_CODING_CODECS_OPUS_OPUS_INST_H_
12#define MODULES_AUDIO_CODING_CODECS_OPUS_OPUS_INST_H_
minyue@webrtc.org0040a6e2014-08-04 14:41:57 +000013
minyue9a7c8382015-11-16 08:07:01 -080014#include <stddef.h>
15
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020016#include "rtc_base/ignore_wundef.h"
kwiberg77eab702016-09-28 17:42:01 -070017
18RTC_PUSH_IGNORING_WUNDEF()
minyue@webrtc.org0040a6e2014-08-04 14:41:57 +000019#include "opus.h"
Alex Loiko83ed89a2019-01-17 12:32:11 +010020#include "opus_multistream.h"
kwiberg77eab702016-09-28 17:42:01 -070021RTC_POP_IGNORING_WUNDEF()
minyue@webrtc.org0040a6e2014-08-04 14:41:57 +000022
23struct WebRtcOpusEncInst {
Alex Loiko83ed89a2019-01-17 12:32:11 +010024 OpusMSEncoder* encoder;
Peter Kasting69558702016-01-12 16:26:35 -080025 size_t channels;
minyue@webrtc.org0ca768b2014-12-11 16:09:35 +000026 int in_dtx_mode;
minyue@webrtc.org0040a6e2014-08-04 14:41:57 +000027};
28
29struct WebRtcOpusDecInst {
Alex Loiko83ed89a2019-01-17 12:32:11 +010030 OpusMSDecoder* decoder;
minyue@webrtc.org0040a6e2014-08-04 14:41:57 +000031 int prev_decoded_samples;
Peter Kasting69558702016-01-12 16:26:35 -080032 size_t channels;
minyue@webrtc.org0ca768b2014-12-11 16:09:35 +000033 int in_dtx_mode;
minyue@webrtc.org0040a6e2014-08-04 14:41:57 +000034};
35
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020036#endif // MODULES_AUDIO_CODING_CODECS_OPUS_OPUS_INST_H_