| // Copyright (c) 2012 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. |
| |
| // Protocol for audio messages. |
| |
| syntax = "proto2"; |
| |
| option optimize_for = LITE_RUNTIME; |
| |
| package remoting; |
| |
| message AudioPacket { |
| optional int32 timestamp = 1 [default = 0]; |
| |
| // Packets with raw data must have exactly one data field. |
| // For those packets, samples are signed and represented using little endian. |
| // Some encoders (eg. Speex) may add multiple data fields to separate encoded |
| // frames. |
| repeated bytes data = 2; |
| |
| enum Encoding { |
| ENCODING_INVALID = -1; |
| ENCODING_RAW = 0; // Uncompressed encoding |
| ENCODING_OPUS = 1; |
| ENCODING_SPEEX = 2; |
| } |
| |
| optional Encoding encoding = 3 [default = ENCODING_INVALID]; |
| |
| enum SamplingRate { |
| SAMPLING_RATE_INVALID = -1; |
| SAMPLING_RATE_44100 = 44100; |
| SAMPLING_RATE_48000 = 48000; |
| } |
| |
| optional SamplingRate sampling_rate = 4 [default = SAMPLING_RATE_INVALID]; |
| |
| enum BytesPerSample { |
| BYTES_PER_SAMPLE_INVALID = -1; |
| BYTES_PER_SAMPLE_2 = 2; |
| } |
| |
| optional BytesPerSample bytes_per_sample = 5 |
| [default = BYTES_PER_SAMPLE_INVALID]; |
| |
| enum Channels { |
| CHANNELS_INVALID = -1; |
| CHANNELS_MONO = 1; |
| CHANNELS_STEREO = 2; |
| } |
| |
| optional Channels channels = 6 [default = CHANNELS_INVALID]; |
| } |
| |