crunchy-labs / crunchyroll-rs

🦀 Pure Rust implementation of the Crunchyroll API
Apache License 2.0
63 stars 14 forks source link

Update dash-mpd requirement from 0.13 to 0.14 #24

Closed dependabot[bot] closed 1 year ago

dependabot[bot] commented 1 year ago

Updates the requirements on dash-mpd to permit the latest version.

Changelog

Sourced from dash-mpd's changelog.

[0.14.0] - 2023-09-03

New

  • Downloading: add support for selecting the desired video stream based on its resolution. See functions prefer_video_width and prefer_video_height on DashDownloader.

  • Downloading: new function intermediate_quality on DashDownloader which controls the choice of media stream when multiple Adaptations are specified. This requests the download of the Adaptation with an intermediate bitrate (closest to the median value). Similar to best_quality and worst_quality functions.

  • Downloading: enable support for authentication of network requests to retrieve the manifest and the media segments. See function with_authentication on DashDownloader. This provides support only for the “Basic” HTTP authentication scheme (RFC 7617). Bearer authentication (RFC 6750) is not currently supported.

  • Downloading: improve support for selecting the output container format based on its filename extension. Selecting an output file with an .mkv extension will now produce an output file in Matroska container format, even in cases where the manifest only contains a video stream or only an audio stream (shortcircuiting the muxing functionality). In these cases, the stream will be copied if the output container requested is compatible with the downloaded stream format, and otherwise a new media container with the requested format will be created and the audio or video stream will be inserted (and reencoded if necessary) into the output file. This insertion and reencoding is undertaken by the same commandline applications used for muxing: ffmpeg, mkvmerge, mp4box (currently not vlc). This support is not currently implemented when building with the libav feature.

  • Derive Hash on those structs for which it can be derived automatically.

[0.13.1] - 2023-08-14

New

  • Support for certain nodes used with PlayReady ContentProtection: clearkey:Laurl, mspr:pro, mspr:IsEncrypted, mspr:IV_Size, mspd:kid.

Changed

  • Downloading: improve support for multiperiod manifests. When the contents of the different periods can be joined into a single output container (because they share the same resolution, frame rate and aspect ratio), we concatenate them using ffmpeg (with reencoding in case the codecs in the various periods are different). If they cannot be joined, we save the content in output files named according to the requested output file (whose name is used for the first period). Names ressemble "output-p2.mp4" for the second period, and so on.
  • Downloading: new function concatenate_periods on DashDownloader to specify whether the concatenation (which is very CPU-intensive due to the reencoding) of multi-period manifests should be attempted. The default behaviour is to concatenate when the media contents allow it.
  • Downloading: improved support for certain addressing types on subtitles (AdaptationSet>SegmentList, Representation>SegmentList, SegmentTemplate+SegmentTimeline addressing modes).
  • Significantly improved support for XLink semantics on elements (remote elements). In particular, resolve-to-zero semantics are implemented, a remote XLinked element may resolve to multiple elements (e.g. a Period with href pointing to a remote MPD fragment may resolve to three final

... (truncated)

Commits
  • 3b269b8 Prepare for v0.14.0 release
  • e8a16ae Cleanups to libav support
  • cc786ac Partial copy_xx_to_container support when building with libav feature
  • 6c346b1 Refactoring and code cleanup
  • 9c39014 Disable certain failing tests pending implementation of libav support
  • d162605 Add support for basic authorization of network requests
  • f365b87 Add test for basic authorization support
  • 487515e Fix xlink test by generating minimal MP4 segments using the mp4 crate.
  • c1d0c7e Add maybe-minimal valid MP4 file, thanks to https://github.com/mathiasbynens/...
  • a513e70 The file-format create is not detecting exact subtypes WebVideoTextTracks and...
  • Additional commits viewable in compare view


You can trigger a rebase of this PR 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 show ignore conditions` will show all of the ignore conditions of the specified dependency - `@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)

Note Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

dependabot[bot] commented 1 year ago

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.