add additionally required proto files

This commit is contained in:
Felix Prillwitz 2024-12-16 21:48:13 +01:00
parent 1a97247727
commit 58b0b3f316
No known key found for this signature in database
GPG key ID: DE334B43606D1455
26 changed files with 546 additions and 0 deletions

View file

@ -0,0 +1,35 @@
syntax = "proto3";
package spotify.stream_reporting_esperanto.proto;
option java_package = "com.spotify.stream_reporting_esperanto.proto";
option objc_class_prefix = "ESP";
enum AudioFormat {
FORMAT_UNKNOWN = 0;
FORMAT_OGG_VORBIS_96 = 1;
FORMAT_OGG_VORBIS_160 = 2;
FORMAT_OGG_VORBIS_320 = 3;
FORMAT_MP3_256 = 4;
FORMAT_MP3_320 = 5;
FORMAT_MP3_160 = 6;
FORMAT_MP3_96 = 7;
FORMAT_MP3_160_ENCRYPTED = 8;
FORMAT_AAC_24 = 9;
FORMAT_AAC_48 = 10;
FORMAT_MP4_128 = 11;
FORMAT_MP4_128_DUAL = 12;
FORMAT_MP4_128_CBCS = 13;
FORMAT_MP4_256 = 14;
FORMAT_MP4_256_DUAL = 15;
FORMAT_MP4_256_CBCS = 16;
FORMAT_FLAC_FLAC = 17;
FORMAT_MP4_FLAC = 18;
FORMAT_MP4_Unknown = 19;
FORMAT_MP3_Unknown = 20;
FORMAT_XHE_AAC_12 = 21;
FORMAT_XHE_AAC_16 = 22;
FORMAT_XHE_AAC_24 = 23;
FORMAT_FLAC_FLAC_24 = 24;
}

View file

@ -0,0 +1,19 @@
syntax = "proto3";
package spotify.collection_platform.proto;
option java_package = "com.spotify.collection_platform.esperanto.proto";
option java_multiple_files = true;
option objc_class_prefix = "ESP";
message CollectionPlatformItem {
string uri = 1;
int64 add_time = 2;
}
message CollectionPlatformContextItem {
string uri = 1;
int64 add_time = 2;
string context_uri = 3;
}

View file

@ -0,0 +1,11 @@
syntax = "proto3";
package spotify.player.esperanto.proto;
option java_package = "com.spotify.player.esperanto.proto";
option objc_class_prefix = "ESP";
message PauseResumeOrigin {
string feature_identifier = 1;
}

View file

@ -0,0 +1,6 @@
syntax = "proto3";
package spotify.esperanto;
import "google/protobuf/descriptor.proto";

View file

@ -0,0 +1,19 @@
// Extracted from: Spotify 1.2.52.442 (windows)
syntax = "proto3";
package spotify.lens.model.proto;
option java_package = "com.spotify.lens.model.proto";
option java_outer_classname = "LensModelProto";
option optimize_for = CODE_SIZE;
message Lens {
string identifier = 1;
}
message LensState {
string identifier = 1;
bytes revision = 2;
}

View file

@ -0,0 +1,19 @@
// Extracted from: Spotify 1.2.52.442 (windows)
syntax = "proto3";
package spotify.common.media;
option java_package = "com.spotify.common.proto";
option optimize_for = CODE_SIZE;
enum AudioQuality {
DEFAULT = 0;
LOW = 1;
NORMAL = 2;
HIGH = 3;
VERY_HIGH = 4;
HIFI = 5;
HIFI_24 = 6;
}

View file

@ -0,0 +1,12 @@
// Extracted from: Spotify 1.2.52.442 (windows)
syntax = "proto2";
package spotify.player.proto;
option optimize_for = CODE_SIZE;
message PauseResumeOrigin {
optional string feature_identifier = 1;
}

View file

