27 #ifndef vtkFFMPEGVideoSource_h 28 #define vtkFFMPEGVideoSource_h 30 #include "vtkIOFFMPEGModule.h" 36 class vtkFFMPEGVideoSourceInternal;
77 void Record()
override;
98 void SetFrameSize(
int x,
int y,
int z)
override;
105 void SetFrameRate(
float rate)
override;
110 void SetOutputFormat(
int format)
override;
116 void Initialize()
override;
122 void ReleaseSystemResources()
override;
128 vtkSetStringMacro(FileName);
129 vtkGetStringMacro(FileName);
137 void InternalGrab()
override;
141 vtkGetMacro(EndOfFile,
bool);
144 vtkGetMacro(Stereo3D,
bool);
153 typedef std::function<void(vtkFFMPEGVideoSourceAudioCallbackData const& data)>
AudioCallbackType;
156 this->AudioCallback = cb;
157 this->AudioCallbackClientData = clientData;
166 typedef std::function<void(vtkFFMPEGVideoSourceVideoCallbackData const& data)>
VideoCallbackType;
169 this->VideoCallback = cb;
170 this->VideoCallbackClientData = clientData;
179 vtkSetMacro(DecodingThreads,
int);
180 vtkGetMacro(DecodingThreads,
int);
VideoCallbackType VideoCallback
void SetAudioCallback(AudioCallbackType cb, void *clientData)
mutual exclusion locking class
std::function< void(vtkFFMPEGVideoSourceVideoCallbackData const &data)> VideoCallbackType
vtkFFMPEGVideoSource * Caller
std::function< void(vtkFFMPEGVideoSourceAudioCallbackData const &data)> AudioCallbackType
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.
void * VideoCallbackClientData
vtkFFMPEGVideoSource * Caller
vtkNew< vtkConditionVariable > FeedAudioCondition
void * AudioCallbackClientData
vtkNew< vtkMutexLock > FeedMutex
mutual exclusion locking class
void SetVideoCallback(VideoCallbackType cb, void *clientData)