xoreos  0.0.5
Public Member Functions | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
Video::Bink::BinkAudioTrack Class Reference
Inheritance diagram for Video::Bink::BinkAudioTrack:
Inheritance graph
[legend]
Collaboration diagram for Video::Bink::BinkAudioTrack:
Collaboration graph
[legend]

Public Member Functions

 BinkAudioTrack (size_t index, AudioInfo &audio)
 
 ~BinkAudioTrack ()
 
bool canBufferData () const
 
void decodeAudio (Common::SeekableReadStream &bink, const std::vector< VideoFrame > &frames, const std::vector< AudioInfo > &audioTracks, const Common::Timestamp &endTime)
 Decode audio data up to endTime. More...
 

Protected Member Functions

Sound::AudioStreamgetAudioStream () const
 

Private Member Functions

float getFloat (Common::BitStream &bits)
 
void audioBlock (Common::BitStream &bits, int16 *out)
 Decode an audio block. More...
 
void audioBlockDCT (Common::BitStream &bits)
 Decode a DCT'd audio block. More...
 
void audioBlockRDFT (Common::BitStream &bits)
 Decode a RDFT'd audio block. More...
 
void readAudioCoeffs (Common::BitStream &bits, float *coeffs)
 

Static Private Member Functions

static void floatToInt16Interleave (int16 *dst, const float **src, uint32 length, uint8 channels)
 

Private Attributes

size_t _index
 
AudioInfo_info
 
Sound::PacketizedAudioStream_audioStream
 
uint32 _curFrame
 
Common::Timestamp _audioBuffered
 

Detailed Description

Definition at line 355 of file bink.h.

Constructor & Destructor Documentation

◆ BinkAudioTrack()

Video::Bink::BinkAudioTrack::BinkAudioTrack ( size_t  index,
Bink::AudioInfo audio 
)

Definition at line 1317 of file bink.cpp.

◆ ~BinkAudioTrack()

Video::Bink::BinkAudioTrack::~BinkAudioTrack ( )

Definition at line 1325 of file bink.cpp.

Member Function Documentation

◆ audioBlock()

void Video::Bink::BinkAudioTrack::audioBlock ( Common::BitStream bits,
int16 out 
)
private

Decode an audio block.

Definition at line 1405 of file bink.cpp.

References Sound::floatToInt16Interleave(), Common::intLog2(), Video::Bink::kAudioCodecDCT, and Video::Bink::kAudioCodecRDFT.

Here is the call graph for this function:

◆ audioBlockDCT()

void Video::Bink::BinkAudioTrack::audioBlockDCT ( Common::BitStream bits)
private

Decode a DCT'd audio block.

Definition at line 1427 of file bink.cpp.

References Common::BitStream::skip().

Here is the call graph for this function:

◆ audioBlockRDFT()

void Video::Bink::BinkAudioTrack::audioBlockRDFT ( Common::BitStream bits)
private

Decode a RDFT'd audio block.

Definition at line 1445 of file bink.cpp.

◆ canBufferData()

bool Video::Bink::BinkAudioTrack::canBufferData ( ) const

Definition at line 1401 of file bink.cpp.

◆ decodeAudio()

void Video::Bink::BinkAudioTrack::decodeAudio ( Common::SeekableReadStream bink,
const std::vector< VideoFrame > &  frames,
const std::vector< AudioInfo > &  audioTracks,
const Common::Timestamp endTime 
)

◆ floatToInt16Interleave()

static void Video::Bink::BinkAudioTrack::floatToInt16Interleave ( int16 dst,
const float **  src,
uint32  length,
uint8  channels 
)
staticprivate

◆ getAudioStream()

Sound::AudioStream * Video::Bink::BinkAudioTrack::getAudioStream ( ) const
protected

Definition at line 1329 of file bink.cpp.

◆ getFloat()

float Video::Bink::BinkAudioTrack::getFloat ( Common::BitStream bits)
private

Definition at line 1390 of file bink.cpp.

References Common::BitStream::getBit(), and Common::BitStream::getBits().

Here is the call graph for this function:

◆ readAudioCoeffs()

void Video::Bink::BinkAudioTrack::readAudioCoeffs ( Common::BitStream bits,
float *  coeffs 
)
private

Definition at line 1459 of file bink.cpp.

References Common::BitStream::getBit(), Common::BitStream::getBits(), MIN(), and Video::rleLengthTab.

Here is the call graph for this function:

Member Data Documentation

◆ _audioBuffered

Common::Timestamp Video::Bink::BinkAudioTrack::_audioBuffered
private

Definition at line 373 of file bink.h.

◆ _audioStream

Sound::PacketizedAudioStream* Video::Bink::BinkAudioTrack::_audioStream
private

Definition at line 371 of file bink.h.

◆ _curFrame

uint32 Video::Bink::BinkAudioTrack::_curFrame
private

Definition at line 372 of file bink.h.

◆ _index

size_t Video::Bink::BinkAudioTrack::_index
private

Definition at line 369 of file bink.h.

◆ _info

AudioInfo& Video::Bink::BinkAudioTrack::_info
private

Definition at line 370 of file bink.h.


The documentation for this class was generated from the following files: