30 #ifndef vtkFFMPEGVideoSource_h 31 #define vtkFFMPEGVideoSource_h 33 #include "vtkIOFFMPEGModule.h" 39 class vtkFFMPEGVideoSourceInternal;
69 void Record()
override;
90 void SetFrameSize(
int x,
int y,
int z)
override;
92 this->SetFrameSize(dim[0], dim[1], dim[2]); };
98 void SetFrameRate(
float rate)
override;
103 void SetOutputFormat(
int format)
override;
109 void Initialize()
override;
115 void ReleaseSystemResources()
override;
121 vtkSetStringMacro(FileName);
122 vtkGetStringMacro(FileName);
130 void InternalGrab()
override;
134 vtkGetMacro(EndOfFile,
bool);
143 typedef std::function<void(vtkFFMPEGVideoSourceAudioCallbackData &data)>
AudioCallbackType;
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(
void SetAudioCallback(AudioCallbackType cb, void *clientData)
mutual exclusion locking class
AudioCallbackType AudioCallback
vtkFFMPEGVideoSourceInternal * Internal
This is the structure that is passed to the thread that is created from the SingleMethodExecute, MultipleMethodExecute or the SpawnThread method.
vtkNew< vtkConditionVariable > FeedCondition
void SetFrameSize(int dim[3]) override
Request a particular frame size (set the third value to 1).
Superclass of video input devices for VTK.
vtkNew< vtkMutexLock > FeedAudioMutex
Reader for ffmpeg supported formats.
std::function< void(vtkFFMPEGVideoSourceAudioCallbackData &data)> AudioCallbackType
vtkFFMPEGVideoSource * Caller
vtkNew< vtkConditionVariable > FeedAudioCondition
void * AudioCallbackClientData
vtkNew< vtkMutexLock > FeedMutex
mutual exclusion locking class