Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(429)

Side by Side Diff: webrtc/voice_engine/include/voe_dtmf.h

Issue 1723153002: Remove the VoEDtmf interface. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /*
2 * Copyright (c) 2011 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
11 // This sub-API supports the following functionalities:
12 //
13 // - Telephone event transmission.
14 // - DTMF tone generation.
15 //
16 // Usage example, omitting error checking:
17 //
18 // using namespace webrtc;
19 // VoiceEngine* voe = VoiceEngine::Create();
20 // VoEBase* base = VoEBase::GetInterface(voe);
21 // VoEDtmf* dtmf = VoEDtmf::GetInterface(voe);
22 // base->Init();
23 // int ch = base->CreateChannel();
24 // ...
25 // dtmf->SendTelephoneEvent(ch, 7);
26 // ...
27 // base->DeleteChannel(ch);
28 // base->Terminate();
29 // base->Release();
30 // dtmf->Release();
31 // VoiceEngine::Delete(voe);
32 //
33 #ifndef WEBRTC_VOICE_ENGINE_VOE_DTMF_H
34 #define WEBRTC_VOICE_ENGINE_VOE_DTMF_H
35
36 #include "webrtc/common_types.h"
37
38 namespace webrtc {
39
40 class VoiceEngine;
41
42 // VoEDtmf
43 class WEBRTC_DLLEXPORT VoEDtmf {
44 public:
45 // Factory for the VoEDtmf sub-API. Increases an internal
46 // reference counter if successful. Returns NULL if the API is not
47 // supported or if construction fails.
48 static VoEDtmf* GetInterface(VoiceEngine* voiceEngine);
49
50 // Releases the VoEDtmf sub-API and decreases an internal
51 // reference counter. Returns the new reference count. This value should
52 // be zero for all sub-API:s before the VoiceEngine object can be safely
53 // deleted.
54 virtual int Release() = 0;
55
56 // Sends telephone events either in-band or out-of-band.
57 virtual int SendTelephoneEvent(int channel,
58 int eventCode,
59 bool outOfBand = true,
60 int lengthMs = 160,
61 int attenuationDb = 10) = 0;
62
63 // Sets the dynamic payload |type| that should be used for telephone
64 // events.
65 virtual int SetSendTelephoneEventPayloadType(int channel,
66 unsigned char type) = 0;
67
68 // Gets the currently set dynamic payload |type| for telephone events.
69 virtual int GetSendTelephoneEventPayloadType(int channel,
70 unsigned char& type) = 0;
71
72 // Toogles DTMF feedback state: when a DTMF tone is sent, the same tone
73 // is played out on the speaker.
74 virtual int SetDtmfFeedbackStatus(bool enable,
75 bool directFeedback = false) = 0;
76
77 // Gets the DTMF feedback status.
78 virtual int GetDtmfFeedbackStatus(bool& enabled, bool& directFeedback) = 0;
79
80 // Plays a DTMF feedback tone (only locally).
81 virtual int PlayDtmfTone(int eventCode,
82 int lengthMs = 200,
83 int attenuationDb = 10) = 0;
84
85 protected:
86 VoEDtmf() {}
87 virtual ~VoEDtmf() {}
88 };
89
90 } // namespace webrtc
91
92 #endif // WEBRTC_VOICE_ENGINE_VOE_DTMF_H
OLDNEW
« no previous file with comments | « webrtc/voice_engine/channel.h ('k') | webrtc/voice_engine/test/auto_test/fixtures/after_streaming_fixture.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698