Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::FFMPEGFileImportableSource Class Reference

#include <ffmpegfileimportable.h>

Inheritance diagram for ARDOUR::FFMPEGFileImportableSource:
[legend]

Public Types

enum  { ALL_CHANNELS = -1 }
 

Public Member Functions

 FFMPEGFileImportableSource (const std::string &path, int channel=ALL_CHANNELS)
 
virtual ~FFMPEGFileImportableSource ()
 
samplecnt_t read (Sample *, samplecnt_t nframes)
 
uint32_t channels () const
 
samplecnt_t length () const
 
samplecnt_t samplerate () const
 
void seek (samplepos_t pos)
 
samplepos_t natural_position () const
 
bool clamped_at_unity () const
 
std::string format_name () const
 
- Public Member Functions inherited from ARDOUR::ImportableSource
 ImportableSource ()
 
virtual ~ImportableSource ()
 
virtual float ratio () const
 

Private Member Functions

void start_ffmpeg ()
 
void reset ()
 
void did_read_data (std::string data, size_t size)
 

Private Attributes

std::string _path
 
int _channel
 
uint32_t _channels
 
samplecnt_t _length
 
samplecnt_t _samplerate
 
samplepos_t _natural_position
 
std::string _format_name
 
PBD::RingBuffer< Sample_buffer
 
std::atomic< int > _ffmpeg_should_terminate
 
std::string _leftover_data
 
samplecnt_t _read_pos
 
ARDOUR::SystemExec_ffmpeg_exec
 
PBD::ScopedConnection _ffmpeg_conn
 

Detailed Description

Definition at line 33 of file ffmpegfileimportable.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
ALL_CHANNELS 

Definition at line 36 of file ffmpegfileimportable.h.

Constructor & Destructor Documentation

◆ FFMPEGFileImportableSource()

ARDOUR::FFMPEGFileImportableSource::FFMPEGFileImportableSource ( const std::string &  path,
int  channel = ALL_CHANNELS 
)

◆ ~FFMPEGFileImportableSource()

virtual ARDOUR::FFMPEGFileImportableSource::~FFMPEGFileImportableSource ( )
virtual

Member Function Documentation

◆ channels()

uint32_t ARDOUR::FFMPEGFileImportableSource::channels ( ) const
inlinevirtual

Implements ARDOUR::ImportableSource.

Definition at line 46 of file ffmpegfileimportable.h.

◆ clamped_at_unity()

bool ARDOUR::FFMPEGFileImportableSource::clamped_at_unity ( ) const
inlinevirtual

Implements ARDOUR::ImportableSource.

Definition at line 51 of file ffmpegfileimportable.h.

◆ did_read_data()

void ARDOUR::FFMPEGFileImportableSource::did_read_data ( std::string  data,
size_t  size 
)
private

◆ format_name()

std::string ARDOUR::FFMPEGFileImportableSource::format_name ( ) const
inline

Definition at line 53 of file ffmpegfileimportable.h.

◆ length()

samplecnt_t ARDOUR::FFMPEGFileImportableSource::length ( ) const
inlinevirtual

Implements ARDOUR::ImportableSource.

Definition at line 47 of file ffmpegfileimportable.h.

◆ natural_position()

samplepos_t ARDOUR::FFMPEGFileImportableSource::natural_position ( ) const
inlinevirtual

Implements ARDOUR::ImportableSource.

Definition at line 50 of file ffmpegfileimportable.h.

◆ read()

samplecnt_t ARDOUR::FFMPEGFileImportableSource::read ( Sample ,
samplecnt_t  nframes 
)
virtual

◆ reset()

void ARDOUR::FFMPEGFileImportableSource::reset ( )
private

◆ samplerate()

samplecnt_t ARDOUR::FFMPEGFileImportableSource::samplerate ( ) const
inlinevirtual

Implements ARDOUR::ImportableSource.

Definition at line 48 of file ffmpegfileimportable.h.

◆ seek()

void ARDOUR::FFMPEGFileImportableSource::seek ( samplepos_t  pos)
virtual

◆ start_ffmpeg()

void ARDOUR::FFMPEGFileImportableSource::start_ffmpeg ( )
private

Member Data Documentation

◆ _buffer

PBD::RingBuffer<Sample> ARDOUR::FFMPEGFileImportableSource::_buffer
private

Definition at line 70 of file ffmpegfileimportable.h.

◆ _channel

int ARDOUR::FFMPEGFileImportableSource::_channel
private

Definition at line 62 of file ffmpegfileimportable.h.

◆ _channels

uint32_t ARDOUR::FFMPEGFileImportableSource::_channels
private

Definition at line 64 of file ffmpegfileimportable.h.

◆ _ffmpeg_conn

PBD::ScopedConnection ARDOUR::FFMPEGFileImportableSource::_ffmpeg_conn
private

Definition at line 83 of file ffmpegfileimportable.h.

◆ _ffmpeg_exec

ARDOUR::SystemExec* ARDOUR::FFMPEGFileImportableSource::_ffmpeg_exec
private

Definition at line 82 of file ffmpegfileimportable.h.

◆ _ffmpeg_should_terminate

std::atomic<int> ARDOUR::FFMPEGFileImportableSource::_ffmpeg_should_terminate
private

Definition at line 72 of file ffmpegfileimportable.h.

◆ _format_name

std::string ARDOUR::FFMPEGFileImportableSource::_format_name
private

Definition at line 68 of file ffmpegfileimportable.h.

◆ _leftover_data

std::string ARDOUR::FFMPEGFileImportableSource::_leftover_data
private

Definition at line 78 of file ffmpegfileimportable.h.

◆ _length

samplecnt_t ARDOUR::FFMPEGFileImportableSource::_length
private

Definition at line 65 of file ffmpegfileimportable.h.

◆ _natural_position

samplepos_t ARDOUR::FFMPEGFileImportableSource::_natural_position
private

Definition at line 67 of file ffmpegfileimportable.h.

◆ _path

std::string ARDOUR::FFMPEGFileImportableSource::_path
private

Definition at line 61 of file ffmpegfileimportable.h.

◆ _read_pos

samplecnt_t ARDOUR::FFMPEGFileImportableSource::_read_pos
private

Definition at line 80 of file ffmpegfileimportable.h.

◆ _samplerate

samplecnt_t ARDOUR::FFMPEGFileImportableSource::_samplerate
private

Definition at line 66 of file ffmpegfileimportable.h.


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