[Rhythmbox-devel] metadata and encoding changes



Last night I pushed an absurdly large commit that replaced the
metadata and encoding backends.

On the metadata side of things, we're now using GstDiscoverer to read
tags, which mostly means simpler more maintainable code, and a
slightly more complicated decodebin2-based pipeline for writing tags.
When writing tags, we allow decodebin2 to plug as many demuxers as it
wants until it gets to a decoder, then attach tagging and muxing
elements, so that extra tag sets (as found in APE+ID3 tagged files, or
files with multiple ID3 tag sets) are removed.

For encoding, we're now using the encodebin element and its associated
encoding profiles rather than the profile system from
libgnome-media-profiles. We're not exposing this capability yet, but
this system means we can have user-editable encoding settings
(bitrates, quality levels, etc.) that actual users will be able to
edit, and possibly per-device settings for portable audio players. We
can also do automatic installation of encoder plugins now.

When you first run a version of Rhythmbox that includes these changes,
it will re-read all metadata from your library to get better tags from
broken MP3 files, and to populate the new media-type field (which
replaces the old poorly named mimetype field) which contains the audio
encoding type (rather than the container or tag type). This is of
course a database version bump, so older versions will not be able to
read the database any more.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]