Class MQTTOutputBlock
- Namespace
- VisioForge.Plugins.MQTT.MediaBlocks
- Assembly
- VisioForge.Plugins.MQTT.dll
Provides a media block that outputs video and audio frames to an MQTT broker.
public class MQTTOutputBlock : BufferSinkBlock, IMediaBlock, IDisposable, IMediaBlockInternalsInheritance
-
MediaBlockBufferSinkBlock
Implements
-
IMediaBlockIMediaBlockInternals
Inherited Members
-
BufferSinkBlock.TAGBufferSinkBlock.TypeBufferSinkBlock.InputBufferSinkBlock.OnVideoFrameBufferBufferSinkBlock.OnAudioFrameBufferBufferSinkBlock.OnDataFrameBufferBufferSinkBlock.OnSampleBufferSinkBlock.InputsBufferSinkBlock.OutputBufferSinkBlock.OutputsBufferSinkBlock.AllowFrameDropBufferSinkBlock.IsSyncBufferSinkBlock.IsAvailable()BufferSinkBlock.GetCore()BufferSinkBlock.GetElement()BufferSinkBlock.Build()BufferSinkBlock.IMediaBlockInternals.SetContext(MediaBlocksPipeline)BufferSinkBlock.GetFilenameOrURL()BufferSinkBlock.SetFilenameOrURL(string)BufferSinkBlock.Dispose(bool)BufferSinkBlock.CleanUp()MediaBlock._isBuiltMediaBlock._pipelineMediaBlock._pipelineCtxMediaBlock.GetPipelineContext()MediaBlock.SetPipelineContext(BlockPipelineContext)MediaBlock.SetPipeline(MediaBlocksPipeline)MediaBlock.ContextMediaBlock.NameMediaBlock.IsBuiltMediaBlock.OwnerMediaBlock.TypeMediaBlock.IDMediaBlock.InputMediaBlock.InputsMediaBlock.OutputMediaBlock.OutputsMediaBlock.HasInputsMediaBlock.HasOutputsMediaBlock.Build()MediaBlock.CreateElements()MediaBlock.AddElementsToPipeline()MediaBlock.RemoveElementsFromPipeline()MediaBlock.DeepCopy(string)MediaBlock.Reset()MediaBlock.ToYAMLBlock()MediaBlock.ClearPads()MediaBlock.Dispose(bool)MediaBlock.Dispose()
Remarks
This class extends VisioForge.Core.MediaBlocks.Sinks.BufferSinkBlock to enable publishing media frames (video, audio, or data) to an MQTT topic. It automatically handles JPEG-encoded video frames and can be extended to support PCM audio data streaming. The block integrates with the VisioForge media pipeline architecture.
Constructors
MQTTOutputBlock(MQTTClient, string)
Initializes a new instance of the VisioForge.Plugins.MQTT.MediaBlocks.MQTTOutputBlock class with the specified MQTT client and topic.
public MQTTOutputBlock(MQTTClient mqttClient, string topic)Parameters
mqttClientMQTTClient-
The VisioForge.Plugins.MQTT.MQTTClient instance to use for publishing messages.
topicstring-
The MQTT topic to publish media frames to.
MQTTOutputBlock()
Initializes a new instance of the VisioForge.Plugins.MQTT.MediaBlocks.MQTTOutputBlock class without MQTT client configuration.
public MQTTOutputBlock()Remarks
When using this constructor, the block will not publish any data as no MQTT client is configured. This constructor may be used for testing or placeholder scenarios.
Methods
Build()
Builds and initializes the MQTT output block, setting up event handlers for media frame processing.
public override bool Build()Returns
- bool
-
True if the block was successfully built and initialized; false if the MQTT client is not configured or if the base build failed.
Remarks
This method registers event handlers for data, video, and audio frame buffers. The block will only successfully build if an MQTT client is configured via the appropriate constructor.