13f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org/*
23f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
33f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org *
43f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org *  Use of this source code is governed by a BSD-style license
53f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org *  that can be found in the LICENSE file in the root of the source
63f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org *  tree. An additional intellectual property rights grant can be found
73f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org *  in the file PATENTS.  All contributing project authors may
83f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org *  be found in the AUTHORS file in the root of the source tree.
93f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org */
103f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org
11ed0b4fb2f28fa291e726fc1cf6852611f2176392turaj@webrtc.org#ifndef WEBRTC_MODULES_AUDIO_CODING_MAIN_ACM2_ACM_DTMF_PLAYOUT_H_
12ed0b4fb2f28fa291e726fc1cf6852611f2176392turaj@webrtc.org#define WEBRTC_MODULES_AUDIO_CODING_MAIN_ACM2_ACM_DTMF_PLAYOUT_H_
133f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org
14ed0b4fb2f28fa291e726fc1cf6852611f2176392turaj@webrtc.org#include "webrtc/modules/audio_coding/main/acm2/acm_generic_codec.h"
153f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org
163f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.orgnamespace webrtc {
173f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org
180a1c75a50d10621f70d5921c5b8b9c0eb144bb42turaj@webrtc.orgnamespace acm2 {
190a1c75a50d10621f70d5921c5b8b9c0eb144bb42turaj@webrtc.org
203f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.orgclass ACMDTMFPlayout : public ACMGenericCodec {
213f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org public:
223f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org  explicit ACMDTMFPlayout(int16_t codec_id);
233f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org  ~ACMDTMFPlayout();
243f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org
253f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org  // for FEC
263f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org  ACMGenericCodec* CreateInstance(void);
273f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org
283f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org  int16_t InternalEncode(uint8_t* bitstream, int16_t* bitstream_len_byte);
293f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org
303f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org  int16_t InternalInitEncoder(WebRtcACMCodecParams* codec_params);
313f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org
323f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org protected:
333f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org  void DestructEncoderSafe();
343f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org
353f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org  int16_t InternalCreateEncoder();
363f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org};
373f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org
380a1c75a50d10621f70d5921c5b8b9c0eb144bb42turaj@webrtc.org}  // namespace acm2
390a1c75a50d10621f70d5921c5b8b9c0eb144bb42turaj@webrtc.org
403f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org}  // namespace webrtc
413f39c00d9875d7e09062725757b789f4da375ef9turaj@webrtc.org
42ed0b4fb2f28fa291e726fc1cf6852611f2176392turaj@webrtc.org#endif  // WEBRTC_MODULES_AUDIO_CODING_MAIN_ACM2_ACM_DTMF_PLAYOUT_H_
43