OLD | NEW |
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 #include "chrome/browser/copresence/chrome_whispernet_client.h" | 5 #include "chrome/browser/copresence/chrome_whispernet_client.h" |
6 | 6 |
7 #include "chrome/browser/extensions/api/copresence_private/copresence_private_ap
i.h" | 7 #include "chrome/browser/extensions/api/copresence_private/copresence_private_ap
i.h" |
8 #include "chrome/browser/extensions/component_loader.h" | 8 #include "chrome/browser/extensions/component_loader.h" |
9 #include "chrome/browser/extensions/extension_service.h" | 9 #include "chrome/browser/extensions/extension_service.h" |
10 #include "chrome/common/extensions/api/copresence_private.h" | 10 #include "chrome/common/extensions/api/copresence_private.h" |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 void ChromeWhispernetClient::Shutdown() { | 56 void ChromeWhispernetClient::Shutdown() { |
57 extension_loaded_callback_.Reset(); | 57 extension_loaded_callback_.Reset(); |
58 init_callback_.Reset(); | 58 init_callback_.Reset(); |
59 tokens_callback_.Reset(); | 59 tokens_callback_.Reset(); |
60 samples_callback_.Reset(); | 60 samples_callback_.Reset(); |
61 db_callback_.Reset(); | 61 db_callback_.Reset(); |
62 } | 62 } |
63 | 63 |
64 // Fire an event to request a token encode. | 64 // Fire an event to request a token encode. |
65 void ChromeWhispernetClient::EncodeToken(const std::string& token, | 65 void ChromeWhispernetClient::EncodeToken(const std::string& token, |
66 bool audible) { | 66 copresence::AudioType type) { |
67 DCHECK(extension_loaded_); | 67 DCHECK(extension_loaded_); |
68 DCHECK(browser_context_); | 68 DCHECK(browser_context_); |
69 DCHECK(extensions::EventRouter::Get(browser_context_)); | 69 DCHECK(extensions::EventRouter::Get(browser_context_)); |
70 | 70 |
71 scoped_ptr<extensions::Event> event(new extensions::Event( | 71 scoped_ptr<extensions::Event> event(new extensions::Event( |
72 extensions::api::copresence_private::OnEncodeTokenRequest::kEventName, | 72 extensions::api::copresence_private::OnEncodeTokenRequest::kEventName, |
73 extensions::api::copresence_private::OnEncodeTokenRequest::Create( | 73 extensions::api::copresence_private::OnEncodeTokenRequest::Create( |
74 token, audible), | 74 token, type == copresence::AUDIBLE), |
75 browser_context_)); | 75 browser_context_)); |
76 | 76 |
77 extensions::EventRouter::Get(browser_context_) | 77 extensions::EventRouter::Get(browser_context_) |
78 ->DispatchEventToExtension(kWhispernetProxyExtensionId, event.Pass()); | 78 ->DispatchEventToExtension(kWhispernetProxyExtensionId, event.Pass()); |
79 } | 79 } |
80 | 80 |
81 // Fire an event to request a decode for the given samples. | 81 // Fire an event to request a decode for the given samples. |
82 void ChromeWhispernetClient::DecodeSamples(const std::string& samples) { | 82 void ChromeWhispernetClient::DecodeSamples(copresence::AudioType type, |
| 83 const std::string& samples) { |
83 DCHECK(extension_loaded_); | 84 DCHECK(extension_loaded_); |
84 DCHECK(browser_context_); | 85 DCHECK(browser_context_); |
85 DCHECK(extensions::EventRouter::Get(browser_context_)); | 86 DCHECK(extensions::EventRouter::Get(browser_context_)); |
86 | 87 |
| 88 extensions::api::copresence_private::DecodeSamplesParameters request_type; |
| 89 request_type.decode_audible = |
| 90 type == copresence::AUDIBLE || type == copresence::BOTH; |
| 91 request_type.decode_inaudible = |
| 92 type == copresence::INAUDIBLE || type == copresence::BOTH; |
| 93 |
87 scoped_ptr<extensions::Event> event(new extensions::Event( | 94 scoped_ptr<extensions::Event> event(new extensions::Event( |
88 extensions::api::copresence_private::OnDecodeSamplesRequest::kEventName, | 95 extensions::api::copresence_private::OnDecodeSamplesRequest::kEventName, |
89 extensions::api::copresence_private::OnDecodeSamplesRequest::Create( | 96 extensions::api::copresence_private::OnDecodeSamplesRequest::Create( |
90 samples), | 97 samples, request_type), |
91 browser_context_)); | 98 browser_context_)); |
92 | 99 |
93 extensions::EventRouter::Get(browser_context_) | 100 extensions::EventRouter::Get(browser_context_) |
94 ->DispatchEventToExtension(kWhispernetProxyExtensionId, event.Pass()); | 101 ->DispatchEventToExtension(kWhispernetProxyExtensionId, event.Pass()); |
95 } | 102 } |
96 | 103 |
97 void ChromeWhispernetClient::DetectBroadcast() { | 104 void ChromeWhispernetClient::DetectBroadcast() { |
98 DCHECK(extension_loaded_); | 105 DCHECK(extension_loaded_); |
99 DCHECK(browser_context_); | 106 DCHECK(browser_context_); |
100 DCHECK(extensions::EventRouter::Get(browser_context_)); | 107 DCHECK(extensions::EventRouter::Get(browser_context_)); |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 params.play.carrier_frequency = copresence::kDefaultCarrierFrequency; | 189 params.play.carrier_frequency = copresence::kDefaultCarrierFrequency; |
183 params.play.repetitions = copresence::kDefaultRepetitions; | 190 params.play.repetitions = copresence::kDefaultRepetitions; |
184 | 191 |
185 params.record.sample_rate = copresence::kDefaultSampleRate; | 192 params.record.sample_rate = copresence::kDefaultSampleRate; |
186 params.record.bits_per_sample = copresence::kDefaultBitsPerSample; | 193 params.record.bits_per_sample = copresence::kDefaultBitsPerSample; |
187 params.record.carrier_frequency = copresence::kDefaultCarrierFrequency; | 194 params.record.carrier_frequency = copresence::kDefaultCarrierFrequency; |
188 params.record.channels = copresence::kDefaultChannels; | 195 params.record.channels = copresence::kDefaultChannels; |
189 | 196 |
190 InitializeWhispernet(params); | 197 InitializeWhispernet(params); |
191 } | 198 } |
OLD | NEW |