Skip to content
Commit 90b7496c authored by Jonathan Matthew's avatar Jonathan Matthew 🐌
Browse files

Replace metadata and encoder backends

Use GstDiscoverer for reading metadata.  The media type we report is now based
on the audio encoding, rather than the top level container type as previously.
For string tags, return the first valid utf-8 string, or a later string of
which it is a prefix.  This should work better for badly (multiply) tagged MP3
files in particular.

Use a decodebin2-based pipeline for writing metadata.  We allow autoplugging to
continue until we get to a decoder, then connect tagging and muxing elements
for the encoding type.  This removes extra ID3 and APE tags from MP3 files.

The 'mimetype' database field is now called 'media-type', and hopefully we're
more consistent about what's a media type as opposed to a MIME type.  The
database version number has been bumped, and all file metadata will be re-read
to populate the media-type field.

Use encodebin and encoding profiles instead of libgnome-media-profiles.  We
have a set of profiles for common media types (ogg vorbis, mp3, flac, aac)
which we use to build targets for the library and for devices.  We don't yet do
anything with presets, so all encoding will use the default encoder settings
for now.  Users can override the default set of profiles by copying
rhythmbox.gep to ~/.local/share/rhythmbox/ and editing it.

Since the new profile system doesn't hide profiles that require additional
plugins from us, we can do automatic installation of encoders and muxers either
when selecting a preferred encoding type, or when starting a transfer.

Drop all compatibility code for old GStreamer versions.  We now require GStreamer
0.10.32.

Fixes too many bugs to list here.
parent 0ef67a46
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment