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; }