@ -0,0 +1,20 @@
// Extracted from: Spotify 1.2.52.442 (windows)
syntax = "proto2";
package spotify.player.proto.transfer;
option optimize_for = CODE_SIZE;
message PlayHistory {
message Item {
optional string context_id = 1;
optional string uid = 2;
optional bool disliked = 3;
repeated transfer.PlayHistory.Item children = 4;
}
repeated transfer.PlayHistory.Item backward_items = 1;
repeated transfer.PlayHistory.Item forward_items = 2;
}

View file

@ -0,0 +1,13 @@
syntax = "proto3";
package spotify.stream_reporting_esperanto.proto;
option java_package = "com.spotify.stream_reporting_esperanto.proto";
option objc_class_prefix = "ESP";
enum PlaybackStack {
BOOMBOX = 0;
BETAMAX = 1;
UNKNOWN = 2;
}

View file

@ -0,0 +1,14 @@
syntax = "proto3";
package spotify.stream_reporting_esperanto.proto;
option java_package = "com.spotify.stream_reporting_esperanto.proto";
option objc_class_prefix = "ESP";
enum PlaybackStackV2 {
PLAYBACK_STACK_UNKNOWN = 0;
PLAYBACK_STACK_BOOMBOX = 1;
PLAYBACK_STACK_BETAMAX = 2;
PLAYBACK_STACK_KUBRICK = 3;
}

View file

@ -0,0 +1,14 @@
syntax = "proto3";
package spotify.stream_reporting_esperanto.proto;
option java_package = "com.spotify.stream_reporting_esperanto.proto";
option objc_class_prefix = "ESP";
enum PlaybackState {
ACTIVE = 0;
PAUSED = 1;
SUSPENDED = 2;
INVALID_PLAYBACK_STATE = 3;
}

View file

@ -0,0 +1,17 @@
syntax = "proto3";
package spotify.playlist.cosmos.proto;
option java_package = "com.spotify.playlist.policy.proto";
option java_multiple_files = true;
enum LinkType {
EMPTY = 0;
ARTIST = 1;
ALBUM = 2;
TRACK = 4;
LOCAL_TRACK = 9;
SHOW = 62;
EPISODE = 63;
}

View file

@ -0,0 +1,9 @@
syntax = "proto2";
package spotify.show_cosmos.proto;
message ShowOfflineState {
optional string offline_state = 1;
optional uint32 sync_progress = 2;
}

View file

@ -0,0 +1,16 @@
// Extracted from: Spotify 1.2.52.442 (windows)
syntax = "proto3";
package spotify.playlist.signal.proto;
option java_package = "com.spotify.playlist_signal.model.proto";
option java_outer_classname = "SignalModelProto";
option optimize_for = CODE_SIZE;
message Signal {
string identifier = 1;
bytes data = 2;
bytes client_payload = 3;
}

View file

@ -0,0 +1,18 @@
syntax = "proto3";
package spotify.audiobookcashier.v1;
option java_package = "com.spotify.audiobookcashier.v1";
option java_multiple_files = true;
message Price {
double amount = 1;
string currency = 2;
string formatted_price = 3;
}
message AudiobookPrice {
.spotify.audiobookcashier.v1.Price final_price = 1;
.spotify.audiobookcashier.v1.Price final_list_price = 2;
}

View file

@ -0,0 +1,9 @@
syntax = "proto2";
package spotify.player.proto.state_restore;
message AutomixRules {
required bool automix = 1;
required string current_track_uri = 2;
}

View file

@ -0,0 +1,11 @@
syntax = "proto2";
package spotify.player.proto.state_restore;
import "state_restore/provided_track.proto";
message AutomixTalkRules {
optional ProvidedTrack current_track = 1;
optional int64 narration_duration = 2;
}

View file

@ -0,0 +1,10 @@
syntax = "proto2";
package spotify.player.proto.state_restore;
import "context.proto";
message ContextLoader {
required Context context = 1;
}

View file

