shaka-packager/packager/media/base
Caitlin O'Callaghan cd018a71c3
Low latency DASH support (#979)
# LL-DASH Support
These changes add support for LL-DASH streaming. 

**NOTE:** LL-HLS support is still in progress, but it's coming. :) 

## Testing
`./chunking_unittest --gtest_filter="ChunkingHandlerTest.LowLatencyDash"`

`./media_event_unittest --gtest_filter="MpdNotifyMuxerListenerTest.LowLatencyDash"`

`./mpd_unittest --gtest_filter="PeriodTest.LowLatencyDashMpdGetXml"`
`./mpd_unittest --gtest_filter="SimpleMpdNotifierTest.NotifyAvailabilityTimeOffset"`
`./mpd_unittest --gtest_filter="SimpleMpdNotifierTest.NotifySegmentDuration"`
`./mpd_unittest --gtest_filter="LowLatencySegmentTest.LowLatencySegmentTemplate"`

Note, packager_test must be run from the main project directory
`./out/Release/packager_test --gtest_filter="PackagerTest.LowLatencyDashEnabledAndUtcTimingNotSet"`
`./out/Release/packager_test --gtest_filter="PackagerTest.LowLatencyDashEnabledAndUtcTimingNotSet"`
2021-08-25 08:38:05 -07:00
..
test Clean up #ifndef in packager/media. (#310) 2017-12-19 16:56:36 -08:00
aes_cryptor.cc Properly initialize crypto engine to enable HWAES 2019-10-22 21:37:12 -07:00
aes_cryptor.h Fix SAMPLE-AES EC3 encryption 2018-01-24 03:02:49 +00:00
aes_cryptor_unittest.cc Properly initialize crypto engine to enable HWAES 2019-10-22 21:37:12 -07:00
aes_decryptor.cc Add appveyor config for Windows CI 2016-08-23 12:24:34 -07:00
aes_decryptor.h Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
aes_encryptor.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
aes_encryptor.h Clean up #ifndef in packager/media. (#310) 2017-12-19 16:56:36 -08:00
aes_pattern_cryptor.cc Clear up condition in AesPatternCryptor (#476) 2018-09-13 14:04:11 -07:00
aes_pattern_cryptor.h Fix pattern encryption when applying to patterns other than 1:9 2018-08-31 19:15:43 +00:00
aes_pattern_cryptor_unittest.cc Move encryptor setup out of EncryptionHandler 2018-10-10 19:27:28 +00:00
audio_stream_info.cc cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
audio_stream_info.h cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
audio_timestamp_helper.cc cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
audio_timestamp_helper.h cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
audio_timestamp_helper_unittest.cc cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
bit_reader.cc Properly handle SkipBytes with num_bytes as 0 2020-12-23 11:08:33 -08:00
bit_reader.h Add cc_index to stream descriptor. 2021-02-17 18:33:53 +00:00
bit_reader_unittest.cc Properly handle SkipBytes with num_bytes as 0 2020-12-23 11:08:33 -08:00
bit_writer.cc Implement BitWriter 2017-10-25 16:19:12 -07:00
bit_writer.h Implement BitWriter 2017-10-25 16:19:12 -07:00
bit_writer_unittest.cc Implement BitWriter 2017-10-25 16:19:12 -07:00
buffer_reader.cc Add TTML-in-MP4 output support. 2020-11-20 15:10:33 -08:00
buffer_reader.h Add TTML-in-MP4 output support. 2020-11-20 15:10:33 -08:00
buffer_writer.cc Cleanup HttpFile and related PR. 2021-03-02 17:43:47 +00:00
buffer_writer.h Add BufferWriter::AppendString 2018-05-08 21:25:01 +00:00
buffer_writer_unittest.cc Add BufferWriter::AppendString 2018-05-08 21:25:01 +00:00
byte_queue.cc Fix segmented WebVTT test. 2020-09-16 13:24:16 -07:00
byte_queue.h Clean up #ifndef in packager/media. (#310) 2017-12-19 16:56:36 -08:00
cc_stream_filter.cc Add cc_index to stream descriptor. 2021-02-17 18:33:53 +00:00
cc_stream_filter.h Add cc_index to stream descriptor. 2021-02-17 18:33:53 +00:00
closure_thread.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
closure_thread.h Clean up #ifndef in packager/media. (#310) 2017-12-19 16:56:36 -08:00
closure_thread_unittest.cc Update DEPS to fix mac build failure 2016-08-19 13:49:41 -07:00
common_pssh_generator.cc Move protection system Ids to protection_system_ids.h 2018-09-17 15:29:53 -07:00
common_pssh_generator.h Move protection system Ids to protection_system_ids.h 2018-09-17 15:29:53 -07:00
container_names.cc Add TTML-in-MP4 output support. 2020-11-20 15:10:33 -08:00
container_names.h Share chunkers from the same input except for WVM 2018-01-22 17:43:25 -08:00
container_names_unittest.cc Allow CMAF file extensions 2019-03-26 12:27:46 -07:00
decrypt_config.cc Implement EncryptionHandler 2017-02-11 01:21:28 +00:00
decrypt_config.h Clean up #ifndef in packager/media. (#310) 2017-12-19 16:56:36 -08:00
decryptor_source.cc Update MediaSample to avoid redundent copying 2017-09-28 14:01:30 -07:00
decryptor_source.h Clean up #ifndef in packager/media. (#310) 2017-12-19 16:56:36 -08:00
decryptor_source_unittest.cc Rename fixed_key to raw_key 2017-10-24 21:52:01 +00:00
encryption_config.h Update EncryptionHandler to support key rotation and SampleAes 2017-03-21 23:50:53 +00:00
fourccs.h Added MPEG-H support (mha1, mhm1) 2021-06-29 23:10:53 -07:00
http_key_fetcher.cc cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
http_key_fetcher.h cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
http_key_fetcher_unittest.cc cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
id3_tag.cc Implemented Id3Tag class to handle ID3 tag 2018-05-16 01:04:02 +00:00
id3_tag.h Implemented PackedAudioSegmenter 2018-05-16 21:52:11 +00:00
id3_tag_unittest.cc Implemented Id3Tag class to handle ID3 tag 2018-05-16 01:04:02 +00:00
key_fetcher.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
key_fetcher.h Clean up #ifndef in packager/media. (#310) 2017-12-19 16:56:36 -08:00
key_source.cc Move PSSH generation to EncryptionHandler. 2020-06-22 22:51:44 +00:00
key_source.h cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
language_utils.cc Workaround extra AUD in the access unit 2018-12-15 00:32:06 +00:00
language_utils.h Clean up #ifndef in packager/media. (#310) 2017-12-19 16:56:36 -08:00
limits.h Clean up #ifndef in packager/media. (#310) 2017-12-19 16:56:36 -08:00
macros.h Clean up #ifndef in packager/media. (#310) 2017-12-19 16:56:36 -08:00
media_base.gyp Add cc_index to stream descriptor. 2021-02-17 18:33:53 +00:00
media_handler.cc Handle segmented text same as audio/video. 2020-10-07 17:49:03 +00:00
media_handler.h Low latency DASH support (#979) 2021-08-25 08:38:05 -07:00
media_handler_test_base.cc cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
media_handler_test_base.h cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
media_parser.h Add TextSample to MediaParser. 2020-09-16 20:09:28 +00:00
media_sample.cc Change MediaSample::CopyFrom to MediaSample::Clone 2017-09-29 09:58:39 -07:00
media_sample.h Clean up #ifndef in packager/media. (#310) 2017-12-19 16:56:36 -08:00
mock_aes_cryptor.h Move encryptor setup out of EncryptionHandler 2018-10-10 19:27:28 +00:00
muxer.cc Convert text WebVTT output to muxer. 2020-10-19 17:24:38 +00:00
muxer.h Convert text WebVTT output to muxer. 2020-10-19 17:24:38 +00:00
muxer_options.cc Update cmd flags to support static mpd with live profile 2017-01-13 20:00:10 +00:00
muxer_options.h cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
muxer_util.cc cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
muxer_util.h cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
muxer_util_unittest.cc cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
network_util.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
network_util.h Clean up #ifndef in packager/media. (#310) 2017-12-19 16:56:36 -08:00
offset_byte_queue.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
offset_byte_queue.h Clean up #ifndef in packager/media. (#310) 2017-12-19 16:56:36 -08:00
offset_byte_queue_unittest.cc Replace scoped_ptr with std::unique_ptr 2016-08-18 17:12:36 -07:00
playready_key_source.cc cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
playready_key_source.h cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
playready_pssh_generator.cc Fix playready_extra_header_data 2021-06-18 18:34:24 +00:00
playready_pssh_generator.h Add flag for extra PlayReady header data. 2020-06-22 22:55:25 +00:00
producer_consumer_queue.h Clean up #ifndef in packager/media. (#310) 2017-12-19 16:56:36 -08:00
producer_consumer_queue_unittest.cc Add instructions to build on Alpine Linux 2018-08-17 20:46:11 +00:00
protection_system_ids.h Support Marlin DRM signaling in DASH 2018-10-01 20:22:58 +00:00
protection_system_specific_info.cc Support entitlement license with Widevine key server 2018-05-17 21:03:05 +00:00
protection_system_specific_info.h Consolidate key system enums. 2020-06-04 17:19:18 +00:00
protection_system_specific_info_unittest.cc Support entitlement license with Widevine key server 2018-05-17 21:03:05 +00:00
proto_json_util.cc Remove the usage of JsonWriter in SimpleHlsNotifier 2018-05-15 20:06:54 +00:00
proto_json_util.h Remove the usage of JsonWriter in SimpleHlsNotifier 2018-05-15 20:06:54 +00:00
pssh_generator.cc Clean up PsshGenerators 2018-08-09 23:59:04 +00:00
pssh_generator.h Clean up PsshGenerators 2018-08-09 23:59:04 +00:00
pssh_generator_unittest.cc Add flag for extra PlayReady header data. 2020-06-22 22:55:25 +00:00
pssh_generator_util.cc Implement multi DRM support. (Part 1) 2018-03-03 01:39:16 +00:00
pssh_generator_util.h Implement multi DRM support. (Part 1) 2018-03-03 01:39:16 +00:00
range.h Change MuxerListener::OnMediaEnd to take ranges 2017-07-11 15:59:16 -07:00
raw_key_source.cc cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
raw_key_source.h cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
raw_key_source_unittest.cc Move PSSH generation to EncryptionHandler. 2020-06-22 22:51:44 +00:00
rcheck.h Move fourccs.h and rcheck.h to media/base 2016-04-12 21:28:37 +00:00
request_signer.cc Move hex string out of packager.h 2017-06-20 22:33:47 +00:00
request_signer.h Clean up #ifndef in packager/media. (#310) 2017-12-19 16:56:36 -08:00
rsa_key.cc Deprecate STLDeleter and string_as_array 2016-09-01 17:39:11 +00:00
rsa_key.h Clean up #ifndef in packager/media. (#310) 2017-12-19 16:56:36 -08:00
rsa_key_unittest.cc Address gcc build failures in some platforms 2017-12-07 11:45:26 -08:00
status_test_util_unittest.cc Move status.h under packager/ 2017-06-30 11:35:18 -07:00
stream_info.cc cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
stream_info.h cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
text_muxer.cc cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
text_muxer.h cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
text_sample.cc Add background image to TextSample and TTML output 2020-12-08 19:24:31 +00:00
text_sample.h Add cc_index to stream descriptor. 2021-02-17 18:33:53 +00:00
text_stream_info.cc cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
text_stream_info.h cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
text_track.h Clean up #ifndef in packager/media. (#310) 2017-12-19 16:56:36 -08:00
text_track_config.cc Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
text_track_config.h Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
timestamp.h Clean up #ifndef in packager/media. (#310) 2017-12-19 16:56:36 -08:00
video_stream_info.cc cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
video_stream_info.h cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
video_util.cc Move DerivePixelWidthHeight to video_util.cc 2019-08-05 11:56:20 -07:00
video_util.h Move DerivePixelWidthHeight to video_util.cc 2019-08-05 11:56:20 -07:00
video_util_unittest.cc Move DerivePixelWidthHeight to video_util.cc 2019-08-05 11:56:20 -07:00
widevine_common_encryption.proto Add a flag --video_feature for Widevine 2019-04-16 07:55:08 -07:00
widevine_key_source.cc cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
widevine_key_source.h cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
widevine_key_source_unittest.cc Move PSSH generation to EncryptionHandler. 2020-06-22 22:51:44 +00:00
widevine_pssh_data.proto Remove the usage of JsonWriter in SimpleHlsNotifier 2018-05-15 20:06:54 +00:00
widevine_pssh_generator.cc Move protection system Ids to protection_system_ids.h 2018-09-17 15:29:53 -07:00
widevine_pssh_generator.h Move protection system Ids to protection_system_ids.h 2018-09-17 15:29:53 -07:00