Update metadata.proto

This commit is contained in:
ashthespy 2019-10-08 19:20:18 +02:00
parent 8eb51e9b55
commit 6786c093ad
3 changed files with 1384 additions and 592 deletions

View file

@ -1,9 +0,0 @@
// Autogenerated by build.rs
pub const FILES: &'static [(&'static str, u32)] = &[
("proto/authentication.proto", 2098196376),
("proto/keyexchange.proto", 451735664),
("proto/mercury.proto", 709993906),
("proto/metadata.proto", 334477813),
("proto/pubsub.proto", 2686584829),
("proto/spirc.proto", 1587493382),
];

View file

@ -39,6 +39,8 @@ message Date {
optional sint32 year = 0x1; optional sint32 year = 0x1;
optional sint32 month = 0x2; optional sint32 month = 0x2;
optional sint32 day = 0x3; optional sint32 day = 0x3;
optional sint32 hour = 0x4;
optional sint32 minute = 0x5;
} }
message Album { message Album {
@ -124,15 +126,29 @@ message Copyright {
} }
message Restriction { message Restriction {
optional string countries_allowed = 0x2; enum Catalogue {
optional string countries_forbidden = 0x3; AD = 0;
optional Type typ = 0x4; SUBSCRIPTION = 1;
CATALOGUE_ALL = 2;
SHUFFLE = 3;
COMMERCIAL = 4;
}
enum Type { enum Type {
STREAMING = 0x0; STREAMING = 0x0;
} }
repeated Catalogue catalogue = 0x1;
optional string countries_allowed = 0x2;
optional string countries_forbidden = 0x3;
optional Type typ = 0x4;
repeated string catalogue_str = 0x5; repeated string catalogue_str = 0x5;
} }
message Availability {
repeated string catalogue_str = 0x1;
optional Date start = 0x2;
}
message SalePeriod { message SalePeriod {
repeated Restriction restriction = 0x1; repeated Restriction restriction = 0x1;
optional Date start = 0x2; optional Date start = 0x2;
@ -156,6 +172,9 @@ message AudioFile {
MP3_160 = 0x5; MP3_160 = 0x5;
MP3_96 = 0x6; MP3_96 = 0x6;
MP3_160_ENC = 0x7; MP3_160_ENC = 0x7;
// v4
// AAC_24 = 0x8;
// AAC_48 = 0x9;
MP4_128_DUAL = 0x8; MP4_128_DUAL = 0x8;
OTHER3 = 0x9; OTHER3 = 0x9;
AAC_160 = 0xa; AAC_160 = 0xa;
@ -165,50 +184,47 @@ message AudioFile {
} }
} }
message VideoFile {
optional bytes file_id = 1;
}
// Podcast Protos // Podcast Protos
message PublishTime {
optional sint32 year = 0x1;
optional sint32 month = 0x2;
optional sint32 day = 0x3;
// These seem to be differently encoded
optional sint32 minute = 0x5;
optional sint32 hour = 0x4;
}
message Show { message Show {
optional bytes gid = 0x1;
optional string name = 0x2;
repeated Episode episode = 0x46;
// Educated guesses
optional string description = 0x40;
optional string publisher = 0x42;
optional string language = 0x43;
optional bool explicit = 0x44;
optional ImageGroup covers = 0x45;
repeated Restriction restriction = 0x48;
optional MediaType media_type = 0x4A;
optional ConsumptionOrder consumption_order = 0x4B;
optional bool interpret_restriction_using_geoip = 0x4C;
optional string country_of_origin = 0x4F;
repeated Category categories = 0x50;
optional PassthroughEnum passthrough = 0x51;
}
enum ConsumptionOrder {
SEQUENTIAL = 1;
EPISODIC = 2;
RECENT = 3;
}
enum MediaType { enum MediaType {
MIXED = 0; MIXED = 0;
AUDIO = 1; AUDIO = 1;
VIDEO = 2; VIDEO = 2;
} }
enum ConsumptionOrder {
SEQUENTIAL = 1;
EPISODIC = 2;
RECENT = 3;
}
enum PassthroughEnum { enum PassthroughEnum {
UNKNOWN = 0; UNKNOWN = 0;
NONE = 1; NONE = 1;
ALLOWED = 2; ALLOWED = 2;
} }
optional bytes gid = 0x1;
optional string name = 0x2;
optional string description = 0x40;
optional sint32 deprecated_popularity = 0x41;
optional string publisher = 0x42;
optional string language = 0x43;
optional bool explicit = 0x44;
optional ImageGroup covers = 0x45;
repeated Episode episode = 0x46;
repeated Copyright copyright = 0x47;
repeated Restriction restriction = 0x48;
repeated string keyword = 0x49;
optional MediaType media_type = 0x4A;
optional ConsumptionOrder consumption_order = 0x4B;
optional bool interpret_restriction_using_geoip = 0x4C;
repeated Availability availability = 0x4E;
optional string country_of_origin = 0x4F;
repeated Category categories = 0x50;
optional PassthroughEnum passthrough = 0x51;
}
message Episode { message Episode {
optional bytes gid = 0x1; optional bytes gid = 0x1;
@ -216,19 +232,26 @@ message Episode {
optional sint32 duration = 0x7; optional sint32 duration = 0x7;
optional sint32 popularity = 0x8; optional sint32 popularity = 0x8;
repeated AudioFile file = 0xc; repeated AudioFile file = 0xc;
// Educated guesses
optional string description = 0x40; optional string description = 0x40;
optional sint32 number = 0x41;
optional Date publish_time = 0x42; optional Date publish_time = 0x42;
optional sint32 deprecated_popularity = 0x43;
optional ImageGroup covers = 0x44; optional ImageGroup covers = 0x44;
optional string language = 0x45; optional string language = 0x45;
optional bool explicit = 0x46; optional bool explicit = 0x46;
optional Show show = 0x47; optional Show show = 0x47;
repeated AudioFile preview = 0x4A; repeated VideoFile video = 0x48;
repeated VideoFile video_preview = 0x49;
repeated AudioFile audio_preview = 0x4A;
repeated Restriction restriction = 0x4B; repeated Restriction restriction = 0x4B;
// Order of these flags might be wrong! optional ImageGroup freeze_frame = 0x4C;
repeated string keyword = 0x4D;
// Order of these two flags might be wrong!
optional bool suppress_monetization = 0x4E; optional bool suppress_monetization = 0x4E;
optional bool allow_background_playback = 0x4F; optional bool interpret_restriction_using_geoip = 0x4F;
optional bool interpret_restriction_using_geoip = 0x51;
optional bool allow_background_playback = 0x51;
repeated Availability availability = 0x52;
optional string external_url = 0x53; optional string external_url = 0x53;
optional OriginalAudio original_audio = 0x54; optional OriginalAudio original_audio = 0x54;
} }

File diff suppressed because it is too large Load diff