This commit is contained in:
commit
66c522421f
|
@ -0,0 +1,16 @@
|
|||
module tuxpa.in/a/goplayd
|
||||
|
||||
go 1.19
|
||||
|
||||
require (
|
||||
google.golang.org/grpc v1.52.0
|
||||
google.golang.org/protobuf v1.28.1
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/golang/protobuf v1.5.2 // indirect
|
||||
golang.org/x/net v0.4.0 // indirect
|
||||
golang.org/x/sys v0.3.0 // indirect
|
||||
golang.org/x/text v0.5.0 // indirect
|
||||
google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6 // indirect
|
||||
)
|
|
@ -0,0 +1,20 @@
|
|||
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
|
||||
github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
|
||||
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
|
||||
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
|
||||
golang.org/x/net v0.4.0 h1:Q5QPcMlvfxFTAPV0+07Xz/MpK9NTXu2VDUuy0FeMfaU=
|
||||
golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
|
||||
golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ=
|
||||
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/text v0.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM=
|
||||
golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6 h1:a2S6M0+660BgMNl++4JPlcAO/CjkqYItDEZwkoDQK7c=
|
||||
google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
|
||||
google.golang.org/grpc v1.52.0 h1:kd48UiU7EHsV4rnLyOJRuP/Il/UHE7gdDAQ+SZI7nZk=
|
||||
google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY=
|
||||
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
|
||||
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
|
||||
google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w=
|
||||
google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
|
|
@ -0,0 +1,7 @@
|
|||
package jukebox
|
||||
|
||||
type Jukebox struct {
|
||||
}
|
||||
|
||||
type Track struct {
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
package spotify
|
||||
|
||||
type Source struct {
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
package spot
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
|
||||
"google.golang.org/grpc"
|
||||
)
|
||||
|
||||
var defaultResolvers = []string{
|
||||
"http://apresolve.spotify.com",
|
||||
}
|
||||
|
||||
type Client struct {
|
||||
Resolver string
|
||||
Endpoints ApResolve
|
||||
|
||||
grpc *grpc.ClientConn
|
||||
}
|
||||
|
||||
type ApResolve struct {
|
||||
ApList []string `json:"ap_list"`
|
||||
}
|
||||
|
||||
func NewClient(resolver string) (*Client, error) {
|
||||
c := &Client{Resolver: resolver}
|
||||
err := c.discover()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return c, nil
|
||||
}
|
||||
|
||||
func (c *Client) Connect(ctx context.Context) error {
|
||||
conn, err := grpc.DialContext(ctx, c.Endpoints.ApList[0])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
c.grpc = conn
|
||||
return nil
|
||||
}
|
||||
func (c *Client) discover() error {
|
||||
resp, err := http.Get(c.Resolver)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
return json.NewDecoder(resp.Body).Decode(&c.Endpoints)
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
// Extracted from: Spotify 1.1.73.517 (macOS)
|
||||
|
||||
syntax = "proto2";
|
||||
|
||||
package spotify.event_sender.proto;
|
||||
|
||||
option optimize_for = CODE_SIZE;
|
||||
|
||||
message AdContext {
|
||||
optional string preceding_content_uri = 1;
|
||||
optional string preceding_playback_id = 2;
|
||||
optional int32 preceding_end_position = 3;
|
||||
repeated string ad_ids = 4;
|
||||
optional string ad_request_id = 5;
|
||||
optional string succeeding_content_uri = 6;
|
||||
optional string succeeding_playback_id = 7;
|
||||
optional int32 succeeding_start_position = 8;
|
||||
optional int32 preceding_duration = 9;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
// Extracted from: Spotify 1.1.73.517 (macOS)
|
||||
|
||||
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;
|
||||
optional string product_name = 18;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
// Extracted from: Spotify 1.1.73.517 (macOS)
|
||||
|
||||
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;
|
||||
optional int64 size = 7;
|
||||
optional int64 range_start = 8;
|
||||
optional int64 range_end = 9;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
// Extracted from: Spotify 1.1.73.517 (macOS)
|
||||
|
||||
syntax = "proto2";
|
||||
|
||||
package spotify.event_sender.proto;
|
||||
|
||||
option optimize_for = CODE_SIZE;
|
||||
|
||||
message CacheReport {
|
||||
optional bytes cache_id = 1;
|
||||
optional string cache_path = 21;
|
||||
optional string volatile_path = 22;
|
||||
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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// Extracted from: Spotify 1.1.73.517 (macOS)
|
||||
|
||||
syntax = "proto2";
|
||||
|
||||
package spotify.event_sender.proto;
|
||||
|
||||
option optimize_for = CODE_SIZE;
|
||||
|
||||
message ConnectionStateChange {
|
||||
optional string type = 1;
|
||||
optional string old = 2;
|
||||
optional string new = 3;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -0,0 +1,106 @@
|
|||
// Extracted from: Spotify 1.1.73.517 (macOS)
|
||||
|
||||
syntax = "proto2";
|
||||
|
||||
package spotify.event_sender.proto;
|
||||
|
||||
option optimize_for = CODE_SIZE;
|
||||
|
||||
message DesktopDeviceInformation {
|
||||
optional string os_platform = 1;
|
||||
optional string os_version = 2;
|
||||
optional string computer_manufacturer = 3;
|
||||
optional string mac_computer_model = 4;
|
||||
optional string mac_computer_model_family = 5;
|
||||
optional bool computer_has_internal_battery = 6;
|
||||
optional bool computer_is_currently_running_on_battery_power = 7;
|
||||
optional string mac_cpu_product_name = 8;
|
||||
optional int64 mac_cpu_family_code = 9;
|
||||
optional int64 cpu_num_physical_cores = 10;
|
||||
optional int64 cpu_num_logical_cores = 11;
|
||||
optional int64 cpu_clock_frequency_herz = 12;
|
||||
optional int64 cpu_level_1_cache_size_bytes = 13;
|
||||
optional int64 cpu_level_2_cache_size_bytes = 14;
|
||||
optional int64 cpu_level_3_cache_size_bytes = 15;
|
||||
optional bool cpu_is_64_bit_capable = 16;
|
||||
optional int64 computer_ram_size_bytes = 17;
|
||||
optional int64 computer_ram_speed_herz = 18;
|
||||
optional int64 num_graphics_cards = 19;
|
||||
optional int64 num_connected_screens = 20;
|
||||
optional string app_screen_model_name = 21;
|
||||
optional double app_screen_width_logical_points = 22;
|
||||
optional double app_screen_height_logical_points = 23;
|
||||
optional double mac_app_screen_scale_factor = 24;
|
||||
optional double app_screen_physical_size_inches = 25;
|
||||
optional int64 app_screen_bits_per_pixel = 26;
|
||||
optional bool app_screen_supports_dci_p3_color_gamut = 27;
|
||||
optional bool app_screen_is_built_in = 28;
|
||||
optional string app_screen_graphics_card_model = 29;
|
||||
optional int64 app_screen_graphics_card_vram_size_bytes = 30;
|
||||
optional bool mac_app_screen_currently_contains_the_dock = 31;
|
||||
optional bool mac_app_screen_currently_contains_active_menu_bar = 32;
|
||||
optional bool boot_disk_is_known_ssd = 33;
|
||||
optional string mac_boot_disk_connection_type = 34;
|
||||
optional int64 boot_disk_capacity_bytes = 35;
|
||||
optional int64 boot_disk_free_space_bytes = 36;
|
||||
optional bool application_disk_is_same_as_boot_disk = 37;
|
||||
optional bool application_disk_is_known_ssd = 38;
|
||||
optional string mac_application_disk_connection_type = 39;
|
||||
optional int64 application_disk_capacity_bytes = 40;
|
||||
optional int64 application_disk_free_space_bytes = 41;
|
||||
optional bool application_cache_disk_is_same_as_boot_disk = 42;
|
||||
optional bool application_cache_disk_is_known_ssd = 43;
|
||||
optional string mac_application_cache_disk_connection_type = 44;
|
||||
optional int64 application_cache_disk_capacity_bytes = 45;
|
||||
optional int64 application_cache_disk_free_space_bytes = 46;
|
||||
optional bool has_pointing_device = 47;
|
||||
optional bool has_builtin_pointing_device = 48;
|
||||
optional bool has_touchpad = 49;
|
||||
optional bool has_keyboard = 50;
|
||||
optional bool has_builtin_keyboard = 51;
|
||||
optional bool mac_has_touch_bar = 52;
|
||||
optional bool has_touch_screen = 53;
|
||||
optional bool has_pen_input = 54;
|
||||
optional bool has_game_controller = 55;
|
||||
optional bool has_bluetooth_support = 56;
|
||||
optional int64 bluetooth_link_manager_version = 57;
|
||||
optional string bluetooth_version_string = 58;
|
||||
optional int64 num_audio_output_devices = 59;
|
||||
optional string default_audio_output_device_name = 60;
|
||||
optional string default_audio_output_device_manufacturer = 61;
|
||||
optional double default_audio_output_device_current_sample_rate = 62;
|
||||
optional int64 default_audio_output_device_current_bit_depth = 63;
|
||||
optional int64 default_audio_output_device_current_buffer_size = 64;
|
||||
optional int64 default_audio_output_device_current_num_channels = 65;
|
||||
optional double default_audio_output_device_maximum_sample_rate = 66;
|
||||
optional int64 default_audio_output_device_maximum_bit_depth = 67;
|
||||
optional int64 default_audio_output_device_maximum_num_channels = 68;
|
||||
optional bool default_audio_output_device_is_builtin = 69;
|
||||
optional bool default_audio_output_device_is_virtual = 70;
|
||||
optional string mac_default_audio_output_device_transport_type = 71;
|
||||
optional string mac_default_audio_output_device_terminal_type = 72;
|
||||
optional int64 num_video_capture_devices = 73;
|
||||
optional string default_video_capture_device_manufacturer = 74;
|
||||
optional string default_video_capture_device_model = 75;
|
||||
optional string default_video_capture_device_name = 76;
|
||||
optional int64 default_video_capture_device_image_width = 77;
|
||||
optional int64 default_video_capture_device_image_height = 78;
|
||||
optional string mac_default_video_capture_device_transport_type = 79;
|
||||
optional bool default_video_capture_device_is_builtin = 80;
|
||||
optional int64 num_active_network_interfaces = 81;
|
||||
optional string mac_main_network_interface_name = 82;
|
||||
optional string mac_main_network_interface_type = 83;
|
||||
optional bool main_network_interface_supports_ipv4 = 84;
|
||||
optional bool main_network_interface_supports_ipv6 = 85;
|
||||
optional string main_network_interface_hardware_vendor = 86;
|
||||
optional string main_network_interface_hardware_model = 87;
|
||||
optional int64 main_network_interface_medium_speed_bps = 88;
|
||||
optional int64 main_network_interface_link_speed_bps = 89;
|
||||
optional double system_up_time_including_sleep_seconds = 90;
|
||||
optional double system_up_time_awake_seconds = 91;
|
||||
optional double app_up_time_including_sleep_seconds = 92;
|
||||
optional string system_user_preferred_language_code = 93;
|
||||
optional string system_user_preferred_locale = 94;
|
||||
optional string mac_app_system_localization_language = 95;
|
||||
optional string app_localization_language = 96;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -0,0 +1,88 @@
|
|||
// Extracted from: Spotify 1.1.73.517 (macOS)
|
||||
|
||||
syntax = "proto2";
|
||||
|
||||
package spotify.event_sender.proto;
|
||||
|
||||
option optimize_for = CODE_SIZE;
|
||||
|
||||
message DesktopPerformanceIssue {
|
||||
optional string event_type = 1;
|
||||
optional bool is_continuation_event = 2;
|
||||
optional double sample_time_interval_seconds = 3;
|
||||
optional string computer_platform = 4;
|
||||
optional double last_seen_main_thread_latency_seconds = 5;
|
||||
optional double last_seen_core_thread_latency_seconds = 6;
|
||||
optional double total_spotify_processes_cpu_load_percent = 7;
|
||||
optional double main_process_cpu_load_percent = 8;
|
||||
optional int64 mac_main_process_vm_size_bytes = 9;
|
||||
optional int64 mac_main_process_resident_size_bytes = 10;
|
||||
optional double mac_main_process_num_page_faults_per_second = 11;
|
||||
optional double mac_main_process_num_pageins_per_second = 12;
|
||||
optional double mac_main_process_num_cow_faults_per_second = 13;
|
||||
optional double mac_main_process_num_context_switches_per_second = 14;
|
||||
optional int64 main_process_num_total_threads = 15;
|
||||
optional int64 main_process_num_running_threads = 16;
|
||||
optional double renderer_process_cpu_load_percent = 17;
|
||||
optional int64 mac_renderer_process_vm_size_bytes = 18;
|
||||
optional int64 mac_renderer_process_resident_size_bytes = 19;
|
||||
optional double mac_renderer_process_num_page_faults_per_second = 20;
|
||||
optional double mac_renderer_process_num_pageins_per_second = 21;
|
||||
optional double mac_renderer_process_num_cow_faults_per_second = 22;
|
||||
optional double mac_renderer_process_num_context_switches_per_second = 23;
|
||||
optional int64 renderer_process_num_total_threads = 24;
|
||||
optional int64 renderer_process_num_running_threads = 25;
|
||||
optional double system_total_cpu_load_percent = 26;
|
||||
optional int64 mac_system_total_free_memory_size_bytes = 27;
|
||||
optional int64 mac_system_total_active_memory_size_bytes = 28;
|
||||
optional int64 mac_system_total_inactive_memory_size_bytes = 29;
|
||||
optional int64 mac_system_total_wired_memory_size_bytes = 30;
|
||||
optional int64 mac_system_total_compressed_memory_size_bytes = 31;
|
||||
optional double mac_system_current_num_pageins_per_second = 32;
|
||||
optional double mac_system_current_num_pageouts_per_second = 33;
|
||||
optional double mac_system_current_num_page_faults_per_second = 34;
|
||||
optional double mac_system_current_num_cow_faults_per_second = 35;
|
||||
optional int64 system_current_num_total_processes = 36;
|
||||
optional int64 system_current_num_total_threads = 37;
|
||||
optional int64 computer_boot_disk_free_space_bytes = 38;
|
||||
optional int64 application_disk_free_space_bytes = 39;
|
||||
optional int64 application_cache_disk_free_space_bytes = 40;
|
||||
optional bool computer_is_currently_running_on_battery_power = 41;
|
||||
optional double computer_remaining_battery_capacity_percent = 42;
|
||||
optional double computer_estimated_remaining_battery_time_seconds = 43;
|
||||
optional int64 mac_computer_num_available_logical_cpu_cores_due_to_power_management = 44;
|
||||
optional double mac_computer_current_processor_speed_percent_due_to_power_management = 45;
|
||||
optional double mac_computer_current_cpu_time_limit_percent_due_to_power_management = 46;
|
||||
optional double app_screen_width_points = 47;
|
||||
optional double app_screen_height_points = 48;
|
||||
optional double mac_app_screen_scale_factor = 49;
|
||||
optional int64 app_screen_bits_per_pixel = 50;
|
||||
optional bool app_screen_supports_dci_p3_color_gamut = 51;
|
||||
optional bool app_screen_is_built_in = 52;
|
||||
optional string app_screen_graphics_card_model = 53;
|
||||
optional int64 app_screen_graphics_card_vram_size_bytes = 54;
|
||||
optional double app_window_width_points = 55;
|
||||
optional double app_window_height_points = 56;
|
||||
optional double app_window_percentage_on_screen = 57;
|
||||
optional double app_window_percentage_non_obscured = 58;
|
||||
optional double system_up_time_including_sleep_seconds = 59;
|
||||
optional double system_up_time_awake_seconds = 60;
|
||||
optional double app_up_time_including_sleep_seconds = 61;
|
||||
optional double computer_time_since_last_sleep_start_seconds = 62;
|
||||
optional double computer_time_since_last_sleep_end_seconds = 63;
|
||||
optional bool mac_system_user_session_is_currently_active = 64;
|
||||
optional double mac_system_time_since_last_user_session_deactivation_seconds = 65;
|
||||
optional double mac_system_time_since_last_user_session_reactivation_seconds = 66;
|
||||
optional bool application_is_currently_active = 67;
|
||||
optional bool application_window_is_currently_visible = 68;
|
||||
optional bool mac_application_window_is_currently_minimized = 69;
|
||||
optional bool application_window_is_currently_fullscreen = 70;
|
||||
optional bool mac_application_is_currently_hidden = 71;
|
||||
optional bool application_user_is_currently_logged_in = 72;
|
||||
optional double application_time_since_last_user_log_in = 73;
|
||||
optional double application_time_since_last_user_log_out = 74;
|
||||
optional bool application_is_playing_now = 75;
|
||||
optional string application_currently_playing_type = 76;
|
||||
optional string application_currently_playing_uri = 77;
|
||||
optional string application_currently_playing_ad_id = 78;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
// Extracted from: Spotify 1.1.73.517 (macOS)
|
||||
|
||||
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;
|
||||
optional string initial_disk_state = 44;
|
||||
optional bool locked = 45;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
// Extracted from: Spotify 1.1.73.517 (macOS)
|
||||
|
||||
syntax = "proto2";
|
||||
|
||||
package spotify.event_sender.proto;
|
||||
|
||||
option optimize_for = CODE_SIZE;
|
||||
|
||||
message EventSenderStats2NonAuth {
|
||||
repeated bytes sequence_ids = 1;
|
||||
repeated string event_names = 2;
|
||||
repeated int32 loss_stats_num_entries_per_sequence_id = 3;
|
||||
repeated int32 loss_stats_event_name_index = 4;
|
||||
repeated int64 loss_stats_storage_sizes = 5;
|
||||
repeated int64 loss_stats_sequence_number_mins = 6;
|
||||
repeated int64 loss_stats_sequence_number_nexts = 7;
|
||||
repeated int32 ratelimiter_stats_event_name_index = 8;
|
||||
repeated int64 ratelimiter_stats_drop_count = 9;
|
||||
repeated int32 drop_list_num_entries_per_sequence_id = 10;
|
||||
repeated int32 drop_list_event_name_index = 11;
|
||||
repeated int64 drop_list_counts_total = 12;
|
||||
repeated int64 drop_list_counts_unreported = 13;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
// Extracted from: Spotify 1.1.73.517 (macOS)
|
||||
|
||||
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;
|
||||
optional string initial_disk_state = 17;
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
// Extracted from: Spotify 1.1.73.517 (macOS)
|
||||
|
||||
syntax = "proto2";
|
||||
|
||||
package spotify.event_sender.proto;
|
||||
|
||||
option optimize_for = CODE_SIZE;
|
||||
|
||||
message LegacyEndSong {
|
||||
optional int64 sequence_number = 1;
|
||||
optional string sequence_id = 2;
|
||||
optional bytes playback_id = 3;
|
||||
optional bytes parent_playback_id = 4;
|
||||
optional string source_start = 5;
|
||||
optional string reason_start = 6;
|
||||
optional string source_end = 7;
|
||||
optional string reason_end = 8;
|
||||
optional int64 bytes_played = 9;
|
||||
optional int64 bytes_in_song = 10;
|
||||
optional int64 ms_played = 11;
|
||||
optional int64 ms_nominal_played = 12;
|
||||
optional int64 ms_total_est = 13;
|
||||
optional int64 ms_rcv_latency = 14;
|
||||
optional int64 ms_overlapping = 15;
|
||||
optional int64 n_seekback = 16;
|
||||
optional int64 ms_seekback = 17;
|
||||
optional int64 n_seekfwd = 18;
|
||||
optional int64 ms_seekfwd = 19;
|
||||
optional int64 ms_latency = 20;
|
||||
optional int64 ui_latency = 21;
|
||||
optional string player_id = 22;
|
||||
optional int64 ms_key_latency = 23;
|
||||
optional bool offline_key = 24;
|
||||
optional bool cached_key = 25;
|
||||
optional int64 n_stutter = 26;
|
||||
optional int64 p_lowbuffer = 27;
|
||||
optional bool shuffle = 28;
|
||||
optional int64 max_continous = 29;
|
||||
optional int64 union_played = 30;
|
||||
optional int64 artificial_delay = 31;
|
||||
optional int64 bitrate = 32;
|
||||
optional string play_context = 33;
|
||||
optional string audiocodec = 34;
|
||||
optional string play_track = 35;
|
||||
optional string display_track = 36;
|
||||
optional bool offline = 37;
|
||||
optional int64 offline_timestamp = 38;
|
||||
optional bool incognito_mode = 39;
|
||||
optional string provider = 40;
|
||||
optional string referer = 41;
|
||||
optional string referrer_version = 42;
|
||||
optional string referrer_vendor = 43;
|
||||
optional string transition = 44;
|
||||
optional string streaming_rule = 45;
|
||||
optional string gaia_dev_id = 46;
|
||||
optional string accepted_tc = 47;
|
||||
optional string promotion_type = 48;
|
||||
optional string page_instance_id = 49;
|
||||
optional string interaction_id = 50;
|
||||
optional string parent_play_track = 51;
|
||||
optional int64 core_version = 52;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// Extracted from: Spotify 1.1.73.517 (macOS)
|
||||
|
||||
syntax = "proto2";
|
||||
|
||||
package spotify.event_sender.proto;
|
||||
|
||||
option optimize_for = CODE_SIZE;
|
||||
|
||||
message LocalFilesError {
|
||||
optional int64 error_code = 1;
|
||||
optional string context = 2;
|
||||
optional string info = 3;
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
// Extracted from: Spotify 1.1.73.517 (macOS)
|
||||
|
||||
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;
|
||||
optional int64 invalid_tracks = 6;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
// Extracted from: Spotify 1.1.73.517 (macOS)
|
||||
|
||||
syntax = "proto2";
|
||||
|
||||
package spotify.event_sender.proto;
|
||||
|
||||
option optimize_for = CODE_SIZE;
|
||||
|
||||
message RawCoreStream {
|
||||
optional bytes playback_id = 1;
|
||||
optional bytes parent_playback_id = 2;
|
||||
optional string video_session_id = 3;
|
||||
optional bytes media_id = 4;
|
||||
optional string media_type = 5;
|
||||
optional string feature_identifier = 6;
|
||||
optional string feature_version = 7;
|
||||
optional string view_uri = 8;
|
||||
optional string source_start = 9;
|
||||
optional string reason_start = 10;
|
||||
optional string source_end = 11;
|
||||
optional string reason_end = 12;
|
||||
optional int64 playback_start_time = 13;
|
||||
optional int32 ms_played = 14;
|
||||
optional int32 ms_played_nominal = 15;
|
||||
optional int32 ms_played_overlapping = 16;
|
||||
optional int32 ms_played_video = 17;
|
||||
optional int32 ms_played_background = 18;
|
||||
optional int32 ms_played_fullscreen = 19;
|
||||
optional bool live = 20;
|
||||
optional bool shuffle = 21;
|
||||
optional string audio_format = 22;
|
||||
optional string play_context = 23;
|
||||
optional string content_uri = 24;
|
||||
optional string displayed_content_uri = 25;
|
||||
optional bool content_is_downloaded = 26;
|
||||
optional bool incognito_mode = 27;
|
||||
optional string provider = 28;
|
||||
optional string referrer = 29;
|
||||
optional string referrer_version = 30;
|
||||
optional string referrer_vendor = 31;
|
||||
optional string streaming_rule = 32;
|
||||
optional string connect_controller_device_id = 33;
|
||||
optional string page_instance_id = 34;
|
||||
optional string interaction_id = 35;
|
||||
optional string parent_content_uri = 36;
|
||||
optional int64 core_version = 37;
|
||||
optional string core_bundle = 38;
|
||||
optional bool is_assumed_premium = 39;
|
||||
optional int32 ms_played_external = 40;
|
||||
optional string local_content_uri = 41;
|
||||
optional bool client_offline_at_stream_start = 42;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -0,0 +1,108 @@
|
|||
// No longer present in Spotify 1.1.73.517 (macOS)
|
||||
|
||||
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 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;
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue