import "enums.proto"; import "steammessages_base.proto"; import "webuimessages_base.proto"; option optimize_for = SPEED; option cc_generic_services = true; message CGameRecordingFile { repeated .CGameRecordingTimelineMetadata timelines = 1; repeated .CGameRecordingPostGameSummary postgame_events = 2; repeated string temporary_clips = 3; repeated .CGameRecordingTag tags = 4; } message CGameRecordingClipFile { repeated .CGameRecordingTimelineMetadata timelines = 1; optional uint64 first_timeline_start_offset_ms = 2; optional uint32 date_recorded = 3; optional uint64 game_id = 4; optional fixed64 published_file_id = 5; optional uint64 size_in_bytes = 6; optional string name = 7; optional bool temporary = 8; optional string original_device = 9; optional uint32 original_gaming_device_type = 10; optional uint32 date_downloaded = 11; optional uint32 thumbnail_width = 12; optional uint32 thumbnail_height = 13; repeated .CGameRecordingTag tags = 14; repeated .CGameRecordingPhase phases = 15; } message CGameRecordingTimelineMetadata { message Recording { optional string recording_id = 1; optional uint64 start_offset_ms = 2; optional uint64 duration_ms = 3; optional .EGameRecordingType recording_type = 4 [default = k_EGameRecordingType_Unknown]; optional bool delete_on_cleanup = 5; optional uint64 video_manager_clip_id = 6; optional uint64 video_manager_video_id = 7; optional string cdn_manifest_url = 8; optional uint64 file_size = 9; optional uint64 recording_zero_timeline_offset_ms = 10; } optional string timeline_id = 1; optional uint64 game_id = 2; optional uint32 date_recorded = 3; optional uint64 duration_ms = 4; repeated .CGameRecordingTimelineMetadata.Recording recordings = 5; repeated .CGameRecordingPhase phases = 6; repeated .CGameRecordingTimelineEvent significant_events = 7; } message CGameRecordingPostGameSummary { optional uint64 game_id = 1; repeated .CGameRecordingTimelineEvent events = 2; } message CGameRecordingTimelineEvent { optional uint64 game_id = 1; optional uint32 rt_created = 2; optional int32 possible_clip = 3; optional string timeline_id = 4; optional uint64 entry_id = 5; optional uint64 timeline_offset_ms = 6; optional uint64 duration_ms = 7; optional string marker_icon = 8; optional string marker_title = 9; optional bool user_marker = 10; } message CGameRecordingTag { message Timeline { optional string clip_id = 1; optional string timeline_id = 2; optional uint64 offset_ms = 3; } optional uint64 game_id = 1; optional .CTimelineTag tag = 2; repeated .CGameRecordingTag.Timeline references = 3; } message CGameRecordingTagInstance { optional string timeline_id = 1; optional uint64 entry_id = 2; optional uint64 timeline_offset_ms = 3; optional uint64 duration_ms = 4; } message CGameRecordingPhase { message Tag { optional string name = 1; optional string group = 2; } optional string phase_id = 4; optional uint64 duration_ms = 5; repeated .CGameRecordingPhase.Tag tags = 6; repeated .CGameRecordingPhase.Tag contained_tags = 7; optional uint64 background_timeline_offset = 8; repeated .CPhaseAttribute attributes = 9; } message CTimelineTag { optional string name = 1; optional string group = 2; optional string icon = 3; optional uint32 priority = 4; } message CPhaseAttribute { optional string group = 1; optional string value = 2; optional uint32 priority = 3; }