@ -0,0 +1,23 @@
syntax = "proto2";
package spotify.player.proto.state_restore;
import "state_restore/play_history.proto";
import "state_restore/player_model.proto";
import "state_restore/mft_state.proto";
import "state_restore/mft_context_history.proto";
import "state_restore/mft_fallback_page_history.proto";
import "state_restore/pns_capper.proto";
message ContextPlayerRestorable {
reserved 8;
required int32 version = 1;
optional string version_suffix = 2;
required PlayerModel player_model = 3;
required PlayHistory play_history = 4;
required MftState mft_can_play_checker = 5;
required MftContextHistory mft_context_history = 6;
required MftFallbackPageHistory mft_fallback_page_history = 7;
optional PnsCapper pns_capper = 9;
}

View file

@ -0,0 +1,59 @@
syntax = "proto2";
package spotify.player.proto.state_restore;
import "context_index.proto";
import "restrictions.proto";
import "play_origin.proto";
import "state_restore/provided_track.proto";
import "context_player_options.proto";
import "prepare_play_options.proto";
import "state_restore/playback_quality.proto";
message ContextPlayerState {
message ContextMetadataEntry {
optional string key = 1;
optional string value = 2;
}
message PageMetadataEntry {
optional string key = 1;
optional string value = 2;
}
message ModesEntry {
optional string key = 1;
optional string value = 2;
}
optional uint64 timestamp = 1;
optional string context_uri = 2;
optional string context_url = 3;
optional Restrictions context_restrictions = 4;
optional PlayOrigin play_origin = 5;
optional ContextIndex index = 6;
optional ProvidedTrack track = 7;
optional bytes playback_id = 8;
optional PlaybackQuality playback_quality = 9;
optional double playback_speed = 10;
optional uint64 position_as_of_timestamp = 11;
optional uint64 duration = 12;
optional bool is_playing = 13;
optional bool is_paused = 14;
optional bool is_buffering = 15;
optional bool is_system_initiated = 16;
optional ContextPlayerOptions options = 17;
optional Restrictions restrictions = 18;
repeated string suppressions = 19;
repeated ProvidedTrack prev_tracks = 20;
repeated ProvidedTrack next_tracks = 21;
repeated ContextPlayerState.ContextMetadataEntry context_metadata = 22;
repeated ContextPlayerState.PageMetadataEntry page_metadata = 23;
optional string session_id = 24;
optional uint64 queue_revision = 25;
optional AudioStream audio_stream = 26;
repeated string signals = 27;
repeated ContextPlayerState.ModesEntry modes = 28;
optional string session_command_id = 29;
}

View file

@ -0,0 +1,30 @@
syntax = "proto2";
package spotify.player.proto.state_restore;
message KittehBoxRules {
message NodeAspectsEntry {
optional string key = 1;
optional bytes value = 2;
}
enum Transition {
ADVANCE = 0;
SKIP_NEXT = 1;
SKIP_PREV = 2;
}
enum Position {
BETWEEN_TRACKS = 0;
ON_DELIMITER = 1;
ON_NODE_TRACK = 2;
}
repeated KittehBoxRules.NodeAspectsEntry node_aspects = 1;
required KittehBoxRules.Position pos = 2;
required KittehBoxRules.Transition last_transition = 3;
required int32 context_iteration = 4;
required bool pending_skip_to = 5;
optional int64 page_index = 6;
}

View file

@ -0,0 +1,15 @@
syntax = "proto2";
package spotify.player.proto.state_restore;
import "state_restore/playback_quality.proto";
message PlaybackState {
optional int64 timestamp = 1;
optional int32 position_as_of_timestamp = 2;
optional int32 duration = 3;
optional bool is_buffering = 4;
optional PlaybackQuality playback_quality = 5;
optional double playback_speed = 6;
}

View file

