1 // Copyright 2015 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.
5 #ifndef CHROME_BROWSER_COPRESENCE_CHROME_WHISPERNET_CONFIG_H_
6 #define CHROME_BROWSER_COPRESENCE_CHROME_WHISPERNET_CONFIG_H_
8 // Shared structs with whispernet. TODO(rkc): These will be removed once we can
9 // get protobufs working with Nacl. At that point, we'll just pass in
10 // config_data.proto to the whispernet nacl wrapper directly.
12 // We will be using fixed types in all these structures since they will be
13 // stuffed into a string and then read on the other side via a completely
14 // different toolchain.
16 struct AudioDsssParams
{
17 int64_t include_parity_symbol
;
18 int64_t use_single_sideband
;
19 double desired_carrier_frequency
;
21 double coder_sample_rate
;
22 double recording_sample_rate
;
23 int64_t bits_per_symbol
;
24 int64_t min_cycles_per_frame
;
25 int64_t baseband_decimation_factor
;
26 int64_t upsampling_factor
;
27 int64_t num_repetitions_to_play
;
31 int64_t attack_time_millis
;
32 int64_t decay_time_millis
;
33 int64_t sustain_time_millis
;
34 int64_t release_time_millis
;
35 double sustain_amplitude
;
38 struct AudioDtmfParams
{
39 int64_t include_parity_symbol
;
41 double coder_sample_rate
;
42 double recording_sample_rate
;
43 int64_t baseband_decimation_factor
;
44 int64_t frequencies_per_symbol
;
45 int64_t window_duration_millis
;
46 AdsrParams adsr_params
;
47 int64_t num_repetitions_to_play
;
51 int64_t clear_cached_request_duration_millis
;
52 int64_t request_buffer_limit
;
55 struct AudioParamData
{
57 AudioDsssParams audio_dsss
;
58 AudioDtmfParams audio_dtmf
;
59 int64_t recording_channels
;
62 #endif // CHROME_BROWSER_COPRESENCE_CHROME_WHISPERNET_CONFIG_H_