shaka-packager/packager/media/formats/mp4
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
..
box.cc Set Box Definition Defaults in Header 2018-06-04 23:14:59 +00:00
box.h Set Box Definition Defaults in Header 2018-06-04 23:14:59 +00:00
box_buffer.h Add TTML-in-MP4 output support. 2020-11-20 15:10:33 -08:00
box_definitions.cc Added MPEG-H support (mha1, mhm1) 2021-06-29 23:10:53 -07:00
box_definitions.h Added MPEG-H support (mha1, mhm1) 2021-06-29 23:10:53 -07:00
box_definitions_comparison.h Refactor and Cleanup Descriptor classes 2019-02-27 22:26:10 +00:00
box_definitions_unittest.cc Added MPEG-H support (mha1, mhm1) 2021-06-29 23:10:53 -07:00
box_reader.cc Skip reading meta box as it may not be well formed 2018-03-01 20:21:37 +00:00
box_reader.h Clean up #ifndef in packager/media. (#310) 2017-12-19 16:56:36 -08:00
box_reader_unittest.cc Fix x64 build on Windows. 2017-01-05 14:19:35 -08:00
chunk_info_iterator.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
chunk_info_iterator.h Clean up #ifndef in packager/media. (#310) 2017-12-19 16:56:36 -08:00
chunk_info_iterator_unittest.cc Replace scoped_ptr with std::unique_ptr 2016-08-18 17:12:36 -07:00
composition_offset_iterator.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
composition_offset_iterator.h Clean up #ifndef in packager/media. (#310) 2017-12-19 16:56:36 -08:00
composition_offset_iterator_unittest.cc Replace scoped_ptr with std::unique_ptr 2016-08-18 17:12:36 -07:00
decoding_time_iterator.cc cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
decoding_time_iterator.h cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
decoding_time_iterator_unittest.cc cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
fragmenter.cc cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
fragmenter.h cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
key_frame_info.h cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
low_latency_segment_segmenter.cc Fix for gap size warning in Low Latency mode (#985) 2021-09-03 09:57:43 -07:00
low_latency_segment_segmenter.h Fix for gap size warning in Low Latency mode (#985) 2021-09-03 09:57:43 -07:00
mp4.gyp Low latency DASH support (#979) 2021-08-25 08:38:05 -07:00
mp4_media_parser.cc cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
mp4_media_parser.h Add TextSample to MediaParser. 2020-09-16 20:09:28 +00:00
mp4_media_parser_unittest.cc Add TextSample to MediaParser. 2020-09-16 20:09:28 +00:00
mp4_muxer.cc Low latency DASH support (#979) 2021-08-25 08:38:05 -07:00
mp4_muxer.h Convert text WebVTT output to muxer. 2020-10-19 17:24:38 +00:00
multi_segment_segmenter.cc cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
multi_segment_segmenter.h Drepcate --num_subsegments_per_sidx 2018-07-02 21:59:14 +00:00
segmenter.cc Low latency DASH support (#979) 2021-08-25 08:38:05 -07:00
segmenter.h Low latency DASH support (#979) 2021-08-25 08:38:05 -07:00
single_segment_segmenter.cc cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
single_segment_segmenter.h [MP4] Allow not to generate 'sidx' box for single-segment too 2020-12-11 19:08:37 +00:00
sync_sample_iterator.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
sync_sample_iterator.h Clean up #ifndef in packager/media. (#310) 2017-12-19 16:56:36 -08:00
sync_sample_iterator_unittest.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
track_run_iterator.cc cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
track_run_iterator.h Adjust timestamps in mp4 if there is an initial composition offset 2018-07-26 23:20:21 +00:00
track_run_iterator_unittest.cc Adjust timestamps in mp4 if there is an initial composition offset 2018-07-26 23:20:21 +00:00