shaka-packager/packager
Caitlin O'Callaghan c87c5bcdef
Fix for gap size warning in Low Latency mode (#985)
## The issue
- With LL-DASH mode enabled, the gap size warning was hit and printed to the console every time a new segment was registered to the manifest.
- This occurred because the first chunk's size and duration were being stored for each segment, rather than the full segment size and duration. Note, only the first chunk's metrics are known at first because in low latency mode, the segment is registered to the manifest before it is finished being processed and written.
- Because of this, the gap size check was comparing the end time of the first chunk in the previous segment to the beginning time of the current segment, causing the check to fail every time.

## The Fix
- Update a low latency segment's duration and size once the segment file has been fully written.
- The full segment size and duration will be used to update the bandwidth estimator and the segment info list. 
- Updating the segment info list to hold the full duration is necessary for satisfying [the gap size check found in Represenation.cc](https://github.com/google/shaka-packager/blob/master/packager/mpd/base/representation.cc#L391).
- NOTE: bandwidth estimation is currently only used in HLS
2021-09-03 09:57:43 -07:00
..
app build: Fix additional python2/3 issues 2021-08-26 12:22:20 -07:00
buildtools/third_party Update DEPS to fix mac build failure 2016-08-19 13:49:41 -07:00
file Low latency DASH support (#979) 2021-08-25 08:38:05 -07:00
hls cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
media Fix for gap size warning in Low Latency mode (#985) 2021-09-03 09:57:43 -07:00
mpd Fix for gap size warning in Low Latency mode (#985) 2021-09-03 09:57:43 -07:00
testing build: Stop using hermetic clang, libc++, etc 2021-07-29 13:54:44 -07:00
third_party build: Fix pylint 2.10 issues, use python3 where possible 2021-08-24 12:27:03 -07:00
tools build: Fix pylint 2.10 issues, use python3 where possible 2021-08-24 12:27:03 -07:00
version build: Fix additional python2/3 issues 2021-08-26 12:22:20 -07:00
common.gypi ci: Produce static release executables on Linux (#978) 2021-08-12 20:14:43 -07:00
packager.cc Low latency DASH support (#979) 2021-08-25 08:38:05 -07:00
packager.gyp Fix Windows shared_library builds 2021-06-15 13:16:47 -07:00
packager.h cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
packager_test.cc Low latency DASH support (#979) 2021-08-25 08:38:05 -07:00
protoc.gypi build: Fix pylint 2.10 issues, use python3 where possible 2021-08-24 12:27:03 -07:00
status.cc Fix error code message for trick play error 2018-12-13 00:26:55 +00:00
status.h Cleans up Status class 2018-01-31 03:32:07 +00:00
status_macros.h Generate full segment after cue point 2018-03-27 19:14:26 +00:00
status_test_util.h Implement multi DRM support. (Part 1) 2018-03-03 01:39:16 +00:00
status_unittest.cc Cleans up Status class 2018-01-31 03:32:07 +00:00