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);
169 static void *DrainAudioThread(
174 static void *DrainThread(
185 static void *FeedThread(
virtual void Play()
Play through the 'tape' sequentially at the specified frame rate.
vtkNew< vtkMutexLock > FeedMutex
mutual exclusion locking class
void SetFrameSize(int dim[3]) override
virtual void InternalGrab()
The internal function which actually does the grab.
Reader for ffmpeg supported formats.
void * AudioCallbackClientData
virtual void Stop()
Stop recording or playing.
vtkNew< vtkConditionVariable > FeedCondition
This is the structure that is passed to the thread that is created from the SingleMethodExecute,...
vtkFFMPEGVideoSource * Caller
virtual void ReleaseSystemResources()
Release the video driver.
static vtkVideoSource * New()
virtual void SetOutputFormat(int format)
Set the output format.
virtual void Grab()
Grab a single video frame.
mutual exclusion locking class
virtual void SetFrameRate(float rate)
Request a particular frame rate (default 30 frames per second).
virtual void SetFrameSize(int x, int y, int z)
Set the full-frame size.
std::function< void(vtkFFMPEGVideoSourceAudioCallbackData &data)> AudioCallbackType
virtual void Record()
Record incoming video at the specified FrameRate.
vtkNew< vtkMutexLock > FeedAudioMutex
AudioCallbackType AudioCallback
void SetAudioCallback(AudioCallbackType cb, void *clientData)
vtkNew< vtkConditionVariable > FeedAudioCondition
virtual void Initialize()
Initialize the hardware.
vtkFFMPEGVideoSourceInternal * Internal
Superclass of video input devices for VTK.