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.