Downloading: add support for saving media fragments to a user-specified directory, using new
function save_fragments_to on DashDownloader. This may be useful to help debug issues with
DASH streams or to extract additional information from fragmented MP4 segments.
Support for the DASH XML vocabulary associated with the SCTE-35 standard. This standard allows
dynamic insertion of alternate content (mostly used for advertising). Support is gated by the
new scte35 feature, which is enabled by default.
Parsing of xs:datetime fields attempts to use the rfc3339 crate before falling back to the iso8601
crate if the datetime is not in RFC 3339 format (for example, if it doesn't include a timezone).
The rfc3339 crate parses with nanosecond precision, whereas the iso8601 crate only has millisecond
resolution.
Downloading: fix an off-by-one error when calculating $Number$-based SegmentTemplate-based
addressing (the initialization segment is now counted towards the total number of segments).
[0.8.1] - 2023-04-27
New
Downloading: add preliminary support for throttling the network bandwidth, with method
with_rate_limit on DashDownloader.
Add @scanType attribute to AdaptationSet nodes.
Add @presentationDuration to SegmentBase nodes.
Add FailoverContent element to SegmentBase nodes (from @​sbuzzard).
Changed
Serialization: default values for the XML namespaces for xlink, xsi, cenc, dvb and scte35
will be provided if they are not supplied explicitly. This should make it easier to generate
standards-compliant manifests.
Downloading: limit length of default output pathname (when using method download) to avoid
exceeding filesystem limits.
[0.8.0] - 2023-04-22
New
Downloading: add support for MP4Box as an external muxing tool. When built without libav support
(the default configuration) and downloading to a path with ".mp4" extension, try to use the
MP4Box commandline application (from the GPAC suite) as a subprocess for muxing, if ffmpeg and
VLC fail. MP4Box is available for Linux and other Unixes, Microsoft Windows and MacOS.
New function with_mp4box() on DashDownloader to allow the location of the MP4Box commandline
application to be specified, if in a non-standard location.
New example round_trip.rs which can be used to check round trip from XML to Rust structs to XML.
Add @startWithSAP and @maximumSAPPeriod attributes to AdaptationSet nodes.
Add @timescale attribute to SegmentList nodes.
Add @numChannels, @sampleRate and @lang attributes to Representation nodes.
Add @sar, @width, @height, @maximumSAPPeriod and @startWithSAPattributes to
AdaptationSet nodes.
Add EssentialProperty and SupplementalProperty node vectors to Representation and
AdaptationSet nodes.
Add definition for ProducerReferenceTime nodes, used for low-latency streaming.
Add definition for Switching nodes, used for Adaptation Set switching.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on dash-mpd to permit the latest version.
Changelog
Sourced from dash-mpd's changelog.
... (truncated)
Commits
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)