MPD  0.20.18
Public Member Functions | Protected Attributes
OggEncoder Class Reference

An abstract base class which contains code common to all encoders with Ogg container output. More...

#include <OggEncoder.hxx>

Inheritance diagram for OggEncoder:
[legend]
Collaboration diagram for OggEncoder:
[legend]

Public Member Functions

 OggEncoder (bool _implements_tag)
 
void Flush () final
 Flushes an encoder object, make everything which might currently be buffered available by Read(). More...
 
size_t Read (void *dest, size_t length) override
 Reads encoded data from the encoder. More...
 
- Public Member Functions inherited from Encoder
 Encoder (bool _implements_tag)
 
virtual ~Encoder ()
 
bool ImplementsTag () const
 
virtual void End ()
 Ends the stream: flushes the encoder object, generate an end-of-stream marker (if applicable), make everything which might currently be buffered available by encoder_read(). More...
 
virtual void PreTag ()
 Prepare for sending a tag to the encoder. More...
 
virtual void SendTag (gcc_unused const Tag &tag)
 Sends a tag to the encoder. More...
 
virtual void Write (const void *data, size_t length)=0
 Writes raw PCM data to the encoder. More...
 

Protected Attributes

OggStreamState stream
 

Detailed Description

An abstract base class which contains code common to all encoders with Ogg container output.

Definition at line 35 of file OggEncoder.hxx.

Constructor & Destructor Documentation

◆ OggEncoder()

OggEncoder::OggEncoder ( bool  _implements_tag)
inline

Definition at line 44 of file OggEncoder.hxx.

Member Function Documentation

◆ Flush()

void OggEncoder::Flush ( )
inlinefinalvirtual

Flushes an encoder object, make everything which might currently be buffered available by Read().

Throws #std::runtime_error on error.

Reimplemented from Encoder.

Definition at line 50 of file OggEncoder.hxx.

◆ Read()

size_t OggEncoder::Read ( void *  dest,
size_t  length 
)
inlineoverridevirtual

Reads encoded data from the encoder.

Call this repeatedly until no more data is returned.

Parameters
destthe destination buffer to copy to
lengththe maximum length of the destination buffer
Returns
the number of bytes written to #dest

Implements Encoder.

Definition at line 54 of file OggEncoder.hxx.

Field Documentation

◆ stream

OggStreamState OggEncoder::stream
protected

Definition at line 41 of file OggEncoder.hxx.


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