Release it to the package repository instead of attaching to the
release. Also add the relevant part of the changelog as release notes to
the release and fix some schema-related issues.
The `pubDate` field of an item in the feed is meant to be time the item
was published. It should not be bumped if the item is updated in the
backend.
* Introduce a new `published_at` field on `Item`
* Update the Mixcloud and YouTube backends to fill this field
* Use the `published_at` field on `Item` for the `<pubData>` item
subelement
Select the well-supported, almost always available MP4 container format
that is directly available (so no HLS or DASH). This unfortunately
does reduce the bitrate to 64 kbps.
The filter used to select the stream with the highest bitrate, but this
may result in a stream with a codec/container that is not supported by
all podcast clients, such as WEBM. Select the (almost always available)
highest stream using the MP4 container instead.
Add support for creating podcast feeds of YouTube channels and playlists.
* Add the YouTube back-end
* Update the documentation
* Use the MIME DB to determine the download URL file extensions
Reviewed-on: #12
Since the metadata only provides a date, set the time part to 12:00:00
(UTC).
Also fix up the deprecation warning for the creation of the initial zero
last build timestamp.
This newer version is able to correctly parse the date of streamed
videos.
Also use the full `ytextract::Video` structs which should have have all
the metadata.
This way handlers don't need to do case matching on backend ID strings
anymore.
* Rename `backend` to `backend_id` where we have a backend ID
* Add `get` function and `Backends` enum to the `backend` module
* Add a depend on the `enum_dispatch` crate