OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // Protocol for audio messages. | 5 // Protocol for audio messages. |
6 | 6 |
7 syntax = "proto2"; | 7 syntax = "proto2"; |
8 | 8 |
9 option optimize_for = LITE_RUNTIME; | 9 option optimize_for = LITE_RUNTIME; |
10 | 10 |
11 package remoting; | 11 package remoting; |
12 | 12 |
13 message AudioPacket { | 13 message AudioPacket { |
14 optional int32 timestamp = 1 [default = 0]; | 14 optional int32 timestamp = 1 [default = 0]; |
15 | 15 |
16 // Packets with raw data must have exactly one data field. | 16 // Packets with raw data must have exactly one data field. |
17 // For those packets, samples are signed and represented using little endian. | 17 // For those packets, samples are signed and represented using little endian. |
18 // Some encoders (eg. Speex) may add multiple data fields to separate encoded | 18 // Some encoders (eg. Speex) may add multiple data fields to separate encoded |
19 // frames. | 19 // frames. |
20 repeated bytes data = 2; | 20 repeated bytes data = 2; |
21 | 21 |
22 enum Encoding { | 22 enum Encoding { |
23 ENCODING_INVALID = -1; | 23 ENCODING_INVALID = -1; |
24 ENCODING_RAW = 0; // Uncompressed encoding | 24 ENCODING_RAW = 0; // Uncompressed encoding |
25 ENCODING_OGG = 1; | 25 ENCODING_VORBIS = 1; |
Wez
2012/08/21 01:14:13
nit: Remove VORBIS since we're unlikely to get aro
Sergey Ulanov
2012/08/21 01:19:44
Or maybe just replace it with OPUS?
kxing
2012/08/21 16:56:11
Sounds good. This CL's getting huge, so I'll do in
kxing
2012/08/21 16:56:11
Sounds good. This CL's getting huge, so I'll do in
| |
26 ENCODING_SPEEX = 2; | |
26 } | 27 } |
27 | 28 |
28 optional Encoding encoding = 3 [default = ENCODING_INVALID]; | 29 optional Encoding encoding = 3 [default = ENCODING_INVALID]; |
29 | 30 |
30 enum SamplingRate { | 31 enum SamplingRate { |
31 SAMPLING_RATE_INVALID = -1; | 32 SAMPLING_RATE_INVALID = -1; |
32 SAMPLING_RATE_44100 = 44100; | 33 SAMPLING_RATE_44100 = 44100; |
33 SAMPLING_RATE_48000 = 48000; | 34 SAMPLING_RATE_48000 = 48000; |
34 } | 35 } |
35 | 36 |
36 optional SamplingRate sampling_rate = 4 [default = SAMPLING_RATE_INVALID]; | 37 optional SamplingRate sampling_rate = 4 [default = SAMPLING_RATE_INVALID]; |
37 | 38 |
38 enum BytesPerSample { | 39 enum BytesPerSample { |
39 BYTES_PER_SAMPLE_INVALID = -1; | 40 BYTES_PER_SAMPLE_INVALID = -1; |
40 BYTES_PER_SAMPLE_2 = 2; | 41 BYTES_PER_SAMPLE_2 = 2; |
41 } | 42 } |
42 | 43 |
43 optional BytesPerSample bytes_per_sample = 5 | 44 optional BytesPerSample bytes_per_sample = 5 |
44 [default = BYTES_PER_SAMPLE_INVALID]; | 45 [default = BYTES_PER_SAMPLE_INVALID]; |
45 | 46 |
46 enum Channels { | 47 enum Channels { |
47 CHANNELS_INVALID = -1; | 48 CHANNELS_INVALID = -1; |
48 CHANNELS_MONO = 1; | 49 CHANNELS_MONO = 1; |
49 CHANNELS_STEREO = 2; | 50 CHANNELS_STEREO = 2; |
50 } | 51 } |
51 | 52 |
52 optional Channels channels = 6 [default = CHANNELS_INVALID]; | 53 optional Channels channels = 6 [default = CHANNELS_INVALID]; |
53 } | 54 } |
54 | 55 |
OLD | NEW |