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

Side by Side Diff: chrome/browser/copresence/chrome_whispernet_client.cc

Issue 637223011: Redesign the copresence audio handlers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git/+/master
Patch Set: Created 6 years, 2 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
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
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::DecodeRequestType request_type;
89
90 switch (type) {
Daniel Erat 2014/10/17 22:25:59 you could get compile-time checking that all enum
rkc 2014/10/18 00:21:54 Code removed with Patch 3.
91 case copresence::AUDIBLE:
92 request_type =
93 extensions::api::copresence_private::DECODE_REQUEST_TYPE_AUDIBLE;
94 break;
95 case copresence::INAUDIBLE:
96 request_type =
97 extensions::api::copresence_private::DECODE_REQUEST_TYPE_INAUDIBLE;
98 break;
99 case copresence::BOTH:
100 request_type =
101 extensions::api::copresence_private::DECODE_REQUEST_TYPE_BOTH;
102 break;
103 default:
104 request_type =
105 extensions::api::copresence_private::DECODE_REQUEST_TYPE_NONE;
106 LOG(ERROR) << "Unknown decode request type received: " << type;
107 }
108
87 scoped_ptr<extensions::Event> event(new extensions::Event( 109 scoped_ptr<extensions::Event> event(new extensions::Event(
88 extensions::api::copresence_private::OnDecodeSamplesRequest::kEventName, 110 extensions::api::copresence_private::OnDecodeSamplesRequest::kEventName,
89 extensions::api::copresence_private::OnDecodeSamplesRequest::Create( 111 extensions::api::copresence_private::OnDecodeSamplesRequest::Create(
90 samples), 112 request_type, samples),
91 browser_context_)); 113 browser_context_));
92 114
93 extensions::EventRouter::Get(browser_context_) 115 extensions::EventRouter::Get(browser_context_)
94 ->DispatchEventToExtension(kWhispernetProxyExtensionId, event.Pass()); 116 ->DispatchEventToExtension(kWhispernetProxyExtensionId, event.Pass());
95 } 117 }
96 118
97 void ChromeWhispernetClient::DetectBroadcast() { 119 void ChromeWhispernetClient::DetectBroadcast() {
98 DCHECK(extension_loaded_); 120 DCHECK(extension_loaded_);
99 DCHECK(browser_context_); 121 DCHECK(browser_context_);
100 DCHECK(extensions::EventRouter::Get(browser_context_)); 122 DCHECK(extensions::EventRouter::Get(browser_context_));
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 params.play.carrier_frequency = copresence::kDefaultCarrierFrequency; 204 params.play.carrier_frequency = copresence::kDefaultCarrierFrequency;
183 params.play.repetitions = copresence::kDefaultRepetitions; 205 params.play.repetitions = copresence::kDefaultRepetitions;
184 206
185 params.record.sample_rate = copresence::kDefaultSampleRate; 207 params.record.sample_rate = copresence::kDefaultSampleRate;
186 params.record.bits_per_sample = copresence::kDefaultBitsPerSample; 208 params.record.bits_per_sample = copresence::kDefaultBitsPerSample;
187 params.record.carrier_frequency = copresence::kDefaultCarrierFrequency; 209 params.record.carrier_frequency = copresence::kDefaultCarrierFrequency;
188 params.record.channels = copresence::kDefaultChannels; 210 params.record.channels = copresence::kDefaultChannels;
189 211
190 InitializeWhispernet(params); 212 InitializeWhispernet(params);
191 } 213 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698