mirror of
https://github.com/librespot-org/librespot.git
synced 2024-12-18 17:11:53 +00:00
Merge branch 'new-api' into new-api-client
This commit is contained in:
commit
9082ffa308
396 changed files with 10952 additions and 926 deletions
|
@ -359,7 +359,7 @@ impl Metadata for Episode {
|
||||||
let country = session.country();
|
let country = session.country();
|
||||||
|
|
||||||
let files = msg
|
let files = msg
|
||||||
.get_file()
|
.get_audio()
|
||||||
.iter()
|
.iter()
|
||||||
.filter(|file| file.has_file_id())
|
.filter(|file| file.has_file_id())
|
||||||
.map(|file| {
|
.map(|file| {
|
||||||
|
@ -370,7 +370,7 @@ impl Metadata for Episode {
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
let covers = msg
|
let covers = msg
|
||||||
.get_covers()
|
.get_cover_image()
|
||||||
.get_image()
|
.get_image()
|
||||||
.iter()
|
.iter()
|
||||||
.filter(|image| image.has_file_id())
|
.filter(|image| image.has_file_id())
|
||||||
|
@ -412,7 +412,7 @@ impl Metadata for Show {
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
|
|
||||||
let covers = msg
|
let covers = msg
|
||||||
.get_covers()
|
.get_cover_image()
|
||||||
.get_image()
|
.get_image()
|
||||||
.iter()
|
.iter()
|
||||||
.filter(|image| image.has_file_id())
|
.filter(|image| image.has_file_id())
|
||||||
|
|
|
@ -652,12 +652,9 @@ impl PlayerTrackLoader {
|
||||||
FileFormat::MP3_160 => 20 * 1024,
|
FileFormat::MP3_160 => 20 * 1024,
|
||||||
FileFormat::MP3_96 => 12 * 1024,
|
FileFormat::MP3_96 => 12 * 1024,
|
||||||
FileFormat::MP3_160_ENC => 20 * 1024,
|
FileFormat::MP3_160_ENC => 20 * 1024,
|
||||||
FileFormat::MP4_128_DUAL => 16 * 1024,
|
FileFormat::AAC_24 => 3 * 1024,
|
||||||
FileFormat::OTHER3 => 40 * 1024, // better some high guess than nothing
|
FileFormat::AAC_48 => 6 * 1024,
|
||||||
FileFormat::AAC_160 => 20 * 1024,
|
FileFormat::FLAC_FLAC => 112 * 1024, // assume 900 kbps on average
|
||||||
FileFormat::AAC_320 => 40 * 1024,
|
|
||||||
FileFormat::MP4_128 => 16 * 1024,
|
|
||||||
FileFormat::OTHER5 => 40 * 1024, // better some high guess than nothing
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,10 +16,11 @@ fn compile() {
|
||||||
let proto_dir = Path::new(&env::var("CARGO_MANIFEST_DIR").expect("env")).join("proto");
|
let proto_dir = Path::new(&env::var("CARGO_MANIFEST_DIR").expect("env")).join("proto");
|
||||||
|
|
||||||
let files = &[
|
let files = &[
|
||||||
|
proto_dir.join("metadata.proto"),
|
||||||
|
// TODO: remove these legacy protobufs when we are on the new API completely
|
||||||
proto_dir.join("authentication.proto"),
|
proto_dir.join("authentication.proto"),
|
||||||
proto_dir.join("keyexchange.proto"),
|
proto_dir.join("keyexchange.proto"),
|
||||||
proto_dir.join("mercury.proto"),
|
proto_dir.join("mercury.proto"),
|
||||||
proto_dir.join("metadata.proto"),
|
|
||||||
proto_dir.join("playlist4changes.proto"),
|
proto_dir.join("playlist4changes.proto"),
|
||||||
proto_dir.join("playlist4content.proto"),
|
proto_dir.join("playlist4content.proto"),
|
||||||
proto_dir.join("playlist4issues.proto"),
|
proto_dir.join("playlist4issues.proto"),
|
||||||
|
|
13
protocol/proto/AdDecisionEvent.proto
Normal file
13
protocol/proto/AdDecisionEvent.proto
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message AdDecisionEvent {
|
||||||
|
optional string request_id = 1;
|
||||||
|
optional string decision_request_id = 2;
|
||||||
|
optional string decision_type = 3;
|
||||||
|
}
|
15
protocol/proto/AdError.proto
Normal file
15
protocol/proto/AdError.proto
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message AdError {
|
||||||
|
optional string request_type = 1;
|
||||||
|
optional string error_message = 2;
|
||||||
|
optional int64 http_error_code = 3;
|
||||||
|
optional string request_url = 4;
|
||||||
|
optional string tracking_event = 5;
|
||||||
|
}
|
27
protocol/proto/AdEvent.proto
Normal file
27
protocol/proto/AdEvent.proto
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message AdEvent {
|
||||||
|
optional string request_id = 1;
|
||||||
|
optional string app_startup_id = 2;
|
||||||
|
optional string ad_id = 3;
|
||||||
|
optional string lineitem_id = 4;
|
||||||
|
optional string creative_id = 5;
|
||||||
|
optional string slot = 6;
|
||||||
|
optional string format = 7;
|
||||||
|
optional string type = 8;
|
||||||
|
optional bool skippable = 9;
|
||||||
|
optional string event = 10;
|
||||||
|
optional string event_source = 11;
|
||||||
|
optional string event_reason = 12;
|
||||||
|
optional int32 event_sequence_num = 13;
|
||||||
|
optional int32 position = 14;
|
||||||
|
optional int32 duration = 15;
|
||||||
|
optional bool in_focus = 16;
|
||||||
|
optional float volume = 17;
|
||||||
|
}
|
14
protocol/proto/AdRequestEvent.proto
Normal file
14
protocol/proto/AdRequestEvent.proto
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message AdRequestEvent {
|
||||||
|
optional string feature_identifier = 1;
|
||||||
|
optional string requested_ad_type = 2;
|
||||||
|
optional int64 latency_ms = 3;
|
||||||
|
repeated string requested_ad_types = 4;
|
||||||
|
}
|
19
protocol/proto/AdSlotEvent.proto
Normal file
19
protocol/proto/AdSlotEvent.proto
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message AdSlotEvent {
|
||||||
|
optional string event = 1;
|
||||||
|
optional string ad_id = 2;
|
||||||
|
optional string lineitem_id = 3;
|
||||||
|
optional string creative_id = 4;
|
||||||
|
optional string slot = 5;
|
||||||
|
optional string format = 6;
|
||||||
|
optional bool in_focus = 7;
|
||||||
|
optional string app_startup_id = 8;
|
||||||
|
optional string request_id = 9;
|
||||||
|
}
|
11
protocol/proto/AmazonWakeUpTime.proto
Normal file
11
protocol/proto/AmazonWakeUpTime.proto
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message AmazonWakeUpTime {
|
||||||
|
optional int64 delay_to_online = 1;
|
||||||
|
}
|
14
protocol/proto/AudioDriverError.proto
Normal file
14
protocol/proto/AudioDriverError.proto
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message AudioDriverError {
|
||||||
|
optional int64 error_code = 1;
|
||||||
|
optional string location = 2;
|
||||||
|
optional string driver_name = 3;
|
||||||
|
optional string additional_data = 4;
|
||||||
|
}
|
14
protocol/proto/AudioDriverInfo.proto
Normal file
14
protocol/proto/AudioDriverInfo.proto
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message AudioDriverInfo {
|
||||||
|
optional string driver_name = 1;
|
||||||
|
optional string output_device_name = 2;
|
||||||
|
optional string output_device_category = 3;
|
||||||
|
optional string reason = 4;
|
||||||
|
}
|
16
protocol/proto/AudioFileSelection.proto
Normal file
16
protocol/proto/AudioFileSelection.proto
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message AudioFileSelection {
|
||||||
|
optional bytes playback_id = 1;
|
||||||
|
optional string strategy_name = 2;
|
||||||
|
optional int64 bitrate = 3;
|
||||||
|
optional bytes predict_id = 4;
|
||||||
|
optional string file_origin = 5;
|
||||||
|
optional int32 target_bitrate = 6;
|
||||||
|
}
|
15
protocol/proto/AudioOffliningSettingsReport.proto
Normal file
15
protocol/proto/AudioOffliningSettingsReport.proto
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message AudioOffliningSettingsReport {
|
||||||
|
optional string default_sync_bitrate_product_state = 1;
|
||||||
|
optional int64 user_selected_sync_bitrate = 2;
|
||||||
|
optional int64 sync_bitrate = 3;
|
||||||
|
optional bool sync_over_cellular = 4;
|
||||||
|
optional string primary_resource_type = 5;
|
||||||
|
}
|
18
protocol/proto/AudioRateLimit.proto
Normal file
18
protocol/proto/AudioRateLimit.proto
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message AudioRateLimit {
|
||||||
|
optional string driver_name = 1;
|
||||||
|
optional string output_device_name = 2;
|
||||||
|
optional string output_device_category = 3;
|
||||||
|
optional int64 max_size = 4;
|
||||||
|
optional int64 refill_per_milliseconds = 5;
|
||||||
|
optional int64 frames_requested = 6;
|
||||||
|
optional int64 frames_acquired = 7;
|
||||||
|
optional bytes playback_id = 8;
|
||||||
|
}
|
13
protocol/proto/AudioSessionEvent.proto
Normal file
13
protocol/proto/AudioSessionEvent.proto
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message AudioSessionEvent {
|
||||||
|
optional string event = 1;
|
||||||
|
optional string context = 2;
|
||||||
|
optional string json_data = 3;
|
||||||
|
}
|
30
protocol/proto/AudioSettingsReport.proto
Normal file
30
protocol/proto/AudioSettingsReport.proto
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message AudioSettingsReport {
|
||||||
|
optional bool offline_mode = 1;
|
||||||
|
optional string default_play_bitrate_product_state = 2;
|
||||||
|
optional int64 user_selected_bitrate = 3;
|
||||||
|
optional int64 play_bitrate = 4;
|
||||||
|
optional bool low_bitrate_on_cellular = 5;
|
||||||
|
optional string default_sync_bitrate_product_state = 6;
|
||||||
|
optional int64 user_selected_sync_bitrate = 7;
|
||||||
|
optional int64 sync_bitrate = 8;
|
||||||
|
optional bool sync_over_cellular = 9;
|
||||||
|
optional string enable_gapless_product_state = 10;
|
||||||
|
optional bool enable_gapless = 11;
|
||||||
|
optional string enable_crossfade_product_state = 12;
|
||||||
|
optional bool enable_crossfade = 13;
|
||||||
|
optional int64 crossfade_time = 14;
|
||||||
|
optional bool enable_normalization = 15;
|
||||||
|
optional int64 playback_speed = 16;
|
||||||
|
optional string audio_loudness_level = 17;
|
||||||
|
optional bool enable_automix = 18;
|
||||||
|
optional bool enable_silence_trimmer = 19;
|
||||||
|
optional bool enable_mono_downmixer = 20;
|
||||||
|
}
|
16
protocol/proto/AudioStreamingSettingsReport.proto
Normal file
16
protocol/proto/AudioStreamingSettingsReport.proto
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message AudioStreamingSettingsReport {
|
||||||
|
optional string default_play_bitrate_product_state = 1;
|
||||||
|
optional int64 user_selected_play_bitrate_cellular = 2;
|
||||||
|
optional int64 user_selected_play_bitrate_wifi = 3;
|
||||||
|
optional int64 play_bitrate_cellular = 4;
|
||||||
|
optional int64 play_bitrate_wifi = 5;
|
||||||
|
optional bool allow_downgrade = 6;
|
||||||
|
}
|
18
protocol/proto/BoomboxPlaybackInstrumentation.proto
Normal file
18
protocol/proto/BoomboxPlaybackInstrumentation.proto
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message BoomboxPlaybackInstrumentation {
|
||||||
|
optional bytes playback_id = 1;
|
||||||
|
optional bool was_playback_paused = 2;
|
||||||
|
repeated string dimensions = 3;
|
||||||
|
map<string, int64> total_buffer_size = 4;
|
||||||
|
map<string, int64> number_of_calls = 5;
|
||||||
|
map<string, int64> total_duration = 6;
|
||||||
|
map<string, int64> first_call_time = 7;
|
||||||
|
map<string, int64> last_call_time = 8;
|
||||||
|
}
|
14
protocol/proto/BrokenObject.proto
Normal file
14
protocol/proto/BrokenObject.proto
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message BrokenObject {
|
||||||
|
optional string type = 1;
|
||||||
|
optional string id = 2;
|
||||||
|
optional int64 error_code = 3;
|
||||||
|
optional bytes playback_id = 4;
|
||||||
|
}
|
16
protocol/proto/CacheError.proto
Normal file
16
protocol/proto/CacheError.proto
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message CacheError {
|
||||||
|
optional int64 error_code = 1;
|
||||||
|
optional int64 os_error_code = 2;
|
||||||
|
optional string realm = 3;
|
||||||
|
optional bytes file_id = 4;
|
||||||
|
optional int64 num_errors = 5;
|
||||||
|
optional string cache_path = 6;
|
||||||
|
}
|
25
protocol/proto/CachePruningReport.proto
Normal file
25
protocol/proto/CachePruningReport.proto
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message CachePruningReport {
|
||||||
|
optional bytes cache_id = 1;
|
||||||
|
optional int64 time_spent_pruning_ms = 2;
|
||||||
|
optional int64 size_before_prune_kb = 3;
|
||||||
|
optional int64 size_after_prune_kb = 4;
|
||||||
|
optional int64 num_entries_pruned = 5;
|
||||||
|
optional int64 num_entries_pruned_expired = 6;
|
||||||
|
optional int64 size_entries_pruned_expired_kb = 7;
|
||||||
|
optional int64 num_entries_pruned_limit = 8;
|
||||||
|
optional int64 size_pruned_limit_kb = 9;
|
||||||
|
optional int64 num_entries_pruned_never_used = 10;
|
||||||
|
optional int64 size_pruned_never_used_kb = 11;
|
||||||
|
optional int64 num_entries_pruned_max_realm_size = 12;
|
||||||
|
optional int64 size_pruned_max_realm_size_kb = 13;
|
||||||
|
optional int64 num_entries_pruned_min_free_space = 14;
|
||||||
|
optional int64 size_pruned_min_free_space_kb = 15;
|
||||||
|
}
|
23
protocol/proto/CacheRealmPruningReport.proto
Normal file
23
protocol/proto/CacheRealmPruningReport.proto
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message CacheRealmPruningReport {
|
||||||
|
optional bytes cache_id = 1;
|
||||||
|
optional int64 realm_id = 2;
|
||||||
|
optional int64 num_entries_pruned = 3;
|
||||||
|
optional int64 num_entries_pruned_expired = 4;
|
||||||
|
optional int64 size_entries_pruned_expired_kb = 5;
|
||||||
|
optional int64 num_entries_pruned_limit = 6;
|
||||||
|
optional int64 size_pruned_limit_kb = 7;
|
||||||
|
optional int64 num_entries_pruned_never_used = 8;
|
||||||
|
optional int64 size_pruned_never_used_kb = 9;
|
||||||
|
optional int64 num_entries_pruned_max_realm_size = 10;
|
||||||
|
optional int64 size_pruned_max_realm_size_kb = 11;
|
||||||
|
optional int64 num_entries_pruned_min_free_space = 12;
|
||||||
|
optional int64 size_pruned_min_free_space_kb = 13;
|
||||||
|
}
|
18
protocol/proto/CacheRealmReport.proto
Normal file
18
protocol/proto/CacheRealmReport.proto
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message CacheRealmReport {
|
||||||
|
optional bytes cache_id = 1;
|
||||||
|
optional int64 realm_id = 2;
|
||||||
|
optional int64 num_entries = 3;
|
||||||
|
optional int64 num_locked_entries = 4;
|
||||||
|
optional int64 num_locked_entries_current_user = 5;
|
||||||
|
optional int64 num_full_entries = 6;
|
||||||
|
optional int64 size_kb = 7;
|
||||||
|
optional int64 locked_size_kb = 8;
|
||||||
|
}
|
30
protocol/proto/CacheReport.proto
Normal file
30
protocol/proto/CacheReport.proto
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message CacheReport {
|
||||||
|
optional bytes cache_id = 1;
|
||||||
|
optional int64 max_cache_size = 2;
|
||||||
|
optional int64 free_space = 3;
|
||||||
|
optional int64 total_space = 4;
|
||||||
|
optional int64 cache_age = 5;
|
||||||
|
optional int64 num_users_with_locked_entries = 6;
|
||||||
|
optional int64 permanent_files = 7;
|
||||||
|
optional int64 permanent_size_kb = 8;
|
||||||
|
optional int64 unknown_permanent_files = 9;
|
||||||
|
optional int64 unknown_permanent_size_kb = 10;
|
||||||
|
optional int64 volatile_files = 11;
|
||||||
|
optional int64 volatile_size_kb = 12;
|
||||||
|
optional int64 unknown_volatile_files = 13;
|
||||||
|
optional int64 unknown_volatile_size_kb = 14;
|
||||||
|
optional int64 num_entries = 15;
|
||||||
|
optional int64 num_locked_entries = 16;
|
||||||
|
optional int64 num_locked_entries_current_user = 17;
|
||||||
|
optional int64 num_full_entries = 18;
|
||||||
|
optional int64 size_kb = 19;
|
||||||
|
optional int64 locked_size_kb = 20;
|
||||||
|
}
|
12
protocol/proto/ClientLocale.proto
Normal file
12
protocol/proto/ClientLocale.proto
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message ClientLocale {
|
||||||
|
optional string client_default_locale = 1;
|
||||||
|
optional string user_specified_locale = 2;
|
||||||
|
}
|
19
protocol/proto/ColdStartupSequence.proto
Normal file
19
protocol/proto/ColdStartupSequence.proto
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message ColdStartupSequence {
|
||||||
|
optional string terminal_state = 1;
|
||||||
|
map<string, int64> steps = 2;
|
||||||
|
map<string, string> metadata = 3;
|
||||||
|
optional string connection_type = 4;
|
||||||
|
optional string initial_application_state = 5;
|
||||||
|
optional string terminal_application_state = 6;
|
||||||
|
optional string view_load_sequence_id = 7;
|
||||||
|
optional int32 device_year_class = 8;
|
||||||
|
map<string, int64> subdurations = 9;
|
||||||
|
}
|
16
protocol/proto/CollectionLevelDbInfo.proto
Normal file
16
protocol/proto/CollectionLevelDbInfo.proto
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message CollectionLevelDbInfo {
|
||||||
|
optional string bucket = 1;
|
||||||
|
optional bool use_leveldb = 2;
|
||||||
|
optional bool migration_from_file_ok = 3;
|
||||||
|
optional bool index_check_ok = 4;
|
||||||
|
optional bool leveldb_works = 5;
|
||||||
|
optional bool already_migrated = 6;
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message CollectionOfflineControllerEmptyTrackList {
|
||||||
|
optional string link_type = 1;
|
||||||
|
optional bool consistent_with_collection = 2;
|
||||||
|
optional int64 collection_size = 3;
|
||||||
|
}
|
18
protocol/proto/ConfigurationApplied.proto
Normal file
18
protocol/proto/ConfigurationApplied.proto
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message ConfigurationApplied {
|
||||||
|
optional int64 last_rcs_fetch_time = 1;
|
||||||
|
optional string installation_id = 2;
|
||||||
|
repeated int32 policy_group_ids = 3;
|
||||||
|
optional string configuration_assignment_id = 4;
|
||||||
|
optional string rc_client_id = 5;
|
||||||
|
optional string rc_client_version = 6;
|
||||||
|
optional string platform = 7;
|
||||||
|
optional string fetch_type = 8;
|
||||||
|
}
|
31
protocol/proto/ConfigurationFetched.proto
Normal file
31
protocol/proto/ConfigurationFetched.proto
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message ConfigurationFetched {
|
||||||
|
optional int64 last_rcs_fetch_time = 1;
|
||||||
|
optional string installation_id = 2;
|
||||||
|
optional string configuration_assignment_id = 3;
|
||||||
|
optional string property_set_id = 4;
|
||||||
|
optional string attributes_set_id = 5;
|
||||||
|
optional string rc_client_id = 6;
|
||||||
|
optional string rc_client_version = 7;
|
||||||
|
optional string rc_sdk_version = 8;
|
||||||
|
optional string platform = 9;
|
||||||
|
optional string fetch_type = 10;
|
||||||
|
optional int64 latency = 11;
|
||||||
|
optional int64 payload_size = 12;
|
||||||
|
optional int32 status_code = 13;
|
||||||
|
optional string error_reason = 14;
|
||||||
|
optional string error_message = 15;
|
||||||
|
optional string error_reason_configuration_resolve = 16;
|
||||||
|
optional string error_message_configuration_resolve = 17;
|
||||||
|
optional string error_reason_account_attributes = 18;
|
||||||
|
optional string error_message_account_attributes = 19;
|
||||||
|
optional int32 error_code_account_attributes = 20;
|
||||||
|
optional int32 error_code_configuration_resolve = 21;
|
||||||
|
}
|
31
protocol/proto/ConfigurationFetchedNonAuth.proto
Normal file
31
protocol/proto/ConfigurationFetchedNonAuth.proto
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message ConfigurationFetchedNonAuth {
|
||||||
|
optional int64 last_rcs_fetch_time = 1;
|
||||||
|
optional string installation_id = 2;
|
||||||
|
optional string configuration_assignment_id = 3;
|
||||||
|
optional string property_set_id = 4;
|
||||||
|
optional string attributes_set_id = 5;
|
||||||
|
optional string rc_client_id = 6;
|
||||||
|
optional string rc_client_version = 7;
|
||||||
|
optional string rc_sdk_version = 8;
|
||||||
|
optional string platform = 9;
|
||||||
|
optional string fetch_type = 10;
|
||||||
|
optional int64 latency = 11;
|
||||||
|
optional int64 payload_size = 12;
|
||||||
|
optional int32 status_code = 13;
|
||||||
|
optional string error_reason = 14;
|
||||||
|
optional string error_message = 15;
|
||||||
|
optional string error_reason_configuration_resolve = 16;
|
||||||
|
optional string error_message_configuration_resolve = 17;
|
||||||
|
optional string error_reason_account_attributes = 18;
|
||||||
|
optional string error_message_account_attributes = 19;
|
||||||
|
optional int32 error_code_account_attributes = 20;
|
||||||
|
optional int32 error_code_configuration_resolve = 21;
|
||||||
|
}
|
12
protocol/proto/ConnectCredentialsRequest.proto
Normal file
12
protocol/proto/ConnectCredentialsRequest.proto
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message ConnectCredentialsRequest {
|
||||||
|
optional string token_type = 1;
|
||||||
|
optional string client_id = 2;
|
||||||
|
}
|
22
protocol/proto/ConnectDeviceDiscovered.proto
Normal file
22
protocol/proto/ConnectDeviceDiscovered.proto
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message ConnectDeviceDiscovered {
|
||||||
|
optional string device_id = 1;
|
||||||
|
optional string discover_method = 2;
|
||||||
|
optional string discovered_device_id = 3;
|
||||||
|
optional string discovered_device_type = 4;
|
||||||
|
optional string discovered_library_version = 5;
|
||||||
|
optional string discovered_brand_display_name = 6;
|
||||||
|
optional string discovered_model_display_name = 7;
|
||||||
|
optional string discovered_client_id = 8;
|
||||||
|
optional string discovered_product_id = 9;
|
||||||
|
optional string discovered_device_availablilty = 10;
|
||||||
|
optional string discovered_device_public_key = 11;
|
||||||
|
optional bool capabilities_resolved = 12;
|
||||||
|
}
|
15
protocol/proto/ConnectDialError.proto
Normal file
15
protocol/proto/ConnectDialError.proto
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message ConnectDialError {
|
||||||
|
optional string type = 1;
|
||||||
|
optional string request = 2;
|
||||||
|
optional string response = 3;
|
||||||
|
optional int64 error = 4;
|
||||||
|
optional string context = 5;
|
||||||
|
}
|
17
protocol/proto/ConnectMdnsPacketParseError.proto
Normal file
17
protocol/proto/ConnectMdnsPacketParseError.proto
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message ConnectMdnsPacketParseError {
|
||||||
|
optional string type = 1;
|
||||||
|
optional string buffer = 2;
|
||||||
|
optional string ttl = 3;
|
||||||
|
optional string txt = 4;
|
||||||
|
optional string host = 5;
|
||||||
|
optional string discovery_name = 6;
|
||||||
|
optional string context = 7;
|
||||||
|
}
|
13
protocol/proto/ConnectPullFailure.proto
Normal file
13
protocol/proto/ConnectPullFailure.proto
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message ConnectPullFailure {
|
||||||
|
optional bytes transfer_data = 1;
|
||||||
|
optional int64 error_code = 2;
|
||||||
|
map<string, string> reasons = 3;
|
||||||
|
}
|
29
protocol/proto/ConnectTransferResult.proto
Normal file
29
protocol/proto/ConnectTransferResult.proto
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message ConnectTransferResult {
|
||||||
|
optional string result = 1;
|
||||||
|
optional string device_type = 2;
|
||||||
|
optional string discovery_class = 3;
|
||||||
|
optional string device_model = 4;
|
||||||
|
optional string device_brand = 5;
|
||||||
|
optional string device_software_version = 6;
|
||||||
|
optional int64 duration = 7;
|
||||||
|
optional string device_client_id = 8;
|
||||||
|
optional string transfer_intent_id = 9;
|
||||||
|
optional string transfer_debug_log = 10;
|
||||||
|
optional string error_code = 11;
|
||||||
|
optional int32 http_response_code = 12;
|
||||||
|
optional string initial_device_state = 13;
|
||||||
|
optional int32 retry_count = 14;
|
||||||
|
optional int32 login_retry_count = 15;
|
||||||
|
optional int64 login_duration = 16;
|
||||||
|
optional string target_device_id = 17;
|
||||||
|
optional bool target_device_is_local = 18;
|
||||||
|
optional string final_device_state = 19;
|
||||||
|
}
|
13
protocol/proto/ConnectionError.proto
Normal file
13
protocol/proto/ConnectionError.proto
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message ConnectionError {
|
||||||
|
optional int64 error_code = 1;
|
||||||
|
optional string ap = 2;
|
||||||
|
optional string proxy = 3;
|
||||||
|
}
|
18
protocol/proto/ConnectionInfo.proto
Normal file
18
protocol/proto/ConnectionInfo.proto
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message ConnectionInfo {
|
||||||
|
optional string ap = 1;
|
||||||
|
optional string proxy = 2;
|
||||||
|
optional bool user_initated_login = 3;
|
||||||
|
optional string reachability_type = 4;
|
||||||
|
optional string web_installer_unique_id = 5;
|
||||||
|
optional string ap_resolve_source = 6;
|
||||||
|
optional string address_type = 7;
|
||||||
|
optional bool ipv6_failed = 8;
|
||||||
|
}
|
17
protocol/proto/DefaultConfigurationApplied.proto
Normal file
17
protocol/proto/DefaultConfigurationApplied.proto
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message DefaultConfigurationApplied {
|
||||||
|
optional string installation_id = 1;
|
||||||
|
optional string configuration_assignment_id = 2;
|
||||||
|
optional string rc_client_id = 3;
|
||||||
|
optional string rc_client_version = 4;
|
||||||
|
optional string platform = 5;
|
||||||
|
optional string fetch_type = 6;
|
||||||
|
optional string reason = 7;
|
||||||
|
}
|
13
protocol/proto/DesktopAuthenticationFailureNonAuth.proto
Normal file
13
protocol/proto/DesktopAuthenticationFailureNonAuth.proto
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message DesktopAuthenticationFailureNonAuth {
|
||||||
|
optional string action_hash = 1;
|
||||||
|
optional string error_category = 2;
|
||||||
|
optional int32 error_code = 3;
|
||||||
|
}
|
11
protocol/proto/DesktopAuthenticationSuccess.proto
Normal file
11
protocol/proto/DesktopAuthenticationSuccess.proto
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message DesktopAuthenticationSuccess {
|
||||||
|
optional string action_hash = 1;
|
||||||
|
}
|
11
protocol/proto/DesktopGPUAccelerationInfo.proto
Normal file
11
protocol/proto/DesktopGPUAccelerationInfo.proto
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message DesktopGPUAccelerationInfo {
|
||||||
|
optional bool is_enabled = 1;
|
||||||
|
}
|
19
protocol/proto/DesktopHighMemoryUsage.proto
Normal file
19
protocol/proto/DesktopHighMemoryUsage.proto
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message DesktopHighMemoryUsage {
|
||||||
|
optional bool is_continuation_event = 1;
|
||||||
|
optional double sample_time_interval_seconds = 2;
|
||||||
|
optional int64 win_committed_bytes = 3;
|
||||||
|
optional int64 win_peak_committed_bytes = 4;
|
||||||
|
optional int64 win_working_set_bytes = 5;
|
||||||
|
optional int64 win_peak_working_set_bytes = 6;
|
||||||
|
optional int64 mac_virtual_size_bytes = 7;
|
||||||
|
optional int64 mac_resident_size_bytes = 8;
|
||||||
|
optional int64 mac_footprint_bytes = 9;
|
||||||
|
}
|
15
protocol/proto/DesktopUpdateDownloadComplete.proto
Normal file
15
protocol/proto/DesktopUpdateDownloadComplete.proto
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message DesktopUpdateDownloadComplete {
|
||||||
|
optional int64 revision = 1;
|
||||||
|
optional bool is_critical = 2;
|
||||||
|
optional string source = 3;
|
||||||
|
optional bool is_successful = 4;
|
||||||
|
optional bool is_employee = 5;
|
||||||
|
}
|
15
protocol/proto/DesktopUpdateDownloadError.proto
Normal file
15
protocol/proto/DesktopUpdateDownloadError.proto
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message DesktopUpdateDownloadError {
|
||||||
|
optional int64 revision = 1;
|
||||||
|
optional bool is_critical = 2;
|
||||||
|
optional string error_message = 3;
|
||||||
|
optional string source = 4;
|
||||||
|
optional bool is_employee = 5;
|
||||||
|
}
|
18
protocol/proto/DesktopUpdateMessageAction.proto
Normal file
18
protocol/proto/DesktopUpdateMessageAction.proto
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message DesktopUpdateMessageAction {
|
||||||
|
optional bool will_download = 1;
|
||||||
|
optional int64 this_message_from_revision = 2;
|
||||||
|
optional int64 this_message_to_revision = 3;
|
||||||
|
optional bool is_critical = 4;
|
||||||
|
optional int64 already_downloaded_from_revision = 5;
|
||||||
|
optional int64 already_downloaded_to_revision = 6;
|
||||||
|
optional string source = 7;
|
||||||
|
optional bool is_employee = 8;
|
||||||
|
}
|
16
protocol/proto/DesktopUpdateMessageProcessed.proto
Normal file
16
protocol/proto/DesktopUpdateMessageProcessed.proto
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message DesktopUpdateMessageProcessed {
|
||||||
|
optional bool success = 1;
|
||||||
|
optional string source = 2;
|
||||||
|
optional int64 revision = 3;
|
||||||
|
optional bool is_critical = 4;
|
||||||
|
optional string binary_hash = 5;
|
||||||
|
optional bool is_employee = 6;
|
||||||
|
}
|
15
protocol/proto/DesktopUpdateResponse.proto
Normal file
15
protocol/proto/DesktopUpdateResponse.proto
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message DesktopUpdateResponse {
|
||||||
|
optional int64 status_code = 1;
|
||||||
|
optional int64 request_time_ms = 2;
|
||||||
|
optional int64 payload_size = 3;
|
||||||
|
optional bool is_employee = 4;
|
||||||
|
optional string error_message = 5;
|
||||||
|
}
|
53
protocol/proto/Download.proto
Normal file
53
protocol/proto/Download.proto
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message Download {
|
||||||
|
optional bytes file_id = 1;
|
||||||
|
optional bytes playback_id = 2;
|
||||||
|
optional int64 bytes_from_ap = 3;
|
||||||
|
optional int64 waste_from_ap = 4;
|
||||||
|
optional int64 reqs_from_ap = 5;
|
||||||
|
optional int64 error_from_ap = 6;
|
||||||
|
optional int64 bytes_from_cdn = 7;
|
||||||
|
optional int64 waste_from_cdn = 8;
|
||||||
|
optional int64 bytes_from_cache = 9;
|
||||||
|
optional int64 content_size = 10;
|
||||||
|
optional string content_type = 11;
|
||||||
|
optional int64 ap_initial_latency = 12;
|
||||||
|
optional int64 ap_max_latency = 13;
|
||||||
|
optional int64 ap_min_latency = 14;
|
||||||
|
optional double ap_avg_latency = 15;
|
||||||
|
optional int64 ap_median_latency = 16;
|
||||||
|
optional double ap_avg_bw = 17;
|
||||||
|
optional int64 cdn_initial_latency = 18;
|
||||||
|
optional int64 cdn_max_latency = 19;
|
||||||
|
optional int64 cdn_min_latency = 20;
|
||||||
|
optional double cdn_avg_latency = 21;
|
||||||
|
optional int64 cdn_median_latency = 22;
|
||||||
|
optional int64 cdn_64k_initial_latency = 23;
|
||||||
|
optional int64 cdn_64k_max_latency = 24;
|
||||||
|
optional int64 cdn_64k_min_latency = 25;
|
||||||
|
optional double cdn_64k_avg_latency = 26;
|
||||||
|
optional int64 cdn_64k_median_latency = 27;
|
||||||
|
optional double cdn_avg_bw = 28;
|
||||||
|
optional double cdn_initial_bw_estimate = 29;
|
||||||
|
optional string cdn_uri_scheme = 30;
|
||||||
|
optional string cdn_domain = 31;
|
||||||
|
optional string cdn_socket_reuse = 32;
|
||||||
|
optional int64 num_cache_error = 33;
|
||||||
|
optional int64 bytes_from_carrier = 34;
|
||||||
|
optional int64 bytes_from_unknown = 35;
|
||||||
|
optional int64 bytes_from_wifi = 36;
|
||||||
|
optional int64 bytes_from_ethernet = 37;
|
||||||
|
optional string request_type = 38;
|
||||||
|
optional int64 total_time = 39;
|
||||||
|
optional int64 bitrate = 40;
|
||||||
|
optional int64 reqs_from_cdn = 41;
|
||||||
|
optional int64 error_from_cdn = 42;
|
||||||
|
optional string file_origin = 43;
|
||||||
|
}
|
14
protocol/proto/DrmRequestFailure.proto
Normal file
14
protocol/proto/DrmRequestFailure.proto
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message DrmRequestFailure {
|
||||||
|
optional string reason = 1;
|
||||||
|
optional int64 error_code = 2;
|
||||||
|
optional bool fatal = 3;
|
||||||
|
optional bytes playback_id = 4;
|
||||||
|
}
|
34
protocol/proto/EndAd.proto
Normal file
34
protocol/proto/EndAd.proto
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message EndAd {
|
||||||
|
optional bytes file_id = 1;
|
||||||
|
optional bytes playback_id = 2;
|
||||||
|
optional bytes song_id = 3;
|
||||||
|
optional string source_start = 4;
|
||||||
|
optional string reason_start = 5;
|
||||||
|
optional string source_end = 6;
|
||||||
|
optional string reason_end = 7;
|
||||||
|
optional int64 bytes_played = 8;
|
||||||
|
optional int64 bytes_in_song = 9;
|
||||||
|
optional int64 ms_played = 10;
|
||||||
|
optional int64 ms_total_est = 11;
|
||||||
|
optional int64 ms_rcv_latency = 12;
|
||||||
|
optional int64 n_seekback = 13;
|
||||||
|
optional int64 ms_seekback = 14;
|
||||||
|
optional int64 n_seekfwd = 15;
|
||||||
|
optional int64 ms_seekfwd = 16;
|
||||||
|
optional int64 ms_latency = 17;
|
||||||
|
optional int64 n_stutter = 18;
|
||||||
|
optional int64 p_lowbuffer = 19;
|
||||||
|
optional bool skipped = 20;
|
||||||
|
optional bool ad_clicked = 21;
|
||||||
|
optional string token = 22;
|
||||||
|
optional int64 client_ad_count = 23;
|
||||||
|
optional int64 client_campaign_count = 24;
|
||||||
|
}
|
14
protocol/proto/EventSenderInternalErrorNonAuth.proto
Normal file
14
protocol/proto/EventSenderInternalErrorNonAuth.proto
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message EventSenderInternalErrorNonAuth {
|
||||||
|
optional string error_message = 1;
|
||||||
|
optional string error_type = 2;
|
||||||
|
optional string error_context = 3;
|
||||||
|
optional int32 error_code = 4;
|
||||||
|
}
|
13
protocol/proto/EventSenderStats.proto
Normal file
13
protocol/proto/EventSenderStats.proto
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message EventSenderStats {
|
||||||
|
map<string, int64> storage_size = 1;
|
||||||
|
map<string, int64> sequence_number_min = 2;
|
||||||
|
map<string, int64> sequence_number_next = 3;
|
||||||
|
}
|
20
protocol/proto/ExternalDeviceInfo.proto
Normal file
20
protocol/proto/ExternalDeviceInfo.proto
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message ExternalDeviceInfo {
|
||||||
|
optional string type = 1;
|
||||||
|
optional string subtype = 2;
|
||||||
|
optional string reason = 3;
|
||||||
|
optional bool taken_over = 4;
|
||||||
|
optional int64 num_tracks = 5;
|
||||||
|
optional int64 num_purchased_tracks = 6;
|
||||||
|
optional int64 num_playlists = 7;
|
||||||
|
optional string error = 8;
|
||||||
|
optional bool full = 9;
|
||||||
|
optional bool sync_all = 10;
|
||||||
|
}
|
15
protocol/proto/GetInfoFailures.proto
Normal file
15
protocol/proto/GetInfoFailures.proto
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message GetInfoFailures {
|
||||||
|
optional string device_id = 1;
|
||||||
|
optional int64 error_code = 2;
|
||||||
|
optional string request = 3;
|
||||||
|
optional string response_body = 4;
|
||||||
|
optional string context = 5;
|
||||||
|
}
|
26
protocol/proto/HeadFileDownload.proto
Normal file
26
protocol/proto/HeadFileDownload.proto
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message HeadFileDownload {
|
||||||
|
optional bytes file_id = 1;
|
||||||
|
optional bytes playback_id = 2;
|
||||||
|
optional string cdn_uri_scheme = 3;
|
||||||
|
optional string cdn_domain = 4;
|
||||||
|
optional int64 head_file_size = 5;
|
||||||
|
optional int64 bytes_downloaded = 6;
|
||||||
|
optional int64 bytes_wasted = 7;
|
||||||
|
optional int64 http_latency = 8;
|
||||||
|
optional int64 http_64k_latency = 9;
|
||||||
|
optional int64 total_time = 10;
|
||||||
|
optional int64 http_result = 11;
|
||||||
|
optional int64 error_code = 12;
|
||||||
|
optional int64 cached_bytes = 13;
|
||||||
|
optional int64 bytes_from_cache = 14;
|
||||||
|
optional string socket_reuse = 15;
|
||||||
|
optional string request_type = 16;
|
||||||
|
}
|
11
protocol/proto/LocalFileSyncError.proto
Normal file
11
protocol/proto/LocalFileSyncError.proto
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message LocalFileSyncError {
|
||||||
|
optional string error = 1;
|
||||||
|
}
|
12
protocol/proto/LocalFilesError.proto
Normal file
12
protocol/proto/LocalFilesError.proto
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message LocalFilesError {
|
||||||
|
optional int64 error_code = 1;
|
||||||
|
optional string context = 2;
|
||||||
|
}
|
15
protocol/proto/LocalFilesImport.proto
Normal file
15
protocol/proto/LocalFilesImport.proto
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message LocalFilesImport {
|
||||||
|
optional int64 tracks = 1;
|
||||||
|
optional int64 duplicate_tracks = 2;
|
||||||
|
optional int64 failed_tracks = 3;
|
||||||
|
optional int64 matched_tracks = 4;
|
||||||
|
optional string source = 5;
|
||||||
|
}
|
20
protocol/proto/LocalFilesReport.proto
Normal file
20
protocol/proto/LocalFilesReport.proto
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message LocalFilesReport {
|
||||||
|
optional int64 total_tracks = 1;
|
||||||
|
optional int64 total_size = 2;
|
||||||
|
optional int64 owned_tracks = 3;
|
||||||
|
optional int64 owned_size = 4;
|
||||||
|
optional int64 tracks_not_found = 5;
|
||||||
|
optional int64 tracks_bad_format = 6;
|
||||||
|
optional int64 tracks_drm_protected = 7;
|
||||||
|
optional int64 tracks_unknown_pruned = 8;
|
||||||
|
optional int64 tracks_reallocated_repaired = 9;
|
||||||
|
optional int64 enabled_sources = 10;
|
||||||
|
}
|
12
protocol/proto/LocalFilesSourceReport.proto
Normal file
12
protocol/proto/LocalFilesSourceReport.proto
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message LocalFilesSourceReport {
|
||||||
|
optional string id = 1;
|
||||||
|
optional int64 tracks = 2;
|
||||||
|
}
|
16
protocol/proto/MdnsLoginFailures.proto
Normal file
16
protocol/proto/MdnsLoginFailures.proto
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message MdnsLoginFailures {
|
||||||
|
optional string device_id = 1;
|
||||||
|
optional int64 error_code = 2;
|
||||||
|
optional string response_body = 3;
|
||||||
|
optional string request = 4;
|
||||||
|
optional int64 esdk_internal_error_code = 5;
|
||||||
|
optional string context = 6;
|
||||||
|
}
|
20
protocol/proto/MercuryCacheReport.proto
Normal file
20
protocol/proto/MercuryCacheReport.proto
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message MercuryCacheReport {
|
||||||
|
optional int64 mercury_cache_version = 1;
|
||||||
|
optional int64 num_items = 2;
|
||||||
|
optional int64 num_locked_items = 3;
|
||||||
|
optional int64 num_expired_items = 4;
|
||||||
|
optional int64 num_lock_ids = 5;
|
||||||
|
optional int64 num_expired_lock_ids = 6;
|
||||||
|
optional int64 max_size = 7;
|
||||||
|
optional int64 total_size = 8;
|
||||||
|
optional int64 used_size = 9;
|
||||||
|
optional int64 free_size = 10;
|
||||||
|
}
|
20
protocol/proto/MetadataExtensionClientStatistic.proto
Normal file
20
protocol/proto/MetadataExtensionClientStatistic.proto
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message MetadataExtensionClientStatistic {
|
||||||
|
optional bytes task_id = 1;
|
||||||
|
optional string feature_id = 2;
|
||||||
|
optional bool is_online_param = 3;
|
||||||
|
optional int32 num_extensions_with_etags = 4;
|
||||||
|
optional int32 num_extensions_requested = 5;
|
||||||
|
optional int32 num_extensions_needed = 6;
|
||||||
|
optional int32 num_uris_requested = 7;
|
||||||
|
optional int32 num_uris_needed = 8;
|
||||||
|
optional int32 num_prepared_requests = 9;
|
||||||
|
optional int32 num_sent_requests = 10;
|
||||||
|
}
|
11
protocol/proto/ModuleDebug.proto
Normal file
11
protocol/proto/ModuleDebug.proto
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message ModuleDebug {
|
||||||
|
optional string blob = 1;
|
||||||
|
}
|
13
protocol/proto/Offline2ClientError.proto
Normal file
13
protocol/proto/Offline2ClientError.proto
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message Offline2ClientError {
|
||||||
|
optional string error = 1;
|
||||||
|
optional string device_id = 2;
|
||||||
|
optional string cache_id = 3;
|
||||||
|
}
|
13
protocol/proto/Offline2ClientEvent.proto
Normal file
13
protocol/proto/Offline2ClientEvent.proto
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message Offline2ClientEvent {
|
||||||
|
optional string event = 1;
|
||||||
|
optional string device_id = 2;
|
||||||
|
optional string cache_id = 3;
|
||||||
|
}
|
12
protocol/proto/OfflineError.proto
Normal file
12
protocol/proto/OfflineError.proto
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message OfflineError {
|
||||||
|
optional int64 error_code = 1;
|
||||||
|
optional string track = 2;
|
||||||
|
}
|
12
protocol/proto/OfflineEvent.proto
Normal file
12
protocol/proto/OfflineEvent.proto
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message OfflineEvent {
|
||||||
|
optional string event = 1;
|
||||||
|
optional string data = 2;
|
||||||
|
}
|
26
protocol/proto/OfflineReport.proto
Normal file
26
protocol/proto/OfflineReport.proto
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message OfflineReport {
|
||||||
|
optional int64 total_num_tracks = 1;
|
||||||
|
optional int64 num_downloaded_tracks = 2;
|
||||||
|
optional int64 num_downloaded_tracks_keyless = 3;
|
||||||
|
optional int64 total_num_links = 4;
|
||||||
|
optional int64 total_num_links_keyless = 5;
|
||||||
|
map<string, int64> context_num_links_map = 6;
|
||||||
|
map<string, int64> linktype_num_tracks_map = 7;
|
||||||
|
optional int64 track_limit = 8;
|
||||||
|
optional int64 expiry = 9;
|
||||||
|
optional string change_reason = 10;
|
||||||
|
optional int64 offline_keys = 11;
|
||||||
|
optional int64 cached_keys = 12;
|
||||||
|
optional int64 total_num_episodes = 13;
|
||||||
|
optional int64 num_downloaded_episodes = 14;
|
||||||
|
optional int64 episode_limit = 15;
|
||||||
|
optional int64 episode_expiry = 16;
|
||||||
|
}
|
11
protocol/proto/OfflineUserPwdLoginNonAuth.proto
Normal file
11
protocol/proto/OfflineUserPwdLoginNonAuth.proto
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message OfflineUserPwdLoginNonAuth {
|
||||||
|
optional string connection_type = 1;
|
||||||
|
}
|
19
protocol/proto/PlaybackError.proto
Normal file
19
protocol/proto/PlaybackError.proto
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message PlaybackError {
|
||||||
|
optional bytes file_id = 1;
|
||||||
|
optional bytes playback_id = 2;
|
||||||
|
optional string track_id = 3;
|
||||||
|
optional int64 bitrate = 4;
|
||||||
|
optional int64 error_code = 5;
|
||||||
|
optional bool fatal = 6;
|
||||||
|
optional string audiocodec = 7;
|
||||||
|
optional bool external_track = 8;
|
||||||
|
optional int64 position_ms = 9;
|
||||||
|
}
|
15
protocol/proto/PlaybackRetry.proto
Normal file
15
protocol/proto/PlaybackRetry.proto
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message PlaybackRetry {
|
||||||
|
optional string track = 1;
|
||||||
|
optional bytes playback_id = 2;
|
||||||
|
optional string method = 3;
|
||||||
|
optional string status = 4;
|
||||||
|
optional string reason = 5;
|
||||||
|
}
|
14
protocol/proto/PlaybackSegments.proto
Normal file
14
protocol/proto/PlaybackSegments.proto
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message PlaybackSegments {
|
||||||
|
optional bytes playback_id = 1;
|
||||||
|
optional string track_uri = 2;
|
||||||
|
optional bool overflow = 3;
|
||||||
|
optional string segments = 4;
|
||||||
|
}
|
14
protocol/proto/PlayerStateRestore.proto
Normal file
14
protocol/proto/PlayerStateRestore.proto
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message PlayerStateRestore {
|
||||||
|
optional string error = 1;
|
||||||
|
optional int64 size = 2;
|
||||||
|
optional string context_uri = 3;
|
||||||
|
optional string state = 4;
|
||||||
|
}
|
15
protocol/proto/PlaylistSyncEvent.proto
Normal file
15
protocol/proto/PlaylistSyncEvent.proto
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message PlaylistSyncEvent {
|
||||||
|
optional string playlist_id = 1;
|
||||||
|
optional bool is_playlist = 2;
|
||||||
|
optional int64 timestamp_ms = 3;
|
||||||
|
optional int32 error_code = 4;
|
||||||
|
optional string event_description = 5;
|
||||||
|
}
|
14
protocol/proto/PodcastAdSegmentReceived.proto
Normal file
14
protocol/proto/PodcastAdSegmentReceived.proto
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message PodcastAdSegmentReceived {
|
||||||
|
optional string episode_uri = 1;
|
||||||
|
optional string playback_id = 2;
|
||||||
|
optional string slots = 3;
|
||||||
|
optional bool is_audio = 4;
|
||||||
|
}
|
17
protocol/proto/Prefetch.proto
Normal file
17
protocol/proto/Prefetch.proto
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message Prefetch {
|
||||||
|
optional int64 strategies = 1;
|
||||||
|
optional int64 strategy = 2;
|
||||||
|
optional bytes file_id = 3;
|
||||||
|
optional string track = 4;
|
||||||
|
optional int64 prefetch_index = 5;
|
||||||
|
optional int64 current_window_size = 6;
|
||||||
|
optional int64 max_window_size = 7;
|
||||||
|
}
|
12
protocol/proto/PrefetchError.proto
Normal file
12
protocol/proto/PrefetchError.proto
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message PrefetchError {
|
||||||
|
optional int64 strategy = 1;
|
||||||
|
optional string description = 2;
|
||||||
|
}
|
13
protocol/proto/ProductStateUcsVerification.proto
Normal file
13
protocol/proto/ProductStateUcsVerification.proto
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message ProductStateUcsVerification {
|
||||||
|
map<string, string> additional_entries = 1;
|
||||||
|
map<string, string> missing_entries = 2;
|
||||||
|
optional string fetch_type = 3;
|
||||||
|
}
|
13
protocol/proto/PubSubCountPerIdent.proto
Normal file
13
protocol/proto/PubSubCountPerIdent.proto
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message PubSubCountPerIdent {
|
||||||
|
optional string ident_filter = 1;
|
||||||
|
optional int32 no_of_messages_received = 2;
|
||||||
|
optional int32 no_of_failed_conversions = 3;
|
||||||
|
}
|
12
protocol/proto/ReachabilityChanged.proto
Normal file
12
protocol/proto/ReachabilityChanged.proto
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message ReachabilityChanged {
|
||||||
|
optional string type = 1;
|
||||||
|
optional string info = 2;
|
||||||
|
}
|
12
protocol/proto/RejectedClientEventNonAuth.proto
Normal file
12
protocol/proto/RejectedClientEventNonAuth.proto
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message RejectedClientEventNonAuth {
|
||||||
|
optional string reject_reason = 1;
|
||||||
|
optional string event_name = 2;
|
||||||
|
}
|
14
protocol/proto/RemainingSkips.proto
Normal file
14
protocol/proto/RemainingSkips.proto
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message RemainingSkips {
|
||||||
|
optional string interaction_id = 1;
|
||||||
|
optional int32 remaining_skips_before_skip = 2;
|
||||||
|
optional int32 remaining_skips_after_skip = 3;
|
||||||
|
repeated string interaction_ids = 4;
|
||||||
|
}
|
18
protocol/proto/RequestAccounting.proto
Normal file
18
protocol/proto/RequestAccounting.proto
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message RequestAccounting {
|
||||||
|
optional string request = 1;
|
||||||
|
optional int64 downloaded = 2;
|
||||||
|
optional int64 uploaded = 3;
|
||||||
|
optional int64 num_requests = 4;
|
||||||
|
optional string connection = 5;
|
||||||
|
optional string source_identifier = 6;
|
||||||
|
optional string reason = 7;
|
||||||
|
optional int64 duration_ms = 8;
|
||||||
|
}
|
22
protocol/proto/RequestTime.proto
Normal file
22
protocol/proto/RequestTime.proto
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message RequestTime {
|
||||||
|
optional string type = 1;
|
||||||
|
optional int64 first_byte = 2;
|
||||||
|
optional int64 last_byte = 3;
|
||||||
|
optional int64 size = 4;
|
||||||
|
optional int64 size_sent = 5;
|
||||||
|
optional bool error = 6;
|
||||||
|
optional string url = 7;
|
||||||
|
optional string verb = 8;
|
||||||
|
optional int64 payload_size_sent = 9;
|
||||||
|
optional int32 connection_reuse = 10;
|
||||||
|
optional double sampling_probability = 11;
|
||||||
|
optional bool cached = 12;
|
||||||
|
}
|
13
protocol/proto/StartTrack.proto
Normal file
13
protocol/proto/StartTrack.proto
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message StartTrack {
|
||||||
|
optional bytes playback_id = 1;
|
||||||
|
optional string context_player_session_id = 2;
|
||||||
|
optional int64 timestamp = 3;
|
||||||
|
}
|
19
protocol/proto/Stutter.proto
Normal file
19
protocol/proto/Stutter.proto
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message Stutter {
|
||||||
|
optional bytes file_id = 1;
|
||||||
|
optional bytes playback_id = 2;
|
||||||
|
optional string track = 3;
|
||||||
|
optional int64 buffer_size = 4;
|
||||||
|
optional int64 max_buffer_size = 5;
|
||||||
|
optional int64 file_byte_offset = 6;
|
||||||
|
optional int64 file_byte_total = 7;
|
||||||
|
optional int64 target_buffer = 8;
|
||||||
|
optional string audio_driver = 9;
|
||||||
|
}
|
18
protocol/proto/TierFeatureFlags.proto
Normal file
18
protocol/proto/TierFeatureFlags.proto
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message TierFeatureFlags {
|
||||||
|
optional bool ads = 1;
|
||||||
|
optional bool high_quality = 2;
|
||||||
|
optional bool offline = 3;
|
||||||
|
optional bool on_demand = 4;
|
||||||
|
optional string max_album_plays_consecutive = 5;
|
||||||
|
optional string max_album_plays_per_hour = 6;
|
||||||
|
optional string max_skips_per_hour = 7;
|
||||||
|
optional string max_track_plays_per_hour = 8;
|
||||||
|
}
|
24
protocol/proto/TrackNotPlayed.proto
Normal file
24
protocol/proto/TrackNotPlayed.proto
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message TrackNotPlayed {
|
||||||
|
optional bytes playback_id = 1;
|
||||||
|
optional string source_start = 2;
|
||||||
|
optional string reason_start = 3;
|
||||||
|
optional string source_end = 4;
|
||||||
|
optional string reason_end = 5;
|
||||||
|
optional string play_context = 6;
|
||||||
|
optional string play_track = 7;
|
||||||
|
optional string display_track = 8;
|
||||||
|
optional string provider = 9;
|
||||||
|
optional string referer = 10;
|
||||||
|
optional string referrer_version = 11;
|
||||||
|
optional string referrer_vendor = 12;
|
||||||
|
optional string gaia_dev_id = 13;
|
||||||
|
optional string reason_not_played = 14;
|
||||||
|
}
|
18
protocol/proto/TrackStuck.proto
Normal file
18
protocol/proto/TrackStuck.proto
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message TrackStuck {
|
||||||
|
optional string track = 1;
|
||||||
|
optional bytes playback_id = 2;
|
||||||
|
optional string source_start = 3;
|
||||||
|
optional string reason_start = 4;
|
||||||
|
optional bool offline = 5;
|
||||||
|
optional int64 position = 6;
|
||||||
|
optional int64 count = 7;
|
||||||
|
optional string audio_driver = 8;
|
||||||
|
}
|
14
protocol/proto/WindowSize.proto
Normal file
14
protocol/proto/WindowSize.proto
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.event_sender.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message WindowSize {
|
||||||
|
optional int64 width = 1;
|
||||||
|
optional int64 height = 2;
|
||||||
|
optional int64 mode = 3;
|
||||||
|
optional int64 duration = 4;
|
||||||
|
}
|
|
@ -1,51 +0,0 @@
|
||||||
syntax = "proto2";
|
|
||||||
|
|
||||||
message Rule {
|
|
||||||
optional string type = 0x1;
|
|
||||||
optional uint32 times = 0x2;
|
|
||||||
optional uint64 interval = 0x3;
|
|
||||||
}
|
|
||||||
|
|
||||||
message AdRequest {
|
|
||||||
optional string client_language = 0x1;
|
|
||||||
optional string product = 0x2;
|
|
||||||
optional uint32 version = 0x3;
|
|
||||||
optional string type = 0x4;
|
|
||||||
repeated string avoidAds = 0x5;
|
|
||||||
}
|
|
||||||
|
|
||||||
message AdQueueResponse {
|
|
||||||
repeated AdQueueEntry adQueueEntry = 0x1;
|
|
||||||
}
|
|
||||||
|
|
||||||
message AdFile {
|
|
||||||
optional string id = 0x1;
|
|
||||||
optional string format = 0x2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message AdQueueEntry {
|
|
||||||
optional uint64 start_time = 0x1;
|
|
||||||
optional uint64 end_time = 0x2;
|
|
||||||
optional double priority = 0x3;
|
|
||||||
optional string token = 0x4;
|
|
||||||
optional uint32 ad_version = 0x5;
|
|
||||||
optional string id = 0x6;
|
|
||||||
optional string type = 0x7;
|
|
||||||
optional string campaign = 0x8;
|
|
||||||
optional string advertiser = 0x9;
|
|
||||||
optional string url = 0xa;
|
|
||||||
optional uint64 duration = 0xb;
|
|
||||||
optional uint64 expiry = 0xc;
|
|
||||||
optional string tracking_url = 0xd;
|
|
||||||
optional string banner_type = 0xe;
|
|
||||||
optional string html = 0xf;
|
|
||||||
optional string image = 0x10;
|
|
||||||
optional string background_image = 0x11;
|
|
||||||
optional string background_url = 0x12;
|
|
||||||
optional string background_color = 0x13;
|
|
||||||
optional string title = 0x14;
|
|
||||||
optional string caption = 0x15;
|
|
||||||
repeated AdFile file = 0x16;
|
|
||||||
repeated Rule rule = 0x17;
|
|
||||||
}
|
|
||||||
|
|
14
protocol/proto/anchor_extended_metadata.proto
Normal file
14
protocol/proto/anchor_extended_metadata.proto
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
// Extracted from: Spotify 1.1.33.569 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package spotify.anchor.extension;
|
||||||
|
|
||||||
|
option objc_class_prefix = "SPT";
|
||||||
|
option java_multiple_files = true;
|
||||||
|
option java_outer_classname = "AnchorExtensionProviderProto";
|
||||||
|
option java_package = "com.spotify.anchorextensionprovider.proto";
|
||||||
|
|
||||||
|
message PodcastCounter {
|
||||||
|
uint32 counter = 1;
|
||||||
|
}
|
113
protocol/proto/apiv1.proto
Normal file
113
protocol/proto/apiv1.proto
Normal file
|
@ -0,0 +1,113 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package spotify.offline.proto;
|
||||||
|
|
||||||
|
import "google/protobuf/timestamp.proto";
|
||||||
|
import "offline.proto";
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message ListDevicesRequest {
|
||||||
|
string user_id = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message ListDevicesResponse {
|
||||||
|
repeated Device devices = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message PutDeviceRequest {
|
||||||
|
string user_id = 1;
|
||||||
|
|
||||||
|
Body body = 2;
|
||||||
|
message Body {
|
||||||
|
Device device = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
message BasicDeviceRequest {
|
||||||
|
DeviceKey key = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message GetDeviceResponse {
|
||||||
|
Device device = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message RemoveDeviceRequest {
|
||||||
|
DeviceKey key = 1;
|
||||||
|
bool is_force_remove = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message RemoveDeviceResponse {
|
||||||
|
bool pending = 1;
|
||||||
|
Device device = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message OfflineEnableDeviceResponse {
|
||||||
|
Restrictions restrictions = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message ListResourcesResponse {
|
||||||
|
repeated Resource resources = 1;
|
||||||
|
google.protobuf.Timestamp server_time = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message WriteResourcesRequest {
|
||||||
|
DeviceKey key = 1;
|
||||||
|
|
||||||
|
Body body = 2;
|
||||||
|
message Body {
|
||||||
|
repeated ResourceOperation operations = 1;
|
||||||
|
string source_device_id = 2;
|
||||||
|
string source_cache_id = 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
message ResourcesUpdate {
|
||||||
|
string source_device_id = 1;
|
||||||
|
string source_cache_id = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message DeltaResourcesRequest {
|
||||||
|
DeviceKey key = 1;
|
||||||
|
|
||||||
|
Body body = 2;
|
||||||
|
message Body {
|
||||||
|
google.protobuf.Timestamp last_known_server_time = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
message DeltaResourcesResponse {
|
||||||
|
bool delta_update_possible = 1;
|
||||||
|
repeated ResourceOperation operations = 2;
|
||||||
|
google.protobuf.Timestamp server_time = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
message GetResourceRequest {
|
||||||
|
DeviceKey key = 1;
|
||||||
|
string uri = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message GetResourceResponse {
|
||||||
|
Resource resource = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message WriteResourcesDetailsRequest {
|
||||||
|
DeviceKey key = 1;
|
||||||
|
|
||||||
|
Body body = 2;
|
||||||
|
message Body {
|
||||||
|
repeated Resource resources = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
message GetResourceForDevicesRequest {
|
||||||
|
string user_id = 1;
|
||||||
|
string uri = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message GetResourceForDevicesResponse {
|
||||||
|
repeated Device devices = 1;
|
||||||
|
repeated ResourceForDevice resources = 2;
|
||||||
|
}
|
|
@ -1,95 +0,0 @@
|
||||||
syntax = "proto2";
|
|
||||||
|
|
||||||
message AppInfo {
|
|
||||||
optional string identifier = 0x1;
|
|
||||||
optional int32 version_int = 0x2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message AppInfoList {
|
|
||||||
repeated AppInfo items = 0x1;
|
|
||||||
}
|
|
||||||
|
|
||||||
message SemanticVersion {
|
|
||||||
optional int32 major = 0x1;
|
|
||||||
optional int32 minor = 0x2;
|
|
||||||
optional int32 patch = 0x3;
|
|
||||||
}
|
|
||||||
|
|
||||||
message RequestHeader {
|
|
||||||
optional string market = 0x1;
|
|
||||||
optional Platform platform = 0x2;
|
|
||||||
enum Platform {
|
|
||||||
WIN32_X86 = 0x0;
|
|
||||||
OSX_X86 = 0x1;
|
|
||||||
LINUX_X86 = 0x2;
|
|
||||||
IPHONE_ARM = 0x3;
|
|
||||||
SYMBIANS60_ARM = 0x4;
|
|
||||||
OSX_POWERPC = 0x5;
|
|
||||||
ANDROID_ARM = 0x6;
|
|
||||||
WINCE_ARM = 0x7;
|
|
||||||
LINUX_X86_64 = 0x8;
|
|
||||||
OSX_X86_64 = 0x9;
|
|
||||||
PALM_ARM = 0xa;
|
|
||||||
LINUX_SH = 0xb;
|
|
||||||
FREEBSD_X86 = 0xc;
|
|
||||||
FREEBSD_X86_64 = 0xd;
|
|
||||||
BLACKBERRY_ARM = 0xe;
|
|
||||||
SONOS_UNKNOWN = 0xf;
|
|
||||||
LINUX_MIPS = 0x10;
|
|
||||||
LINUX_ARM = 0x11;
|
|
||||||
LOGITECH_ARM = 0x12;
|
|
||||||
LINUX_BLACKFIN = 0x13;
|
|
||||||
ONKYO_ARM = 0x15;
|
|
||||||
QNXNTO_ARM = 0x16;
|
|
||||||
BADPLATFORM = 0xff;
|
|
||||||
}
|
|
||||||
optional AppInfoList app_infos = 0x6;
|
|
||||||
optional string bridge_identifier = 0x7;
|
|
||||||
optional SemanticVersion bridge_version = 0x8;
|
|
||||||
optional DeviceClass device_class = 0x9;
|
|
||||||
enum DeviceClass {
|
|
||||||
DESKTOP = 0x1;
|
|
||||||
TABLET = 0x2;
|
|
||||||
MOBILE = 0x3;
|
|
||||||
WEB = 0x4;
|
|
||||||
TV = 0x5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
message AppItem {
|
|
||||||
optional string identifier = 0x1;
|
|
||||||
optional Requirement requirement = 0x2;
|
|
||||||
enum Requirement {
|
|
||||||
REQUIRED_INSTALL = 0x1;
|
|
||||||
LAZYLOAD = 0x2;
|
|
||||||
OPTIONAL_INSTALL = 0x3;
|
|
||||||
}
|
|
||||||
optional string manifest = 0x4;
|
|
||||||
optional string checksum = 0x5;
|
|
||||||
optional string bundle_uri = 0x6;
|
|
||||||
optional string small_icon_uri = 0x7;
|
|
||||||
optional string large_icon_uri = 0x8;
|
|
||||||
optional string medium_icon_uri = 0x9;
|
|
||||||
optional Type bundle_type = 0xa;
|
|
||||||
enum Type {
|
|
||||||
APPLICATION = 0x0;
|
|
||||||
FRAMEWORK = 0x1;
|
|
||||||
BRIDGE = 0x2;
|
|
||||||
}
|
|
||||||
optional SemanticVersion version = 0xb;
|
|
||||||
optional uint32 ttl_in_seconds = 0xc;
|
|
||||||
optional IdentifierList categories = 0xd;
|
|
||||||
}
|
|
||||||
|
|
||||||
message AppList {
|
|
||||||
repeated AppItem items = 0x1;
|
|
||||||
}
|
|
||||||
|
|
||||||
message IdentifierList {
|
|
||||||
repeated string identifiers = 0x1;
|
|
||||||
}
|
|
||||||
|
|
||||||
message BannerConfig {
|
|
||||||
optional string json = 0x1;
|
|
||||||
}
|
|
||||||
|
|
27
protocol/proto/audio_files_extension.proto
Normal file
27
protocol/proto/audio_files_extension.proto
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package spotify.extendedmetadata.audiofiles;
|
||||||
|
|
||||||
|
import "metadata.proto";
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
option java_package = "com.spotify.audiophile.proto";
|
||||||
|
|
||||||
|
message NormalizationParams {
|
||||||
|
float loudness_db = 1;
|
||||||
|
float true_peak_db = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message ExtendedAudioFile {
|
||||||
|
metadata.AudioFile file = 1;
|
||||||
|
NormalizationParams file_normalization_params = 2;
|
||||||
|
NormalizationParams album_normalization_params = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
message AudioFilesExtensionResponse {
|
||||||
|
repeated ExtendedAudioFile files = 1;
|
||||||
|
NormalizationParams default_file_normalization_params = 2;
|
||||||
|
NormalizationParams default_album_normalization_params = 3;
|
||||||
|
}
|
21
protocol/proto/automix_mode.proto
Normal file
21
protocol/proto/automix_mode.proto
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package spotify.automix.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message AutomixMode {
|
||||||
|
AutomixStyle style = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
enum AutomixStyle {
|
||||||
|
NONE = 0;
|
||||||
|
DEFAULT = 1;
|
||||||
|
REGULAR = 2;
|
||||||
|
AIRBAG = 3;
|
||||||
|
RADIO_AIRBAG = 4;
|
||||||
|
SLEEP = 5;
|
||||||
|
MIXED = 6;
|
||||||
|
}
|
12
protocol/proto/autoplay_context_request.proto
Normal file
12
protocol/proto/autoplay_context_request.proto
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
// Extracted from: Spotify 1.1.61.583 (Windows)
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package spotify.player.proto;
|
||||||
|
|
||||||
|
option optimize_for = CODE_SIZE;
|
||||||
|
|
||||||
|
message AutoplayContextRequest {
|
||||||
|
required string context_uri = 1;
|
||||||
|
repeated string recent_track_uri = 2;
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue