mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-09 21:17:18 +03:00
add nanopb (manual)
This commit is contained in:
6
components/spotify/cspot/protobuf/authentication.options
Normal file
6
components/spotify/cspot/protobuf/authentication.options
Normal file
@@ -0,0 +1,6 @@
|
||||
LoginCredentials.username type:FT_POINTER
|
||||
LoginCredentials.auth_data type:FT_POINTER
|
||||
LoginCredentials.auth_data type:FT_POINTER
|
||||
SystemInfo.system_information_string type:FT_POINTER
|
||||
SystemInfo.device_id type:FT_POINTER
|
||||
ClientResponseEncrypted.version_string type:FT_POINTER
|
||||
65
components/spotify/cspot/protobuf/authentication.proto
Normal file
65
components/spotify/cspot/protobuf/authentication.proto
Normal file
@@ -0,0 +1,65 @@
|
||||
enum CpuFamily {
|
||||
CPU_UNKNOWN = 0x0;
|
||||
CPU_X86 = 0x1;
|
||||
CPU_X86_64 = 0x2;
|
||||
CPU_PPC = 0x3;
|
||||
CPU_PPC_64 = 0x4;
|
||||
CPU_ARM = 0x5;
|
||||
CPU_IA64 = 0x6;
|
||||
CPU_SH = 0x7;
|
||||
CPU_MIPS = 0x8;
|
||||
CPU_BLACKFIN = 0x9;
|
||||
}
|
||||
|
||||
enum Os {
|
||||
OS_UNKNOWN = 0x0;
|
||||
OS_WINDOWS = 0x1;
|
||||
OS_OSX = 0x2;
|
||||
OS_IPHONE = 0x3;
|
||||
OS_S60 = 0x4;
|
||||
OS_LINUX = 0x5;
|
||||
OS_WINDOWS_CE = 0x6;
|
||||
OS_ANDROID = 0x7;
|
||||
OS_PALM = 0x8;
|
||||
OS_FREEBSD = 0x9;
|
||||
OS_BLACKBERRY = 0xa;
|
||||
OS_SONOS = 0xb;
|
||||
OS_LOGITECH = 0xc;
|
||||
OS_WP7 = 0xd;
|
||||
OS_ONKYO = 0xe;
|
||||
OS_PHILIPS = 0xf;
|
||||
OS_WD = 0x10;
|
||||
OS_VOLVO = 0x11;
|
||||
OS_TIVO = 0x12;
|
||||
OS_AWOX = 0x13;
|
||||
OS_MEEGO = 0x14;
|
||||
OS_QNXNTO = 0x15;
|
||||
OS_BCO = 0x16;
|
||||
}
|
||||
|
||||
enum AuthenticationType {
|
||||
AUTHENTICATION_USER_PASS = 0x0;
|
||||
AUTHENTICATION_STORED_SPOTIFY_CREDENTIALS = 0x1;
|
||||
AUTHENTICATION_STORED_FACEBOOK_CREDENTIALS = 0x2;
|
||||
AUTHENTICATION_SPOTIFY_TOKEN = 0x3;
|
||||
AUTHENTICATION_FACEBOOK_TOKEN = 0x4;
|
||||
}
|
||||
|
||||
message SystemInfo {
|
||||
required CpuFamily cpu_family = 0xa;
|
||||
required Os os = 0x3c;
|
||||
optional string system_information_string = 0x5a;
|
||||
optional string device_id = 0x64;
|
||||
}
|
||||
|
||||
message LoginCredentials {
|
||||
optional string username = 0xa;
|
||||
required AuthenticationType typ = 0x14;
|
||||
optional bytes auth_data = 0x1e;
|
||||
}
|
||||
|
||||
message ClientResponseEncrypted {
|
||||
required LoginCredentials login_credentials = 0xa;
|
||||
required SystemInfo system_info = 0x32;
|
||||
optional string version_string = 0x46;
|
||||
}
|
||||
6
components/spotify/cspot/protobuf/keyexchange.options
Normal file
6
components/spotify/cspot/protobuf/keyexchange.options
Normal file
@@ -0,0 +1,6 @@
|
||||
LoginCryptoDiffieHellmanHello.gc max_size:96, fixed_length:true
|
||||
LoginCryptoDiffieHellmanChallenge.gs max_size:96, fixed_length:true
|
||||
LoginCryptoDiffieHellmanResponse.hmac max_size:20, fixed_length:true
|
||||
ClientHello.cryptosuites_supported max_count:1, fixed_count:true
|
||||
ClientHello.client_nonce max_size:16, fixed_length:true
|
||||
ClientHello.padding max_size:1, fixed_length:true
|
||||
102
components/spotify/cspot/protobuf/keyexchange.proto
Normal file
102
components/spotify/cspot/protobuf/keyexchange.proto
Normal file
@@ -0,0 +1,102 @@
|
||||
message LoginCryptoDiffieHellmanChallenge {
|
||||
required bytes gs = 0xa;
|
||||
}
|
||||
|
||||
message LoginCryptoChallengeUnion {
|
||||
optional LoginCryptoDiffieHellmanChallenge diffie_hellman = 0xa;
|
||||
}
|
||||
|
||||
enum Product {
|
||||
PRODUCT_CLIENT = 0x0;
|
||||
PRODUCT_LIBSPOTIFY= 0x1;
|
||||
PRODUCT_MOBILE = 0x2;
|
||||
PRODUCT_PARTNER = 0x3;
|
||||
PRODUCT_LIBSPOTIFY_EMBEDDED = 0x5;
|
||||
}
|
||||
|
||||
message LoginCryptoDiffieHellmanHello {
|
||||
required bytes gc = 0xa;
|
||||
required uint32 server_keys_known = 0x14;
|
||||
}
|
||||
|
||||
message LoginCryptoHelloUnion {
|
||||
optional LoginCryptoDiffieHellmanHello diffie_hellman = 0xa;
|
||||
}
|
||||
|
||||
|
||||
enum Platform2 {
|
||||
PLATFORM_WIN32_X86 = 0x0;
|
||||
PLATFORM_OSX_X86 = 0x1;
|
||||
PLATFORM_LINUX_X86 = 0x2;
|
||||
PLATFORM_IPHONE_ARM = 0x3;
|
||||
PLATFORM_S60_ARM = 0x4;
|
||||
PLATFORM_OSX_PPC = 0x5;
|
||||
PLATFORM_ANDROID_ARM = 0x6;
|
||||
PLATFORM_WINDOWS_CE_ARM = 0x7;
|
||||
PLATFORM_LINUX_X86_64 = 0x8;
|
||||
PLATFORM_OSX_X86_64 = 0x9;
|
||||
PLATFORM_PALM_ARM = 0xa;
|
||||
PLATFORM_LINUX_SH = 0xb;
|
||||
PLATFORM_FREEBSD_X86 = 0xc;
|
||||
PLATFORM_FREEBSD_X86_64 = 0xd;
|
||||
PLATFORM_BLACKBERRY_ARM = 0xe;
|
||||
PLATFORM_SONOS = 0xf;
|
||||
PLATFORM_LINUX_MIPS = 0x10;
|
||||
PLATFORM_LINUX_ARM = 0x11;
|
||||
PLATFORM_LOGITECH_ARM = 0x12;
|
||||
PLATFORM_LINUX_BLACKFIN = 0x13;
|
||||
PLATFORM_WP7_ARM = 0x14;
|
||||
PLATFORM_ONKYO_ARM = 0x15;
|
||||
PLATFORM_QNXNTO_ARM = 0x16;
|
||||
PLATFORM_BCO_ARM = 0x17;
|
||||
}
|
||||
|
||||
enum Cryptosuite {
|
||||
CRYPTO_SUITE_SHANNON = 0x0;
|
||||
CRYPTO_SUITE_RC4_SHA1_HMAC = 0x1;
|
||||
}
|
||||
|
||||
message BuildInfo {
|
||||
required Product product = 0xa;
|
||||
required Platform2 platform = 0x1e;
|
||||
required uint64 version = 0x28;
|
||||
}
|
||||
|
||||
message FeatureSet {
|
||||
optional bool autoupdate2 = 0x1;
|
||||
}
|
||||
|
||||
message APChallenge {
|
||||
required LoginCryptoChallengeUnion login_crypto_challenge = 0xa;
|
||||
}
|
||||
|
||||
message APResponseMessage {
|
||||
optional APChallenge challenge = 0xa;
|
||||
}
|
||||
|
||||
message LoginCryptoDiffieHellmanResponse {
|
||||
required bytes hmac = 0xa;
|
||||
}
|
||||
|
||||
message LoginCryptoResponseUnion {
|
||||
optional LoginCryptoDiffieHellmanResponse diffie_hellman = 0xa;
|
||||
}
|
||||
message CryptoResponseUnion {
|
||||
}
|
||||
message PoWResponseUnion {
|
||||
}
|
||||
|
||||
message ClientResponsePlaintext {
|
||||
required LoginCryptoResponseUnion login_crypto_response = 0xa;
|
||||
required PoWResponseUnion pow_response = 0x14;
|
||||
required CryptoResponseUnion crypto_response = 0x1e;
|
||||
}
|
||||
|
||||
message ClientHello {
|
||||
required BuildInfo build_info = 0xa;
|
||||
required LoginCryptoHelloUnion login_crypto_hello = 0x32;
|
||||
repeated Cryptosuite cryptosuites_supported = 0x1e;
|
||||
required bytes client_nonce = 0x3c;
|
||||
optional bytes padding = 0x46;
|
||||
optional FeatureSet feature_set = 0x50;
|
||||
}
|
||||
2
components/spotify/cspot/protobuf/mercury.options
Normal file
2
components/spotify/cspot/protobuf/mercury.options
Normal file
@@ -0,0 +1,2 @@
|
||||
Header.uri type:FT_POINTER
|
||||
Header.method type:FT_POINTER
|
||||
4
components/spotify/cspot/protobuf/mercury.proto
Normal file
4
components/spotify/cspot/protobuf/mercury.proto
Normal file
@@ -0,0 +1,4 @@
|
||||
message Header {
|
||||
optional string uri = 0x01;
|
||||
optional string method = 0x03;
|
||||
}
|
||||
17
components/spotify/cspot/protobuf/metadata.options
Normal file
17
components/spotify/cspot/protobuf/metadata.options
Normal file
@@ -0,0 +1,17 @@
|
||||
Track.name type:FT_POINTER
|
||||
Track.gid type:FT_POINTER
|
||||
Track.restriction type:FT_POINTER
|
||||
Track.alternative type:FT_POINTER
|
||||
Track.file type:FT_POINTER
|
||||
Track.artist type:FT_POINTER
|
||||
AudioFile.file_id type:FT_POINTER
|
||||
Image.file_id type:FT_POINTER
|
||||
Artist.gid type:FT_POINTER
|
||||
Artist.name type:FT_POINTER
|
||||
Album.name type:FT_POINTER
|
||||
Episode.gid type:FT_POINTER
|
||||
Episode.name type:FT_POINTER
|
||||
ImageGroup.image type:FT_POINTER
|
||||
Episode.audio type:FT_POINTER
|
||||
Restriction.countries_allowed type:FT_POINTER
|
||||
Restriction.countries_forbidden type:FT_POINTER
|
||||
61
components/spotify/cspot/protobuf/metadata.proto
Normal file
61
components/spotify/cspot/protobuf/metadata.proto
Normal file
@@ -0,0 +1,61 @@
|
||||
syntax = "proto2";
|
||||
|
||||
message AudioFile {
|
||||
optional bytes file_id = 1;
|
||||
optional AudioFormat format = 2;
|
||||
}
|
||||
|
||||
message Restriction {
|
||||
optional string countries_allowed = 0x2;
|
||||
optional string countries_forbidden = 0x3;
|
||||
}
|
||||
|
||||
message Image {
|
||||
optional bytes file_id = 0x1;
|
||||
}
|
||||
|
||||
message ImageGroup {
|
||||
repeated Image image = 0x1;
|
||||
}
|
||||
|
||||
message Album {
|
||||
optional bytes gid = 0x1;
|
||||
optional string name = 0x2;
|
||||
optional ImageGroup cover_group = 0x11;
|
||||
}
|
||||
|
||||
message Artist {
|
||||
optional bytes gid = 0x1;
|
||||
optional string name = 0x2;
|
||||
}
|
||||
|
||||
message Track {
|
||||
optional bytes gid = 1;
|
||||
optional string name = 2;
|
||||
optional sint32 duration = 0x7;
|
||||
optional Album album = 0x3;
|
||||
repeated Artist artist = 0x4;
|
||||
repeated Restriction restriction = 0xb;
|
||||
repeated AudioFile file = 0xc;
|
||||
repeated Track alternative = 0xd;
|
||||
}
|
||||
|
||||
message Episode {
|
||||
optional bytes gid = 1;
|
||||
optional string name = 2;
|
||||
optional sint32 duration = 7;
|
||||
repeated AudioFile audio = 12;
|
||||
}
|
||||
|
||||
enum AudioFormat {
|
||||
OGG_VORBIS_96 = 0;
|
||||
OGG_VORBIS_160 = 1;
|
||||
OGG_VORBIS_320 = 2;
|
||||
MP3_256 = 3;
|
||||
MP3_320 = 4;
|
||||
MP3_160 = 5;
|
||||
MP3_96 = 6;
|
||||
MP3_160_ENC = 7;
|
||||
AAC_24 = 8;
|
||||
AAC_48 = 9;
|
||||
}
|
||||
13
components/spotify/cspot/protobuf/spirc.options
Normal file
13
components/spotify/cspot/protobuf/spirc.options
Normal file
@@ -0,0 +1,13 @@
|
||||
Frame.ident type:FT_POINTER
|
||||
Frame.protocol_version type:FT_POINTER
|
||||
Frame.recipient type:FT_POINTER
|
||||
Capability.stringValue max_count:50, max_size: 50
|
||||
Capability.intValue max_count:50
|
||||
DeviceState.sw_version type:FT_POINTER
|
||||
DeviceState.name type:FT_POINTER
|
||||
DeviceState.capabilities max_count:17, fixed_count:false
|
||||
State.context_uri type:FT_POINTER
|
||||
State.track max_count:100, fixed_count:false
|
||||
TrackRef.gid type:FT_POINTER
|
||||
TrackRef.uri type:FT_POINTER
|
||||
TrackRef.context type:FT_POINTER
|
||||
94
components/spotify/cspot/protobuf/spirc.proto
Normal file
94
components/spotify/cspot/protobuf/spirc.proto
Normal file
@@ -0,0 +1,94 @@
|
||||
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;
|
||||
}
|
||||
|
||||
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 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 uint32 playing_track_index = 0x1a;
|
||||
repeated TrackRef track = 0x1b;
|
||||
}
|
||||
|
||||
enum CapabilityType {
|
||||
kSupportedContexts = 0x1;
|
||||
kCanBePlayer = 0x2;
|
||||
kRestrictToLocal = 0x3;
|
||||
kDeviceType = 0x4;
|
||||
kGaiaEqConnectId = 0x5;
|
||||
kSupportsLogout = 0x6;
|
||||
kIsObservable = 0x7;
|
||||
kVolumeSteps = 0x8;
|
||||
kSupportedTypes = 0x9;
|
||||
kCommandAcks = 0xa;
|
||||
}
|
||||
|
||||
message Capability {
|
||||
optional CapabilityType typ = 0x1;
|
||||
repeated int64 intValue = 0x2;
|
||||
repeated string stringValue = 0x3;
|
||||
}
|
||||
|
||||
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;
|
||||
repeated string local_uris = 0x12;
|
||||
}
|
||||
|
||||
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 State state = 0xc;
|
||||
optional uint32 position = 0xd;
|
||||
optional uint32 volume = 0xe;
|
||||
optional int64 state_update_id = 0x11;
|
||||
repeated string recipient = 0x12;
|
||||
}
|
||||
Reference in New Issue
Block a user