![]() |
Blender V2.61 - r43446
|
#include <AUD_FFMPEGReader.h>

Public Member Functions | |
| AUD_FFMPEGReader (std::string filename) | |
| AUD_FFMPEGReader (AUD_Reference< AUD_Buffer > buffer) | |
| virtual | ~AUD_FFMPEGReader () |
| virtual bool | isSeekable () const |
| virtual void | seek (int position) |
| virtual int | getLength () const |
| virtual int | getPosition () const |
| virtual AUD_Specs | getSpecs () const |
| virtual void | read (int &length, bool &eos, sample_t *buffer) |
Static Public Member Functions | |
| static int | read_packet (void *opaque, uint8_t *buf, int buf_size) |
| static int64_t | seek_packet (void *opaque, int64_t offset, int whence) |
This class reads a sound file via ffmpeg.
Definition at line 51 of file AUD_FFMPEGReader.h.
| AUD_FFMPEGReader::AUD_FFMPEGReader | ( | std::string | filename | ) |
Creates a new reader.
| filename | The path to the file to be read. |
| AUD_Exception | Thrown if the file specified does not exist or cannot be read with ffmpeg. |
Definition at line 176 of file AUD_FFMPEGReader.cpp.
References AUD_ERROR_FILE, AUD_THROW, and NULL.
| AUD_FFMPEGReader::AUD_FFMPEGReader | ( | AUD_Reference< AUD_Buffer > | buffer | ) |
Creates a new reader.
| buffer | The buffer to read from. |
| AUD_Exception | Thrown if the buffer specified cannot be read with ffmpeg. |
Definition at line 200 of file AUD_FFMPEGReader.cpp.
References AUD_ERROR_FILE, AUD_THROW, NULL, read_packet(), and seek_packet().
| AUD_FFMPEGReader::~AUD_FFMPEGReader | ( | ) | [virtual] |
Destroys the reader and closes the file.
Definition at line 236 of file AUD_FFMPEGReader.cpp.
| int AUD_FFMPEGReader::getLength | ( | ) | const [virtual] |
Returns an approximated length of the source in samples.
Implements AUD_IReader.
Definition at line 363 of file AUD_FFMPEGReader.cpp.
| int AUD_FFMPEGReader::getPosition | ( | ) | const [virtual] |
Returns the position of the source as a sample count value.
Implements AUD_IReader.
Definition at line 370 of file AUD_FFMPEGReader.cpp.
| AUD_Specs AUD_FFMPEGReader::getSpecs | ( | ) | const [virtual] |
Returns the specification of the reader.
Implements AUD_IReader.
Definition at line 375 of file AUD_FFMPEGReader.cpp.
References AUD_DeviceSpecs::specs.
| bool AUD_FFMPEGReader::isSeekable | ( | ) | const [virtual] |
Tells whether the source provides seeking functionality or not.
Implements AUD_IReader.
Definition at line 283 of file AUD_FFMPEGReader.cpp.
| void AUD_FFMPEGReader::read | ( | int & | length, |
| bool & | eos, | ||
| sample_t * | buffer | ||
| ) | [virtual] |
Request to read the next length samples out of the source. The buffer supplied has the needed size.
| [in,out] | length | The count of samples that should be read. Shall contain the real count of samples after reading, in case there were only fewer samples available. A smaller value also indicates the end of the reader. |
| [out] | eos | End of stream, whether the end is reached or not. |
| [in] | buffer | The pointer to the buffer to read into. |
Implements AUD_IReader.
Definition at line 380 of file AUD_FFMPEGReader.cpp.
References AUD_DEVICE_SAMPLE_SIZE, AUD_FORMAT_SIZE, AUD_MIN, AUD_DeviceSpecs::format, AUD_Buffer::getBuffer(), left(), and length().
Referenced by seek().
| int AUD_FFMPEGReader::read_packet | ( | void * | opaque, |
| uint8_t * | buf, | ||
| int | buf_size | ||
| ) | [static] |
Definition at line 249 of file AUD_FFMPEGReader.cpp.
References AUD_MIN, and size().
Referenced by AUD_FFMPEGReader().
| void AUD_FFMPEGReader::seek | ( | int | position | ) | [virtual] |
Seeks to a specific position in the source.
| position | The position to seek for measured in samples. To get from a given time to the samples you simply have to multiply the time value in seconds with the sample rate of the reader. |
Implements AUD_IReader.
Definition at line 288 of file AUD_FFMPEGReader.cpp.
References AUD_DEFAULT_BUFFER_SIZE, AUD_SAMPLE_SIZE, AUD_Buffer::getBuffer(), len(), length(), AUD_DeviceSpecs::rate, and read().
| int64_t AUD_FFMPEGReader::seek_packet | ( | void * | opaque, |
| int64_t | offset, | ||
| int | whence | ||
| ) | [static] |
Definition at line 264 of file AUD_FFMPEGReader.cpp.
Referenced by AUD_FFMPEGReader().