123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- syntax = "proto2";
- message Frame {
- optional uint32 version = 0x1;
- optional string ident = 0x2;
- optional string protocol_version = 0x3;
- optional uint32 seq_nr = 0x4;
- optional MessageType typ = 0x5;
- optional DeviceState device_state = 0x7;
- optional Goodbye goodbye = 0xb;
- optional State state = 0xc;
- optional uint32 position = 0xd;
- optional uint32 volume = 0xe;
- optional int64 state_update_id = 0x11;
- repeated string recipient = 0x12;
- optional bytes context_player_state = 0x13;
- optional string new_name = 0x14;
- optional Metadata metadata = 0x19;
- }
- enum MessageType {
- kMessageTypeHello = 0x1;
- kMessageTypeGoodbye = 0x2;
- kMessageTypeProbe = 0x3;
- kMessageTypeNotify = 0xa;
- kMessageTypeLoad = 0x14;
- kMessageTypePlay = 0x15;
- kMessageTypePause = 0x16;
- kMessageTypePlayPause = 0x17;
- kMessageTypeSeek = 0x18;
- kMessageTypePrev = 0x19;
- kMessageTypeNext = 0x1a;
- kMessageTypeVolume = 0x1b;
- kMessageTypeShuffle = 0x1c;
- kMessageTypeRepeat = 0x1d;
- kMessageTypeVolumeDown = 0x1f;
- kMessageTypeVolumeUp = 0x20;
- kMessageTypeReplace = 0x21;
- kMessageTypeLogout = 0x22;
- kMessageTypeAction = 0x23;
- kMessageTypeRename = 0x24;
- kMessageTypeUpdateMetadata = 0x80;
- }
- message DeviceState {
- optional string sw_version = 0x1;
- optional bool is_active = 0xa;
- optional bool can_play = 0xb;
- optional uint32 volume = 0xc;
- optional string name = 0xd;
- optional uint32 error_code = 0xe;
- optional int64 became_active_at = 0xf;
- optional string error_message = 0x10;
- repeated Capability capabilities = 0x11;
- optional string context_player_error = 0x14;
- repeated Metadata metadata = 0x19;
- }
- message Capability {
- optional CapabilityType typ = 0x1;
- repeated int64 intValue = 0x2;
- repeated string stringValue = 0x3;
- }
- enum CapabilityType {
- kSupportedContexts = 0x1;
- kCanBePlayer = 0x2;
- kRestrictToLocal = 0x3;
- kDeviceType = 0x4;
- kGaiaEqConnectId = 0x5;
- kSupportsLogout = 0x6;
- kIsObservable = 0x7;
- kVolumeSteps = 0x8;
- kSupportedTypes = 0x9;
- kCommandAcks = 0xa;
- kSupportsRename = 0xb;
- kHidden = 0xc;
- kSupportsPlaylistV2 = 0xd;
- }
- message Goodbye {
- optional string reason = 0x1;
- }
- message State {
- optional string context_uri = 0x2;
- optional uint32 index = 0x3;
- optional uint32 position_ms = 0x4;
- optional PlayStatus status = 0x5;
- optional uint64 position_measured_at = 0x7;
- optional string context_description = 0x8;
- optional bool shuffle = 0xd;
- optional bool repeat = 0xe;
- optional string last_command_ident = 0x14;
- optional uint32 last_command_msgid = 0x15;
- optional bool playing_from_fallback = 0x18;
- optional uint32 row = 0x19;
- optional uint32 playing_track_index = 0x1a;
- repeated TrackRef track = 0x1b;
- optional Ad ad = 0x1c;
- }
- enum PlayStatus {
- kPlayStatusStop = 0x0;
- kPlayStatusPlay = 0x1;
- kPlayStatusPause = 0x2;
- kPlayStatusLoading = 0x3;
- }
- message TrackRef {
- optional bytes gid = 0x1;
- optional string uri = 0x2;
- optional bool queued = 0x3;
- optional string context = 0x4;
- }
- message Ad {
- optional int32 next = 0x1;
- optional bytes ogg_fid = 0x2;
- optional bytes image_fid = 0x3;
- optional int32 duration = 0x4;
- optional string click_url = 0x5;
- optional string impression_url = 0x6;
- optional string product = 0x7;
- optional string advertiser = 0x8;
- optional bytes gid = 0x9;
- }
- message Metadata {
- optional string type = 0x1;
- optional string metadata = 0x2;
- }
|