shaka-packager/packager/app
KongQun Yang 224b597b48 Support approximate SegmentTimeline
It is not always possible to align segment duration to target duration
exactly. For example, for AAC with sampling rate of 44100, there are
always 1024 audio frames per sample, so the sample duration is
1024/44100. For a target duration of 2 seconds, the closest segment
duration would be 1.984 or 2.00533.

This feature allows MPD generator to treat these segments as having
the same duration, thus allows MPD generator to generate less
SegmentTimeline entries and potentially no SegmentTimeline entries
(replaced with SegmentTemplate@duration instead if
  --segment_template_constant_duration flag is enabled).

Under flag --allow_approximate_segment_timeline. Disabled by default.

Fixes #330.

Change-Id: I5044eaa348ebbf45bf792a2af53fc95a115ae21b
2018-04-30 17:15:47 -07:00
..
test Create Tests For Bandwidth 2018-04-30 15:44:55 -07:00
ad_cue_generator_flags.cc Defined Scte35Event struct and out of band cue marker flags 2017-11-16 00:13:29 +00:00
ad_cue_generator_flags.h Defined Scte35Event struct and out of band cue marker flags 2017-11-16 00:13:29 +00:00
crypto_flags.cc Rename webm_subsample_encryption flag to vp9_subsample_encryption 2017-03-30 20:36:43 +00:00
crypto_flags.h Rename webm_subsample_encryption flag to vp9_subsample_encryption 2017-03-30 20:36:43 +00:00
gflags_hex_bytes.cc Move hex string out of packager.h 2017-06-20 22:33:47 +00:00
gflags_hex_bytes.h Move hex string out of packager.h 2017-06-20 22:33:47 +00:00
hls_flags.cc Add --hls_key_uri to allow setting fairplay/identity key uri 2017-11-14 15:49:27 +00:00
hls_flags.h Add --hls_key_uri to allow setting fairplay/identity key uri 2017-11-14 15:49:27 +00:00
job_manager.cc Allow SyncPointQueue to be cancelled 2018-03-27 19:14:37 +00:00
job_manager.h Allow SyncPointQueue to be cancelled 2018-03-27 19:14:37 +00:00
libcrypto_threading.cc Integrate packager top level library 2017-06-13 13:40:26 -07:00
libcrypto_threading.h Rename top level namespace to shaka 2016-05-24 21:55:55 +00:00
manifest_flags.cc Move common manifest flags out of mpd_flags.cc 2018-01-19 21:02:54 +00:00
manifest_flags.h Move common manifest flags out of mpd_flags.cc 2018-01-19 21:02:54 +00:00
mpd_flags.cc Support approximate SegmentTimeline 2018-04-30 17:15:47 -07:00
mpd_flags.h Support approximate SegmentTimeline 2018-04-30 17:15:47 -07:00
mpd_generator.cc Add new URL fields in MediaInfo 2018-04-23 22:49:47 +00:00
mpd_generator_flags.h Move source code into packager directory 2014-10-02 12:32:14 -07:00
muxer_factory.cc Moved MuxerFactory to own file 2018-01-10 17:51:26 +00:00
muxer_factory.h Moved MuxerFactory to own file 2018-01-10 17:51:26 +00:00
muxer_flags.cc Integrate packager top level library 2017-06-13 13:40:26 -07:00
muxer_flags.h Integrate packager top level library 2017-06-13 13:40:26 -07:00
packager_main.cc Support approximate SegmentTimeline 2018-04-30 17:15:47 -07:00
packager_util.cc Support approximate SegmentTimeline 2018-04-30 17:15:47 -07:00
packager_util.h Support approximate SegmentTimeline 2018-04-30 17:15:47 -07:00
playready_key_encryption_flags.cc Implement multi DRM support. (Part 3) 2018-04-26 18:14:22 +00:00
playready_key_encryption_flags.h Implement multi DRM support. (Part 3) 2018-04-26 18:14:22 +00:00
protection_system_flags.cc Rename Playready to PlayReady. 2018-04-26 11:38:31 -07:00
protection_system_flags.h Implement multi DRM support. (Part 1) 2018-03-03 01:39:16 +00:00
raw_key_encryption_flags.cc Rename fixed_key to raw_key 2017-10-24 21:52:01 +00:00
raw_key_encryption_flags.h Rename fixed_key to raw_key 2017-10-24 21:52:01 +00:00
retired_flags.cc Implement multi DRM support. (Part 3) 2018-04-26 18:14:22 +00:00
retired_flags.h Implement multi DRM support. (Part 3) 2018-04-26 18:14:22 +00:00
stream_descriptor.cc Support 'iframe_playlist_name' stream descriptor 2018-02-02 22:00:18 +00:00
stream_descriptor.h Integrate packager top level library 2017-06-13 13:40:26 -07:00
validate_flag.cc Add multi-key support in fixed/raw keys 2017-10-24 21:04:49 +00:00
validate_flag.h Add multi-key support in fixed/raw keys 2017-10-24 21:04:49 +00:00
vlog_flags.cc Enable verbose logging through --v or --vmodule 2015-10-28 22:15:50 +00:00
vlog_flags.h Enable verbose logging through --v or --vmodule 2015-10-28 22:15:50 +00:00
widevine_encryption_flags.cc Implement multi DRM support. (Part 1) 2018-03-03 01:39:16 +00:00
widevine_encryption_flags.h Implement multi DRM support. (Part 1) 2018-03-03 01:39:16 +00:00