| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Use the <code>chrome.copresencePrivate</code> API to interface with Chrome |
| // from the whispernet_proxy extension. |
| namespace copresencePrivate { |
| dictionary DecodeSamplesParameters { |
| boolean decodeAudible; |
| boolean decodeInaudible; |
| }; |
| |
| dictionary PlayParameters { |
| double sampleRate; |
| long bitsPerSample; |
| double carrierFrequency; |
| long repetitions; |
| }; |
| |
| dictionary RecordParameters { |
| double sampleRate; |
| long bitsPerSample; |
| long channels; |
| double carrierFrequency; |
| }; |
| |
| dictionary AudioParameters { |
| PlayParameters play; |
| RecordParameters record; |
| }; |
| |
| dictionary Token { |
| DOMString token; |
| boolean audible; |
| }; |
| |
| interface Functions { |
| // Send a boolean indicating whether our initialization was successful. |
| static void sendInitialized(boolean success); |
| // Sends an array of found tokens to Chrome. |
| static void sendFound(Token[] tokens); |
| // Send an array buffer of samples encoded for the specified token. |
| static void sendSamples(Token token, ArrayBuffer samples); |
| // Send a boolean indicating whether we detected a broadcast or not. |
| static void sendDetect(boolean detected); |
| }; |
| |
| interface Events { |
| // Fired to request initialization of the whisper.net library. |
| static void onInitialize(AudioParameters audioParams); |
| // Fired to request encoding of the given token. |
| static void onEncodeTokenRequest(DOMString base64Token, boolean audible); |
| // Fired when we have new samples to decode. |
| static void onDecodeSamplesRequest(ArrayBuffer samples, |
| DecodeSamplesParameters request); |
| // Fired to request a DetectBroadcast. |
| static void onDetectBroadcastRequest(); |
| }; |
| }; |