this module provides the audio codec interface. Encoders, Decoders and their support code.
Rounding methods. Maybe should be moved into a more generic module.
Decodes audio Packets into audio Frames.
Decode data from a logical stream of packets, and returns when the first next frame is available. The input stream can be - a materialized sequence of packets (list, tuple...) - a generator (e.g. Demuxer.stream()).
Generator method. Decode a single packet (as in returned by a Demuxer) and extracts all the frames encoded into it. An encoded packet can legally contain more than one frame, altough this is not so common. This method deals with the [one packet -> many frames] scenario. The internal underlying decoder does its own buffer, so you can freely dispose the packet(s) fed into this method after it exited. raises ProcessingError if decoding fails; raises NeedFeedError if decoding partially succeeds, but more data is needed to reconstruct a full frame.
bytearray-like, read-write
emits all frames that can be recostructed by the data buffered into the Decoder, and empties such buffers. Call it last, do not intermix with decode*() calls. caution: more than one frame can be buffered. Raises NeedFeedError if all the internal buffers are empty.
builds a pyrana Audio Decoder from (around) a (cffi-wrapped) libav* (audio)decoder object. The libav object must be already initialized and ready to go. WARNING: raw access. Use with care.
the codec media type.
opens the codec into the codec context.
the codec parameters.
is the codec readu to go?
Dispach the given parameters to the internal (FFmpeg) data structures.
wire up the Decoder. See codec.wire_decoder
Encode audio Frames into Packets.
Encode a logical frame in one or possibly more)packets, and return an iterable which will yield all the packets produced.
bytearray-like, read-write
emits all packets which may have been buffered by the Encoder and empties such buffers. Call it last, do not intermix with encode*() calls. caution: more than one encoded frame (thus many packets) can be buffered. Raises NeedFeedError if all the internal buffers are empty.
builds a pyrana audio Encoder from (around) a (cffi-wrapped) liabv* (audio) context. WARNING: raw access. Use with care.
the codec media type.
opens the codec into the codec context.
the codec parameters.
is the codec readu to go?
wire up the Encoder. See codec.wire_encoder
An Audio frame.
Direct access to the internal C AVFrame object.
builds a pyrana generic Base Frame from (around) a (cffi-wrapped) libav* AVFrame object. The libav object must be already initialized and ready to go. WARNING: raw access. Use with care.
Is this a key frame?
The Presentation TimeStamp of this Frame.
Returns a new Image object which provides access to the Picture (thus the pixel as bytes()) data.
Represents the Sample data inside a Frame.
returns the bytes() dump of the object
Bytes per sample.
Read-only byte access to a single channel of the Samples.
The number of audio channels, only used for audio.
convert the Samples data in a new SampleFormat. returns a brand new, independent Image.
builds a pyrana Image from a (cffi-wrapped) libav* Frame object. The Picture data itself will still be hold in the Frame object. The libav object must be already initialized and ready to go. WARNING: raw access. Use with care.
Is the underlying C-Frame shared with the parent py-Frame?
The number of audio samples (per channel) described by this frame.
Frame sample format. Expected to be always equal to the stream sample format.
Sample rate of the audio data.
fill a audio frame with a single tone sound