dash – 41.neocities.org/dash Index | Files | Directories

package dash

import "41.neocities.org/dash"

Index

Types

type AdaptationSet

type AdaptationSet struct {
	ContentProtection []ContentProtection
	Lang              string `xml:"lang,attr"`
	MimeType          string `xml:"mimeType,attr"`
	Representation    []Representation
	Role              *struct {
		Value string `xml:"value,attr"`
	}
	SegmentTemplate *SegmentTemplate

	// pointers for Representation.String
	Codecs *string `xml:"codecs,attr"`
	Height *int64  `xml:"height,attr"`
	Width  *int64  `xml:"width,attr"`
	// contains filtered or unexported fields
}

func (*AdaptationSet) GetPeriod

func (a *AdaptationSet) GetPeriod() *Period

type ContentProtection

type ContentProtection struct {
	Pssh        string `xml:"pssh"`
	SchemeIdUri string `xml:"schemeIdUri,attr"`
}

type Duration

type Duration [1]time.Duration

func (*Duration) UnmarshalText

func (d *Duration) UnmarshalText(data []byte) error

type Initialization

type Initialization string

func (Initialization) Url

func (i Initialization) Url(r *Representation) (*url.URL, error)

type ListUrl

type ListUrl string

func (ListUrl) Url

func (u ListUrl) Url(r *Representation) (*url.URL, error)

type Media

type Media string

func (Media) Url

func (m Media) Url(r *Representation, index int) (*url.URL, error)

type Mpd

type Mpd struct {
	BaseUrl                   Url      `xml:"BaseURL"`
	MediaPresentationDuration Duration `xml:"mediaPresentationDuration,attr"`
	Period                    []Period
}

func (*Mpd) Representation

func (m *Mpd) Representation() iter.Seq[Representation]

func (*Mpd) Set

func (m *Mpd) Set(url1 *url.URL)

func (*Mpd) Unmarshal

func (m *Mpd) Unmarshal(data []byte) error

type Period

type Period struct {
	AdaptationSet []AdaptationSet
	BaseUrl       Url       `xml:"BaseURL"`
	Duration      *Duration `xml:"duration,attr"`
	Id            string    `xml:"id,attr"`
	// contains filtered or unexported fields
}

type Range

type Range [2]uint64

SegmentIndexBox uses: unsigned int(32) subsegment_duration; but range values can exceed 32 bits

func (Range) String

func (r Range) String() string

func (*Range) UnmarshalText

func (r *Range) UnmarshalText(data []byte) error

type Representation

type Representation struct {
	Bandwidth         int     `xml:"bandwidth,attr"`
	BaseUrl           Url     `xml:"BaseURL"`
	Codecs            *string `xml:"codecs,attr"`
	ContentProtection []ContentProtection
	Height            *int64  `xml:"height,attr"`
	Id                string  `xml:"id,attr"`
	MimeType          *string `xml:"mimeType,attr"`
	SegmentBase       *struct {
		Initialization struct {
			Range Range `xml:"range,attr"`
		}
		IndexRange Range `xml:"indexRange,attr"`
	}
	SegmentList *struct {
		Initialization struct {
			SourceUrl ListUrl `xml:"sourceURL,attr"`
		}
		SegmentUrl []struct {
			Media ListUrl `xml:"media,attr"`
		} `xml:"SegmentURL"`
	}
	SegmentTemplate *SegmentTemplate
	Width           *int64 `xml:"width,attr"`
	// contains filtered or unexported fields
}

func (*Representation) GetAdaptationSet

func (r *Representation) GetAdaptationSet() *AdaptationSet

func (*Representation) Representation

func (r *Representation) Representation() iter.Seq[Representation]

func (*Representation) Segment

func (r *Representation) Segment() iter.Seq[int]

func (*Representation) String

func (r *Representation) String() string

type SegmentTemplate

type SegmentTemplate struct {
	StartNumber *int `xml:"startNumber,attr"`
	// This can be any frequency but typically is the media clock frequency of
	// one of the media streams (or a positive integer multiple thereof).
	Timescale              *uint64        `xml:"timescale,attr"`
	Media                  Media          `xml:"media,attr"`
	Initialization         Initialization `xml:"initialization,attr"`
	Duration               float64        `xml:"duration,attr"`
	PresentationTimeOffset int            `xml:"presentationTimeOffset,attr"`
	SegmentTimeline        *struct {
		S []struct {
			D int `xml:"d,attr"` // duration
			R int `xml:"r,attr"` // repeat
		}
	}
}

type Url

type Url [1]*url.URL

func (*Url) UnmarshalText

func (u *Url) UnmarshalText(data []byte) error

Source Files

dash.go

Directories

PathSynopsis
internal
Version
v1.26.6 (latest)
Published
Feb 14, 2025
Platform
linux/amd64
Imports
8 packages
Last checked
2 days ago

Tools for package owners.