• David Goldwich's avatar
    id3v2: add support for non-text and GEOB type tag frames · 7a019dff
    David Goldwich authored
    This extends the ID3v2 parser to allow for reading of non-text (i.e.
    other than T***) meta tag frames providing a ff_id3v2_read_all()
    function. An additional data structure 'ID3v2ExtraMeta' is introduced
    for these tags since AVDictionary is string oriented and unsuitable
    for binary data.
    
    A parser for tag frames of type GEOB is implemented, which is needed
    to extract keyring information from encrypted OMA files. GEOB data
    is parsed into 'ID3v2ExtraMetaGEOB' data structures.
    
    The routine to decode characters from different encodings to UTF-8,
    formerly part of the read_ttag() function, is moved to its own
    function. Because some tag frames contain subparts of unknown length,
    the function is now also able to read until a null character is found.
    In addition, the function now takes care of allocating a buffer long
    enough to hold the decoded characters.
    Signed-off-by: 's avatarDavid Goldwich <david.goldwich@gmail.com>
    Signed-off-by: 's avatarAnton Khirnov <anton@khirnov.net>
    7a019dff
id3v2.c 16.7 KB