RADLib
RADical C++ application framework
RADMedia::WavStreamReader Class Reference

Streaming WAV reader that avoids loading the whole file up front. More...

#include <RADMedia.h>

Public Member Functions

 WavStreamReader ()
 Creates a closed stream reader. More...
 
 ~WavStreamReader ()
 Closes the file if still open. More...
 
 WavStreamReader (const WavStreamReader &)=delete
 Streaming readers are move-only by ownership design. More...
 
WavStreamReaderoperator= (const WavStreamReader &)=delete
 Streaming readers are move-only by ownership design. More...
 
bool open (const std::string &path, std::string *error=nullptr)
 Opens path and parses its WAV header. More...
 
void close ()
 Closes the stream. More...
 
bool isOpen () const
 Returns true when a WAV stream is open. More...
 
const WavFormatformat () const
 Returns the parsed stream format. More...
 
size_t totalFrames () const
 Returns the total number of audio frames. More...
 
size_t framesRemaining () const
 Returns frames not yet read. More...
 
double durationSeconds () const
 Returns total duration in seconds. More...
 
bool eof () const
 Returns true once no frames remain. More...
 
ssize_t readFrames (void *buffer, size_t maxFrames)
 Reads up to maxFrames into buffer and returns frames read. More...
 

Detailed Description

Streaming WAV reader that avoids loading the whole file up front.

Constructor & Destructor Documentation

◆ WavStreamReader() [1/2]

RADMedia::WavStreamReader::WavStreamReader ( )

Creates a closed stream reader.

◆ ~WavStreamReader()

RADMedia::WavStreamReader::~WavStreamReader ( )

Closes the file if still open.

◆ WavStreamReader() [2/2]

RADMedia::WavStreamReader::WavStreamReader ( const WavStreamReader )
delete

Streaming readers are move-only by ownership design.

Member Function Documentation

◆ close()

void RADMedia::WavStreamReader::close ( )

Closes the stream.

◆ durationSeconds()

double RADMedia::WavStreamReader::durationSeconds ( ) const

Returns total duration in seconds.

◆ eof()

bool RADMedia::WavStreamReader::eof ( ) const

Returns true once no frames remain.

◆ format()

const WavFormat& RADMedia::WavStreamReader::format ( ) const

Returns the parsed stream format.

◆ framesRemaining()

size_t RADMedia::WavStreamReader::framesRemaining ( ) const

Returns frames not yet read.

◆ isOpen()

bool RADMedia::WavStreamReader::isOpen ( ) const

Returns true when a WAV stream is open.

◆ open()

bool RADMedia::WavStreamReader::open ( const std::string &  path,
std::string *  error = nullptr 
)

Opens path and parses its WAV header.

◆ operator=()

WavStreamReader& RADMedia::WavStreamReader::operator= ( const WavStreamReader )
delete

Streaming readers are move-only by ownership design.

◆ readFrames()

ssize_t RADMedia::WavStreamReader::readFrames ( void *  buffer,
size_t  maxFrames 
)

Reads up to maxFrames into buffer and returns frames read.

◆ totalFrames()

size_t RADMedia::WavStreamReader::totalFrames ( ) const

Returns the total number of audio frames.


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