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

Side by Side Diff: components/copresence/handlers/audio/audio_directive_handler.h

Issue 704923002: Add polling and audio check to copresence. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef COMPONENTS_COPRESENCE_HANDLERS_AUDIO_AUDIO_DIRECTIVE_HANDLER_H_ 5 #ifndef COMPONENTS_COPRESENCE_HANDLERS_AUDIO_AUDIO_DIRECTIVE_HANDLER_H_
6 #define COMPONENTS_COPRESENCE_HANDLERS_AUDIO_AUDIO_DIRECTIVE_HANDLER_H_ 6 #define COMPONENTS_COPRESENCE_HANDLERS_AUDIO_AUDIO_DIRECTIVE_HANDLER_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "components/copresence/mediums/audio/audio_manager.h" 10 #include "components/copresence/mediums/audio/audio_manager.h"
11 #include "components/copresence/public/copresence_constants.h" 11 #include "components/copresence/public/copresence_constants.h"
12 12
13 namespace base { 13 namespace base {
14 class TimeDelta; 14 class TimeDelta;
15 } 15 }
16 16
17 namespace copresence { 17 namespace copresence {
18 18
19 class TokenInstruction; 19 class TokenInstruction;
20 class WhispernetClient;
20 21
21 // The AudioDirectiveHandler handles audio transmit and receive instructions. 22 // The AudioDirectiveHandler handles audio transmit and receive instructions.
22 class AudioDirectiveHandler { 23 class AudioDirectiveHandler {
23 public: 24 public:
24 virtual ~AudioDirectiveHandler() {} 25 virtual ~AudioDirectiveHandler() {}
25 26
26 // Do not use this class before calling this. 27 // Do not use this class before calling this.
27 virtual void Initialize( 28 virtual void Initialize(WhispernetClient* whispernet_client,
28 const AudioManager::DecodeSamplesCallback& decode_cb, 29 const TokensCallback& tokens_cb) = 0;
29 const AudioManager::EncodeTokenCallback& encode_cb) = 0;
30 30
31 // Adds an instruction to our handler. The instruction will execute and be 31 // Adds an instruction to our handler. The instruction will execute and be
32 // removed after the ttl expires. 32 // removed after the ttl expires.
33 virtual void AddInstruction(const TokenInstruction& instruction, 33 virtual void AddInstruction(const TokenInstruction& instruction,
34 const std::string& op_id, 34 const std::string& op_id,
35 base::TimeDelta ttl_ms) = 0; 35 base::TimeDelta ttl_ms) = 0;
36 36
37 // Removes all instructions associated with this operation id. 37 // Removes all instructions associated with this operation id.
38 virtual void RemoveInstructions(const std::string& op_id) = 0; 38 virtual void RemoveInstructions(const std::string& op_id) = 0;
39 39
40 // Returns the currently playing token. 40 // Returns the currently playing token.
41 virtual const std::string PlayingToken(AudioType type) const = 0; 41 virtual const std::string PlayingToken(AudioType type) const = 0;
42
43 // Returns if we have heard the currently playing audio token.
44 virtual bool IsPlayingTokenHeard(AudioType type) const = 0;
42 }; 45 };
43 46
44 } // namespace copresence 47 } // namespace copresence
45 48
46 #endif // COMPONENTS_COPRESENCE_HANDLERS_AUDIO_AUDIO_DIRECTIVE_HANDLER_H_ 49 #endif // COMPONENTS_COPRESENCE_HANDLERS_AUDIO_AUDIO_DIRECTIVE_HANDLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698