Skip to content

stream.dash: various SegmentList/SegmentTemplate fixes #5247

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Mar 14, 2023

Conversation

bastimeyer
Copy link
Member

A bunch of SegmentList (and SegmentTemplate) fixes. Motivation in each commit message.

Changes are required for implementing SegmentTimeline processing in SegmentList later on (YouTube live streams with timeshift).

- Turn `SegmentList` into an only-child in `Period`, `AdaptationSet`
  and `Representation`
- Set `parent` type in `SegmentList`
- Turn `SegmentList.segments` from a property into a regular method,
  similar to `SegmentTemplate.segments()`
Inherit attributes from ancestor `SegmentList` nodes, if set,
similar to `SegmentTemplate`.

Also fix `presentationTimeOffset` not being inherited in
`SegmentTemplate`.

TODO: use common `MultipleSegmentBaseType` class for these attributes
The number of `SegmentURL` nodes in `SegmentList` can be zero, e.g. when
the `SegmentList` gets overridden in a descendant node
- Fix `SegmentTimeline` in `SegmentTemplate` and find ancestor timelines
- Add `SegmentTimeline` to `SegmentList` (currently unused)
@bastimeyer bastimeyer force-pushed the stream/dash/fix-segment-list branch from a52c80b to ab7de68 Compare March 14, 2023 08:05
@gravyboat gravyboat merged commit b2159a9 into streamlink:master Mar 14, 2023
@bastimeyer bastimeyer deleted the stream/dash/fix-segment-list branch March 14, 2023 19:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants