Go to the documentation of this file.
30 #ifndef vtkFFMPEGVideoSource_h
31 #define vtkFFMPEGVideoSource_h
33 #include "vtkIOFFMPEGModule.h"
39 class vtkFFMPEGVideoSourceInternal;
121 vtkSetStringMacro(FileName);
122 vtkGetStringMacro(FileName);
134 vtkGetMacro(EndOfFile,
bool);
146 this->AudioCallback = cb;
147 this->AudioCallbackClientData = clientData;
156 vtkSetMacro(DecodingThreads,
int);
157 vtkGetMacro(DecodingThreads,
int);
void * DrainAudio(vtkMultiThreader::ThreadInfo *data)
vtkNew< vtkMutexLock > FeedMutex
void * Drain(vtkMultiThreader::ThreadInfo *data)
mutual exclusion locking class
void SetFrameSize(int dim[3]) override
Reader for ffmpeg supported formats.
void * AudioCallbackClientData
vtkNew< vtkConditionVariable > FeedCondition
This is the structure that is passed to the thread that is created from the SingleMethodExecute,...
void SetFrameRate(float rate) override
Request a particular frame rate (default 30 frames per second).
static void * DrainAudioThread(vtkMultiThreader::ThreadInfo *data)
void Record() override
Standard VCR functionality: Record incoming video.
void Stop() override
Standard VCR functionality: Stop recording or playing.
void * Feed(vtkMultiThreader::ThreadInfo *data)
void Play() override
Standard VCR functionality: Play recorded video.
vtkFFMPEGVideoSource * Caller
void ReleaseSystemResources() override
Free the driver (this is called automatically inside the destructor).
void Grab() override
Grab a single video frame.
void InternalGrab() override
The internal function which actually does the grab.
void SetFrameSize(int x, int y, int z) override
Request a particular frame size (set the third value to 1).
static vtkFFMPEGVideoSource * New()
void SetOutputFormat(int format) override
Request a particular output format (default: VTK_RGB).
void Initialize() override
Initialize the driver (this is called automatically when the first grab is done).
mutual exclusion locking class
virtual void SetFrameSize(int x, int y, int z)
Set the full-frame size.
std::function< void(vtkFFMPEGVideoSourceAudioCallbackData &data)> AudioCallbackType
static void * FeedThread(vtkMultiThreader::ThreadInfo *data)
static void * DrainThread(vtkMultiThreader::ThreadInfo *data)
vtkNew< vtkMutexLock > FeedAudioMutex
AudioCallbackType AudioCallback
void SetAudioCallback(AudioCallbackType cb, void *clientData)
vtkNew< vtkConditionVariable > FeedAudioCondition
vtkFFMPEGVideoSourceInternal * Internal
Superclass of video input devices for VTK.