SendData
Function Usage
Sends data to the input element (appsrc) on the specified stream. The blocking mode is used. Multi-thread concurrency is not supported.
This API must be used together with GetResult. Otherwise, data stacking may occur.
Prototype
1 | APP_ERROR MxStreamManager::SendData(const std::string& streamName, int inPluginId, MxstDataInput& dataBuffer); |
1 | APP_ERROR MxStreamManager::SendData(const std::string& streamName, const std::string& elementName, MxstDataInput& dataBuffer); |
1 | APP_ERROR MxStreamManager::SendData(const std::string& streamName, const std::string& elementName, std::vector<MxstMetadataInput>& metadataVec, MxstBufferInput& bufferInput); |
Parameters
Parameter |
Input/Output |
Description |
|---|---|---|
streamName |
Input |
Stream name. |
inPluginId |
Input |
ID of the object input plugin, that is, the ID of the appsrc element. (The appsrc number indicates the sequence number of the appsrc element.) |
elementName |
Input |
Name of the input plugin. Only appsrc can be used as the input plugin. |
dataBuffer |
Input |
Data to be sent (MxstDataInput). The value of dataBuffer.dataSize must be equal to the size of the memory to be sent and within the range of [1, 4294967296]. dataBuffer.dataPtr needs to be deleted. |
metadataVec |
Input |
For details about the sent protobuf data list, see MxstMetadataInput. |
bufferInput |
Input |
Data to be sent. The data type is MxstBufferInput. The value of bufferInput.dataSize must be equal to the size of the memory to be sent and within the range of [1, 4294967296]. bufferInput.dataPtr needs to be deleted. |
Response Parameters
Data Structure |
Description |
|---|---|
APP_ERROR |
For details about the returned error codes, see APP_ERROR Description. |