Module ammosreader.AmmosExtendedAudioDataHeader

I provide an Ammos extended data header for audio data frames.

Expand source code
"""I provide an Ammos extended data header for audio data frames."""

import struct
from ammosreader.AmmosAudioDataHeader import AmmosAudioDataHeader


class AmmosExtendedAudioDataHeader:

    HEADER_SIZE = 44  # 11 words

    @classmethod
    def from_bytes(cls, bytes):
        """I return a new AMMOS extended data header for audio frames built from given bytes."""
        assert len(bytes) == cls.HEADER_SIZE
        standard_header = AmmosAudioDataHeader.from_bytes(bytes[0:AmmosAudioDataHeader.HEADER_SIZE])
        extended_header_elements = struct.unpack('<Q', bytes[AmmosAudioDataHeader.HEADER_SIZE:])
        timestamp = extended_header_elements[0]
        sample_rate = standard_header.sample_rate
        status = standard_header.status
        frequency = standard_header.frequency
        demod_bandwidth = standard_header.demod_bandwidth
        demod_type = standard_header.demod_type
        number_of_samples = standard_header.number_of_samples
        number_of_channels = standard_header.number_of_channels
        sample_size = standard_header.sample_size
        return AmmosExtendedAudioDataHeader(sample_rate, status, frequency, demod_bandwidth, demod_type,
                                            number_of_samples, number_of_channels, sample_size, timestamp)

    def __init__(self, sample_rate, status, frequency, demod_bandwidth, demod_type,
                 number_of_samples, number_of_channels, sample_size, timestamp):
        """I return a new AMMOS extended data header for audio frames built from given parameters."""
        self.sample_rate = sample_rate
        self.status = status
        self.frequency = frequency
        self.demod_bandwidth = demod_bandwidth
        self.demod_type = demod_type
        self.number_of_samples = number_of_samples
        self.number_of_channels = number_of_channels
        self.sample_size = sample_size
        self.timestamp = timestamp

Classes

class AmmosExtendedAudioDataHeader (sample_rate, status, frequency, demod_bandwidth, demod_type, number_of_samples, number_of_channels, sample_size, timestamp)

I return a new AMMOS extended data header for audio frames built from given parameters.

Expand source code
class AmmosExtendedAudioDataHeader:

    HEADER_SIZE = 44  # 11 words

    @classmethod
    def from_bytes(cls, bytes):
        """I return a new AMMOS extended data header for audio frames built from given bytes."""
        assert len(bytes) == cls.HEADER_SIZE
        standard_header = AmmosAudioDataHeader.from_bytes(bytes[0:AmmosAudioDataHeader.HEADER_SIZE])
        extended_header_elements = struct.unpack('<Q', bytes[AmmosAudioDataHeader.HEADER_SIZE:])
        timestamp = extended_header_elements[0]
        sample_rate = standard_header.sample_rate
        status = standard_header.status
        frequency = standard_header.frequency
        demod_bandwidth = standard_header.demod_bandwidth
        demod_type = standard_header.demod_type
        number_of_samples = standard_header.number_of_samples
        number_of_channels = standard_header.number_of_channels
        sample_size = standard_header.sample_size
        return AmmosExtendedAudioDataHeader(sample_rate, status, frequency, demod_bandwidth, demod_type,
                                            number_of_samples, number_of_channels, sample_size, timestamp)

    def __init__(self, sample_rate, status, frequency, demod_bandwidth, demod_type,
                 number_of_samples, number_of_channels, sample_size, timestamp):
        """I return a new AMMOS extended data header for audio frames built from given parameters."""
        self.sample_rate = sample_rate
        self.status = status
        self.frequency = frequency
        self.demod_bandwidth = demod_bandwidth
        self.demod_type = demod_type
        self.number_of_samples = number_of_samples
        self.number_of_channels = number_of_channels
        self.sample_size = sample_size
        self.timestamp = timestamp

Class variables

var HEADER_SIZE

Static methods

def from_bytes(bytes)

I return a new AMMOS extended data header for audio frames built from given bytes.

Expand source code
@classmethod
def from_bytes(cls, bytes):
    """I return a new AMMOS extended data header for audio frames built from given bytes."""
    assert len(bytes) == cls.HEADER_SIZE
    standard_header = AmmosAudioDataHeader.from_bytes(bytes[0:AmmosAudioDataHeader.HEADER_SIZE])
    extended_header_elements = struct.unpack('<Q', bytes[AmmosAudioDataHeader.HEADER_SIZE:])
    timestamp = extended_header_elements[0]
    sample_rate = standard_header.sample_rate
    status = standard_header.status
    frequency = standard_header.frequency
    demod_bandwidth = standard_header.demod_bandwidth
    demod_type = standard_header.demod_type
    number_of_samples = standard_header.number_of_samples
    number_of_channels = standard_header.number_of_channels
    sample_size = standard_header.sample_size
    return AmmosExtendedAudioDataHeader(sample_rate, status, frequency, demod_bandwidth, demod_type,
                                        number_of_samples, number_of_channels, sample_size, timestamp)