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

85 lines
2.1 KiB
Protocol Buffer

// Extracted from: Spotify 1.2.52.442 (windows)
syntax = "proto3";
package spotify.player.esperanto.proto;
import "es_restrictions.proto";
import "es_play_origin.proto";
import "es_optional.proto";
import "es_provided_track.proto";
import "es_context_player_options.proto";
import "es_prepare_play_options.proto";
option objc_class_prefix = "ESP";
option optimize_for = CODE_SIZE;
option java_package = "com.spotify.player.esperanto.proto";
message ContextIndex {
uint64 page = 1;
uint64 track = 2;
}
message PlaybackQuality {
enum BitrateLevel {
UNKNOWN = 0;
LOW = 1;
NORMAL = 2;
HIGH = 3;
VERY_HIGH = 4;
HIFI = 5;
HIFI24 = 6;
}
enum BitrateStrategy {
UNKNOWN_STRATEGY = 0;
BEST_MATCHING = 1;
BACKEND_ADVISED = 2;
OFFLINED_FILE = 3;
CACHED_FILE = 4;
LOCAL_FILE = 5;
}
enum HiFiStatus {
NONE = 0;
OFF = 1;
ON = 2;
}
BitrateLevel bitrate_level = 1;
BitrateStrategy strategy = 2;
BitrateLevel target_bitrate_level = 3;
bool target_bitrate_available = 4;
HiFiStatus hifi_status = 5;
}
message ContextPlayerState {
uint64 timestamp = 1;
string context_uri = 2;
string context_url = 3;
Restrictions context_restrictions = 4;
PlayOrigin play_origin = 5;
ContextIndex index = 6;
ProvidedTrack track = 7;
bytes playback_id = 8;
PlaybackQuality playback_quality = 9;
OptionalDouble playback_speed = 10;
OptionalInt64 position_as_of_timestamp = 11;
OptionalInt64 duration = 12;
bool is_playing = 13;
bool is_paused = 14;
bool is_buffering = 15;
bool is_system_initiated = 16;
ContextPlayerOptions options = 17;
Restrictions restrictions = 18;
repeated string suppressions = 19;
repeated ProvidedTrack prev_tracks = 20;
repeated ProvidedTrack next_tracks = 21;
map<string, string> context_metadata = 22;
map<string, string> page_metadata = 23;
string session_id = 24;
uint64 queue_revision = 25;
PreparePlayOptions.AudioStream audio_stream = 26;
repeated string signals = 27;
string session_command_id = 28;
}