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

Side by Side Diff: webrtc/modules/rtp_rtcp/source/dtmf_queue.h

Issue 2392883002: Multi frequency DTMF support - sender side (Closed)
Patch Set: rebase Created 4 years, 1 month 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
1 /* 1 /*
2 * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2011 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_RTP_RTCP_SOURCE_DTMF_QUEUE_H_ 11 #ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_DTMF_QUEUE_H_
12 #define WEBRTC_MODULES_RTP_RTCP_SOURCE_DTMF_QUEUE_H_ 12 #define WEBRTC_MODULES_RTP_RTCP_SOURCE_DTMF_QUEUE_H_
13 13
14 #include <list>
15
14 #include "webrtc/base/criticalsection.h" 16 #include "webrtc/base/criticalsection.h"
15 #include "webrtc/modules/rtp_rtcp/source/rtp_rtcp_config.h"
16 #include "webrtc/typedefs.h"
17 17
18 namespace webrtc { 18 namespace webrtc {
19 class DTMFqueue { 19 class DtmfQueue {
20 public: 20 public:
21 DTMFqueue(); 21 struct Event {
22 ~DTMFqueue(); 22 uint16_t duration_ms = 0;
23 uint8_t payload_type = 0;
24 uint8_t key = 0;
25 uint8_t level = 0;
26 };
23 27
24 int32_t AddDTMF(uint8_t dtmf_key, uint16_t len, uint8_t level); 28 DtmfQueue();
25 int8_t NextDTMF(uint8_t* dtmf_key, uint16_t* len, uint8_t* level); 29 ~DtmfQueue();
26 bool PendingDTMF(); 30
31 bool AddDtmf(const Event& event);
32 bool NextDtmf(Event* event);
33 bool PendingDtmf() const;
27 34
28 private: 35 private:
29 rtc::CriticalSection dtmf_critsect_; 36 rtc::CriticalSection dtmf_critsect_;
30 uint8_t next_empty_index_; 37 std::list<Event> queue_;
31 uint8_t dtmf_key_[DTMF_OUTBAND_MAX];
32 uint16_t dtmf_length[DTMF_OUTBAND_MAX];
33 uint8_t dtmf_level_[DTMF_OUTBAND_MAX];
34 }; 38 };
35 } // namespace webrtc 39 } // namespace webrtc
36 40
37 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_DTMF_QUEUE_H_ 41 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_DTMF_QUEUE_H_
OLDNEW
« no previous file with comments | « webrtc/media/engine/webrtcvoiceengine_unittest.cc ('k') | webrtc/modules/rtp_rtcp/source/dtmf_queue.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698