streaming

Media streaming and broadcast systems in Go
Log | Files | Refs | README | LICENSE

commit 5fa40b193f6b829e6554034f883cb61bca64a38a
parent d09853b19071422bdbbbc45d334e9960e62bfbfb
Author: Oliver Lowe <o@olowe.co>
Date:   Sat,  8 Jun 2024 19:47:52 +1000

m3u8: finish documenting Rendition

With more examples and description of what valid values are.  Also
fixed dangling links.

Diffstat:
Mm3u8/master.go | 41++++++++++++++++++++++++++---------------
1 file changed, 26 insertions(+), 15 deletions(-)

diff --git a/m3u8/master.go b/m3u8/master.go @@ -7,33 +7,44 @@ import ( // Rendition represents a unique rendition as described by a single // EXT-X-MEDIA tag specified in RFC 8216 section 4.3.4.1. +// +// Each Rendition must belong to a named Group specified by the Group field. +// Each member must have a unique Name set. +// Only one member may have Default set. +// Members with AutoSelect set must have unique values for Language, +// AssocLanguage, Forced, and Characteristics in their Group. type Rendition struct { - // Type identifies type of media in the rendition. + // Type is a required field identifying the type of media in the rendition. Type MediaType - // Points to a media playlist carrying a rendition of this stream. + // URI is a required field pointing to a media playlist carrying the rendition. URI string - // Group specifies the group to which the rendition belongs. + // Group names the group in which this Rendition belongs. + // It corresponds to the "GROUP-ID" attribute. Group string - // Language identifies the primary language used in the rendition. + // Language contains a RFC 5646-formatted tag identifying + // the primary language used in the rendition. Language string - // AssocLanguage identifies a language that is associated with the rendition. + // AssocLanguage contains a RFC 5646-formatted tag identifying + // an associated language used in a different role than the one set in Language. AssocLanguage string - // Name represents the description of the rendition. + // Name describes the rendition. Name string - // Defaults specifies whether client SHOULD play this Rendition of the content in - // the absence of information from the user indicating a different choice. + // Default specifies whether players should play this + // Rendition when a user has not indicated otherwise. Default bool - // AutoSelect specifies to play this rendition in the absence of explicit user preference. + // AutoSelect indicates that this Rendition may be + // automatically played based on the playback environment, such + // as a matching system language. AutoSelect bool - // Forced specifies whether the rendition contains content that is considered essential to play. + // Forced indicates that the rendition contains essential content for playing. Forced bool - // InstreamID contains a Line 21 Data Services channel [CEA608] or - // Digital Television Closed Captioning [CEA708] service block number. + // InstreamID points to closed-caption information. InstreamID *CCInfo - // Characteristics contains one or more Uniform Type Identifiers [UTI] - // For example: []string{"public.accessibility.transcribes-spoken-dialog","public.easy-to-read"} + // Characteristics contains Uniform Type Identifiers. + // For example []string{CharacteristicTranscribesDialog, ChractersticEasyToRead} Characteristics []string - // Channels presents a list audio channels expressed as a decimal-integer. + // Channels contains the different counts of audio channels available in the Rendition. + // For example []string{"2,6"} represents stereo (2) and 5.1 surround-sound (5 + 1) channels. Channels []string }