Skip to content

Releases: tezzro/gstreamer

1.24.8-fix-seg-gap

Choose a tag to compare

@asdfgh5889 asdfgh5889 released this 14 Mar 06:39
72aa183

What's Changed

  • Fix seeking in streams with gaps by @xhaakon in #2

Full Changelog: 1.24.8-sync-mpd-update...1.24.8-fix-seg-gap

1.24.8-sync-mpd-update

Choose a tag to compare

@asdfgh5889 asdfgh5889 released this 18 Feb 08:55
e294d43

What's Changed

  • adaptivedemux2: update manifest synchronously by @xhaakon in #1

New Contributors

Full Changelog: 1.24.8-fix-segment-start...1.24.8-sync-mpd-update

1.24.8-fix-segment-start

Choose a tag to compare

Full Changelog: 1.24.8-dynamic-multi-period...1.24.8-fix-segment-start

This release addresses an issue in the dashdemux2 element of GStreamer where the segment start time could overflow under certain conditions. Specifically, this problem arises when the presentationTimeOffset (PTO) is larger than the segment start time (S->t).

Such scenarios occur when attempting to set an exact start time for the MPD video using the presentation time offset. The offset allows for the playback to begin at any point within the segment timeline. However, when the calculated start_time becomes negative due to an overflow (as presentationTimeOffset exceeds S->t), the demuxer fails to play from the start of the video.

Relevant Documentation:
This behavior aligns with the timing scenarios described in the MPEG-DASH timing guidelines:
image

https://dashif.org/Guidelines-TimingModel/#timing-sampletimeline

1.24.8-dynamic-multi-period

Choose a tag to compare

Full Changelog: 1.24.8...1.24.8-dynamic-multi-period

This release includes several critical fixes for handling scenarios involving dynamic MPDs with multiple periods and non-uniform segment timing.

Fixes Included:

  1. Dynamic MPD with Multiple Periods:

    Issue: In dynamic MPDs with multiple periods, the last period was incorrectly assigned the duration of the previous period. This caused failures in the demuxer, particularly when locating the appropriate segment at the live edge.

    Fix: The duration of the live period is now correctly set to GST_CLOCK_TIME_NONE, ensuring accurate handling of live streams.

  2. Non-Uniform Segment Start Times with Gaps:

    Issue: When the source MPD contained small gaps (e.g., 5 ms) between segment start times, the demuxer failed to locate the correct segment. This also caused overflows in the global segment repeat index.

    Fix: The demuxer now accounts for small gaps between segments (≤5 ms), ensuring proper segment detection and preventing index overflows.

  3. Global Segment Index Calculation:

    Issue: The calculation of the global segment repeat index unnecessarily factored in the segment start time, despite it already being included in segment->start. This redundancy could lead to errors.

    Fix: The logic was streamlined to exclude the redundant use of the segment start time, ensuring accurate repeat index calculations.