@ -0,0 +1,38 @@
syntax = "proto2";
package spotify.player.proto.state_restore;
import "context_player_options.proto";
import "state_restore/player_session_queue.proto";
message PlayerModel {
message ConfigurationEntry {
optional string key = 1;
optional string value = 2;
}
enum AdvanceReason {
SKIP_TO_PREV_TRACK = 1;
SKIP_TO_NEXT_TRACK = 2;
EXTERNAL_ADVANCE = 3;
INTERRUPTED = 4;
SWITCHED_TO_VIDEO = 5;
SWITCHED_TO_AUDIO = 6;
}
enum StartReason {
PLAY_CONTEXT = 1;
PLAY_CONTEXT_TRACK = 2;
STATE_RESTORE = 3;
REMOTE_TRANSFER = 4;
}
required ContextPlayerOptions options = 1;
repeated PlayerModel.ConfigurationEntry configuration = 2;
required PlayerSessionQueue session_queue = 3;
required PlayerModel.AdvanceReason last_advance_reason = 4;
optional PlayerModel.StartReason last_start_reason = 5;
required string prev_state_id = 6;
optional string override_state_id = 7;
}

View file

@ -0,0 +1,39 @@
syntax = "proto2";
package spotify.player.proto.state_restore;
import "context_track.proto";
import "context_player_options.proto";
import "logging_params.proto";
import "play_origin.proto";
import "player_license.proto";
import "prepare_play_options.proto";
import "state_restore/context_loader.proto";
import "state_restore/context_player_rules.proto";
import "state_restore/playback_state.proto";
import "state_restore/player_session_fake.proto";
import "state_restore/provided_track.proto";
message PlayerSession {
required PreparePlayOptions prepare_play_options = 1;
optional PlaybackState playback_state = 2;
optional ProvidedTrack track = 3;
optional ContextTrack track_to_skip_to = 4;
optional bytes given_playback_id = 5;
required LoggingParams next_command_logging_params = 6;
required LoggingParams curr_command_logging_params = 7;
required PlayOrigin play_origin = 8;
required bool is_playing = 9;
required bool is_paused = 10;
required bool is_system_initiated = 11;
required bool is_finished = 12;
required ContextPlayerOptions options = 13;
required uint64 playback_seed = 14;
required int32 num_advances = 15;
required bool did_skip_prev = 16;
required PlayerLicense license = 17;
required ContextPlayerRules rules = 18;
required ContextLoader loader = 19;
optional PlayerSessionFake fake = 100;
}

View file

@ -0,0 +1,13 @@
syntax = "proto2";
package spotify.player.proto.state_restore;
import "context.proto";
import "state_restore/context_player_state.proto";
message PlayerSessionFake {
required ContextPlayerState player_state = 1;
required Context player_context = 2;
required bool is_finished = 3;
}

View file

@ -0,0 +1,57 @@
syntax = "proto3";
package spotify.your_library.proto;
message YourLibraryLabelAndImage {
string label = 1;
string image = 2;
bool include_empty = 3;
}
message YourLibraryPseudoPlaylistConfig {
.spotify.your_library.proto.YourLibraryLabelAndImage liked_songs = 1;
.spotify.your_library.proto.YourLibraryLabelAndImage your_episodes = 2;
.spotify.your_library.proto.YourLibraryLabelAndImage new_episodes = 3;
.spotify.your_library.proto.YourLibraryLabelAndImage local_files = 4;
.spotify.your_library.proto.YourLibraryLabelAndImage cached_files = 5;
bool your_highlights = 6;
bool all_available_configs_provided = 99;
}
message YourLibraryFilters {
enum Filter {
ALBUM = 0;
ARTIST = 1;
PLAYLIST = 2;
SHOW = 3;
BOOK = 4;
EVENT = 5;
AUTHOR = 7;
DOWNLOADED = 100;
WRITABLE = 101;
BY_YOU = 102;
BY_SPOTIFY = 103;
UNPLAYED = 104;
IN_PROGRESS = 105;
FINISHED = 106;
}
repeated .spotify.your_library.proto.YourLibraryFilters.Filter filter = 1;
}
message YourLibrarySortOrder {
enum SortOrder {
NAME = 0;
RECENTLY_ADDED = 1;
CREATOR = 2;
CUSTOM = 4;
RECENTLY_UPDATED = 5;
RECENTLY_PLAYED_OR_ADDED = 6;
RELEVANCE = 7;
EVENT_START_TIME = 8;
RELEASE_DATE = 9;
}
.spotify.your_library.proto.YourLibrarySortOrder.SortOrder sort_order = 1;
}