librespot/protocol/proto/media_manifest.proto
2024-12-16 22:57:12 +01:00

63 lines
1.2 KiB
Protocol Buffer

// Extracted from: Spotify 1.2.52.442 (windows)
syntax = "proto3";
package spotify.media_manifest.proto;
option optimize_for = CODE_SIZE;
message AudioFile {
enum Format {
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;
FLAC_FLAC = 16;
}
}
message File {
message ExternalFile {
string method = 1;
bytes body = 4;
oneof endpoint {
string url = 2;
string service = 3;
}
optional bool disable_range_requests = 5;
}
message FileIdFile {
string file_id_hex = 1;
AudioFile.Format download_format = 2;
EncryptionType encryption = 3;
}
message NormalizationParams {
float loudness_db = 1;
float true_peak_db = 2;
}
int32 bitrate = 3;
string mime_type = 4;
oneof file {
ExternalFile external_file = 1;
FileIdFile file_id_file = 2;
}
optional NormalizationParams normalization_params = 5;
}
message Files {
repeated File files = 1;
}
enum EncryptionType {
NONE = 0;
AES = 1;
}