shaka-packager/packager
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
..
app Support approximate SegmentTimeline 2018-04-30 17:15:47 -07:00
buildtools/third_party Update DEPS to fix mac build failure 2016-08-19 13:49:41 -07:00
file Add Source Specific Multicast (SSM) support 2018-03-06 10:09:28 -08:00
hls Make MediaPlaylist accept HlsParams as contructor param 2018-04-23 18:29:38 -07:00
media Rename Playready to PlayReady. 2018-04-26 11:38:31 -07:00
mpd Support approximate SegmentTimeline 2018-04-30 17:15:47 -07:00
testing Add docker files for testing on various linux distros 2017-12-12 22:51:05 +00:00
third_party Update mac curl ca bundle: add /etc/ssl/cert.pem 2018-04-10 17:30:49 +00:00
tools Collect and generate license notice 2018-04-13 00:29:55 +00:00
version Address gcc build failures in some platforms 2017-12-07 11:45:26 -08:00
common.gypi Fix build failures in MacOS 10.12.6 with XCode 9.0 2018-01-05 12:21:41 -08:00
packager.cc Support approximate SegmentTimeline 2018-04-30 17:15:47 -07:00
packager.gyp Collect and generate license notice 2018-04-13 00:29:55 +00:00
packager.h Support 'iframe_playlist_name' stream descriptor 2018-02-02 22:00:18 +00:00
packager_test.cc Add support for callback file 2017-09-07 19:26:26 +00:00
protoc.gypi Support generation of libpackager.so (shared_library) 2017-06-13 20:42:32 +00:00
status.cc Cleans up Status class 2018-01-31 03:32:07 +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