Home | History | Annotate | Download | only in api
      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
      3 // found in the LICENSE file.
      4 
      5 // Use the <code>chrome.copresencePrivate</code> API to interface with Chrome
      6 // from the whispernet_proxy extension.
      7 namespace copresencePrivate {
      8 
      9   dictionary PlayParameters {
     10     double sampleRate;
     11     long bitsPerSample;
     12     double carrierFrequency;
     13     long repetitions;
     14   };
     15 
     16   dictionary RecordParameters {
     17     double sampleRate;
     18     long bitsPerSample;
     19     long channels;
     20     double carrierFrequency;
     21   };
     22 
     23   dictionary AudioParameters {
     24     PlayParameters play;
     25     RecordParameters record;
     26   };
     27 
     28   dictionary Token {
     29     DOMString token;
     30     boolean audible;
     31   };
     32 
     33   interface Functions {
     34     // Send a boolean indicating whether our initialization was successful.
     35     static void sendInitialized(boolean success);
     36     // Sends an array of found tokens to Chrome.
     37     static void sendFound(Token[] tokens);
     38     // Send an array buffer of samples encoded for the specified token.
     39     static void sendSamples(Token token, ArrayBuffer samples);
     40     // Send a boolean indicating whether we detected a broadcast or not.
     41     static void sendDetect(boolean detected);
     42   };
     43 
     44   interface Events {
     45     // Fired to request initialization of the whisper.net library.
     46     static void onInitialize(AudioParameters audioParams);
     47     // Fired to request encoding of the given token.
     48     static void onEncodeTokenRequest(DOMString base64Token, boolean audible);
     49     // Fired when we have new samples to decode.
     50     static void onDecodeSamplesRequest(ArrayBuffer audioSamples);
     51     // Fired to request a DetectBroadcast.
     52     static void onDetectBroadcastRequest();
     53   };
     54 };
     55