Class AWSS3SinkBlock
- Namespace
- VisioForge.Core.MediaBlocks.AWS
- Assembly
- VisioForge.Core.dll
AWS S3 sink block for direct media streaming to Amazon S3 cloud storage. This block enables real-time upload of media data to AWS S3 buckets, supporting live streaming, recording, and archival workflows. Features include multipart uploads for large files, automatic retry on network failures, configurable buffer sizes, and support for various S3 storage classes. Essential for cloud-based media workflows, content distribution, backup solutions, and scalable media storage architectures. Requires AWS credentials and appropriate S3 bucket permissions. Implements the VisioForge.Core.MediaBlocks.MediaBlock. Implements the VisioForge.Core.MediaBlocks.IMediaBlockInternals. Implements the IDisposable.
public class AWSS3SinkBlock : MediaBlock, IMediaBlock, IDisposable, IMediaBlockInternalsInheritance
Implements
Inherited Members
Extension Methods
Constructors
AWSS3SinkBlock(AWSS3SinkSettings)
Initializes a new instance of the VisioForge.Core.MediaBlocks.AWS.AWSS3SinkBlock class with specified AWS S3 configuration.
public AWSS3SinkBlock(AWSS3SinkSettings settings)Parameters
settingsAWSS3SinkSettings-
The AWS S3 sink configuration settings including bucket and credentials.
Properties
Input
Gets the input.
public override MediaBlockPad Input { get; }Property Value
Inputs
Gets the inputs.
public override MediaBlockPad[] Inputs { get; }Property Value
Output
Gets the output.
public override MediaBlockPad Output { get; }Property Value
Outputs
Gets the outputs.
public override MediaBlockPad[] Outputs { get; }Property Value
Settings
Gets or sets the AWS S3 sink settings. Contains S3 bucket configuration, credentials, upload parameters, and storage class options.
public AWSS3SinkSettings Settings { get; set; }Property Value
Type
Gets the type.
public override MediaBlockType Type { get; }Property Value
Methods
Build()
Constructs and initializes the AWS S3 sink and its associated elements. This method creates the sink with the specified S3 configuration, establishes the input pad, and prepares the block for cloud upload operations.
public override bool Build()Returns
- bool
-
trueif the sink was successfully built and configured;falseif initialization failed.
CleanUp()
Releases all resources and performs cleanup operations for this AWS S3 sink block. This method disposes of the S3 sink element and resets the build state.
public void CleanUp()CreateNewInput(MediaBlockPadMediaType)
Creates a new input pad for the specified media type. This allows the AWS S3 sink to accept multiple media streams (video, audio, etc.) for multiplexed upload to cloud storage.
public MediaBlockPad CreateNewInput(MediaBlockPadMediaType mediaType)Parameters
mediaTypeMediaBlockPadMediaType-
The type of media this input pad will accept (Video, Audio, Auto, etc.).
Returns
- MediaBlockPad
-
A new VisioForge.Core.MediaBlocks.MediaBlockPad configured for the specified media type, ready to be connected to an upstream media source or processing block.
Dispose(bool)
Releases unmanaged and - optionally - managed resources.
protected override void Dispose(bool disposing)Parameters
disposingbool-
trueto release both managed and unmanaged resources;falseto release only unmanaged resources.
GetCore()
Gets the core BaseElement wrapper that provides additional functionality around the AWS S3 sink element.
public BaseElement GetCore()Returns
- BaseElement
-
The BaseElement wrapper instance that encapsulates the S3 sink.
GetElement()
Gets the underlying GStreamer element that performs the S3 upload operations.
public Element GetElement()Returns
- Element
-
The GStreamer Element instance representing the AWS S3 sink.
GetFilenameOrURL()
Gets the S3 URI for the upload destination. Returns the complete S3 path including bucket and object key.
public string GetFilenameOrURL()Returns
- string
-
The S3 URI in the format s3://bucket/path/to/object.
IsAvailable()
Determines whether this media block is available. Correct NuGet SDK redist should be included into your project.
public static bool IsAvailable()Returns
- bool
-
trueif this media block is available; otherwise,false.
SetFilenameOrURL(string)
Sets the S3 URI for the upload destination. Updates the target location for media uploads.
public void SetFilenameOrURL(string value)Parameters
valuestring-
The S3 URI in the format s3://bucket/path/to/object.
Update()
Updates the AWS S3 sink settings during runtime. This method allows dynamic reconfiguration of S3 upload parameters without stopping the pipeline.
public void Update()IMediaBlockInternals.SetContext(MediaBlocksPipeline)
Associates this AWS S3 sink block with a pipeline and initializes its internal context. This method is called internally when the block is added to a pipeline.
void IMediaBlockInternals.SetContext(MediaBlocksPipeline pipeline)Parameters
pipelineMediaBlocksPipeline-
The MediaBlocksPipeline instance that will manage this block.