# Path: external/metadata/audio/core.py
# AUDIOCORE = ['channels', 'samplerate', 'length', 'encoder', 'codec', 'format',
#              'samplebits', 'bitrate', 'fourcc', 'trackno', 'id', 'userdate',
#              'enabled', 'default', 'codec_private' ]
# MUSICCORE = ['trackof', 'album', 'genre', 'discs', 'thumbnail' ]
# class Audio(Media):
# class Music(Audio):
#     def _finalize(self):


import struct
import uuid
import string
import logging
from . import core
from ..audio import core as audiocore
                pos += 1+idlen

        elif guid == GUIDS['ASF_Stream_Bitrate_Properties_Object']:
            # This record contains stream bitrate with payload overhead.  For
            # audio streams, we should have the average bitrate from
            # ASF_Stream_Properties_Object.  For video streams, we get it from
            # ASF_Extended_Stream_Properties_Object.  So this record is not
            # used.
            pass

        elif guid == GUIDS['ASF_Content_Encryption_Object'] or \
             guid == GUIDS['ASF_Extended_Content_Encryption_Object']:
            self._set('encrypted', True)
        else:
            # Just print the type:
            for h in list(GUIDS.keys()):
                if GUIDS[h] == guid:
                    log.debug("Unparsed %s [%d]" % (h,objsize))
                    break
            else:
                u = "%.8X-%.4X-%.4X-%.2X%.2X-%s" % guid
                log.debug("unknown: len=%d [%d]" % (len(u), objsize))
        return r


class AsfAudio(audiocore.Audio):
    """
    ASF audio parser for wma files.
    """
    def __init__(self):

# Path: external/metadata/audio/core.py
# AUDIOCORE = ['channels', 'samplerate', 'length', 'encoder', 'codec', 'format',
#              'samplebits', 'bitrate', 'fourcc', 'trackno', 'id', 'userdate',
#              'enabled', 'default', 'codec_private' ]
# MUSICCORE = ['trackof', 'album', 'genre', 'discs', 'thumbnail' ]
# class Audio(Media):
# class Music(Audio):
#     def _finalize(self):


# Path: external/metadata/video/asf.py
import struct
import uuid
import string
import logging
from . import core
from ..audio import core as audiocore

                pos += 1+idlen

        elif guid == GUIDS['ASF_Stream_Bitrate_Properties_Object']:
            # This record contains stream bitrate with payload overhead.  For
            # audio streams, we should have the average bitrate from
            # ASF_Stream_Properties_Object.  For video streams, we get it from
            # ASF_Extended_Stream_Properties_Object.  So this record is not
            # used.
            pass

        elif guid == GUIDS['ASF_Content_Encryption_Object'] or \
             guid == GUIDS['ASF_Extended_Content_Encryption_Object']:
            self._set('encrypted', True)
        else:
            # Just print the type:
            for h in list(GUIDS.keys()):
                if GUIDS[h] == guid:
                    log.debug("Unparsed %s [%d]" % (h,objsize))
                    break
            else:
                u = "%.8X-%.4X-%.4X-%.2X%.2X-%s" % guid
                log.debug("unknown: len=%d [%d]" % (len(u), objsize))
        return r


class AsfAudio(audiocore.Audio):
    """
    ASF audio parser for wma files.
    """
    def __init__(self):

        audiocore.Audio.__init__(self)