Skip to content
  • Jonathan Matthew's avatar
    Replace metadata and encoder backends · 90b7496c
    Jonathan Matthew authored
    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.
    90b7496c