Get in touch with us today and our team of imaging professionals will be pleased to assist you.
This topic describes the Pipeline class in the eSDK Pro API.
Pipeline ClassNamespace: eSdkPro Header: eSdkPro/pipeline.h
All data processing in eSDK Pro is managed through the pipeline. The pipeline is a directed graph of tasks, each task implementing its own data processing to convert input data into output data. To execute the pipeline, Pipeline::Start() must be called; the pipeline continues until Pipeline::Stop() is called or a task worker aborts. No changes to the pipeline graph are permitted while it is running.
CreateCameraTask()CameraTask eSdkPro::Pipeline::CreateCameraTask(const Camera& camera)
Creates a task for using a camera within a pipeline.
Parameter: camera — The camera to create a camera task for.
Returns: The newly created camera task.
CreatePluginTask()PluginTask eSdkPro::Pipeline::CreatePluginTask(const Server& server, const std::string& pluginName)
Creates a plugin task for executing custom code within a pipeline.
Parameters:
server — The server to create the task on.pluginName — The name of the plugin TaskWorker as defined within the constructor of the plugin TaskWorker.Returns: The newly created plugin task.
CreateRawSavingTask()RawSavingTask eSdkPro::Pipeline::CreateRawSavingTask(const Server& server, const std::string& baseRecordingPath)
Creates a task for saving raw images to disk.
Parameters:
server — The server to create the task on.baseRecordingPath — The base recording path for the images. A set of subdirectories will be automatically created within the base recording path.Returns: The newly created raw saving task.
CreateNvencTask()NvencTask eSdkPro::Pipeline::CreateNvencTask(const Server& server, const NvencTask::InitParams& initParams)
Creates an NVENC task for compressing frames into a video file.
Parameters:
server — The server to create the task on.initParams — The initialization parameters.Returns: The newly created NVENC task.
CreateFrameGenTask()FrameGenTask eSdkPro::Pipeline::CreateFrameGenTask(const Server& server, const FrameGenTask::InitParams& initParams)
Creates a frame generator task for generating test frames.
Parameters:
server — The server to create the task on.initParams — The initialization parameters.Returns: The newly created frame generator task.
CreateImageDisplayTask()ImageDisplayTask eSdkPro::Pipeline::CreateImageDisplayTask(const Server& server, PreviewFrameFunc onFrameReceive)
Creates an image display task to receive downsampled preview frames.
Parameters:
server — The server to create the task on.onFrameReceive — The callback function to be executed when a frame is received.Returns: The newly created image display task.
DeleteTask()void eSdkPro::Pipeline::DeleteTask(const Task& task)
Deletes a task and removes it from the graph. Any active references to the task will be invalidated.
Parameter: task — The task to delete.
ConnectTasks()void eSdkPro::Pipeline::ConnectTasks(const Output& src, const Input& dst)
Connects a source port to a destination port.
Parameters:
src — The source output port.dst — The destination input port.
DisconnectTasks()void eSdkPro::Pipeline::DisconnectTasks(const Output& src, const Input& dst)
Disconnects a source and destination port.
Parameters:
src — The source output port.dst — The destination input port.
Reset()void eSdkPro::Pipeline::Reset()
Resets the pipeline. Any active references to any tasks will be invalidated.
Start()void eSdkPro::Pipeline::Start()
Starts execution of the pipeline. Any cameras connected to any task in the pipeline will have their streaming automatically restarted.
Stop()void eSdkPro::Pipeline::Stop()
Stops execution of the pipeline. The pipeline will automatically stop all cameras and wait until all frames have been processed before returning.
SetPtpSyncMode()void eSdkPro::Pipeline::SetPtpSyncMode(bool enablePtpSync)
Sets PTP sync mode (default: false).
Parameter: enablePtpSync — If enabled, the pipeline will not start if any camera cannot be synchronized.
Get in touch with us today and our team of imaging professionals will be pleased to assist you.