Class BluRaySourceBlock
- Namespace
- VisioForge.Core.MediaBlocks.Sources
- Assembly
- VisioForge.Core.dll
Blu-Ray disc source block for high-definition optical disc playback. Plays the main title, or a chosen one, of a Blu-Ray disc folder or image from its .m2ts stream, with audio track selection. Needs the GStreamer decodebin3, tsdemux and h264parse elements. Implements the VisioForge.Core.MediaBlocks.Sources.SourceMediaBlock. Implements the VisioForge.Core.MediaBlocks.IMediaBlockInternals. Implements the IDisposable.
public class BluRaySourceBlock : SourceMediaBlock, IMediaBlock, IDisposable, IMediaBlockInternalsInheritance
Implements
Inherited Members
Extension Methods
Constructors
BluRaySourceBlock(BluRaySourceSettings)
Initializes a new instance of the VisioForge.Core.MediaBlocks.Sources.BluRaySourceBlock class.
public BluRaySourceBlock(BluRaySourceSettings settings)Parameters
settingsBluRaySourceSettings-
The Blu-Ray source settings containing disc location, title, chapter, and stream selection.
Properties
AudioOutput
Gets the audio output pad that provides decoded audio stream to downstream blocks.
public MediaBlockPad AudioOutput { get; }Property Value
Input
Gets the primary input pad (none for source blocks).
public override MediaBlockPad Input { get; }Property Value
Inputs
Gets all input pads available on this block (none for source blocks).
public override MediaBlockPad[] Inputs { get; }Property Value
Output
Gets the primary output pad (video output).
public override MediaBlockPad Output { get; }Property Value
Outputs
Gets all output pads available on this block.
public override MediaBlockPad[] Outputs { get; }Property Value
SubtitleOutput
Gets the subtitle output pad that provides subtitle stream to downstream blocks.
public MediaBlockPad SubtitleOutput { get; }Property Value
Type
Gets the media block type identifier for Blu-Ray source operations.
public override MediaBlockType Type { get; }Property Value
VideoOutput
Gets the video output pad that provides decoded video stream to downstream blocks.
public MediaBlockPad VideoOutput { get; }Property Value
Methods
Build()
Builds and initializes the Blu-Ray source within the pipeline context. Reads the Blu-Ray stream file into decodebin3, sets up decoding, and prepares output pads.
public override bool Build()Returns
- bool
-
trueif the Blu-Ray source was successfully built; otherwise,false.
CleanUp()
Cleans up all resources associated with the Blu-Ray source.
public void CleanUp()Dispose(bool)
Releases resources used by the Blu-Ray source.
protected override void Dispose(bool disposing)Parameters
disposingbool-
trueto release both managed and unmanaged resources.
GetCore()
Gets the core GStreamer element wrapper.
public BaseElement GetCore()Returns
- BaseElement
-
Always null for composite source blocks.
GetElement()
Gets the native GStreamer element for direct pipeline integration.
public Element GetElement()Returns
- Element
-
The decodebin3 element that decodes the Blu-Ray stream.
IsAvailable()
Determines whether Blu-Ray playback support is available on the current system.
public static bool IsAvailable()Returns
- bool
-
trueif Blu-Ray support is available; otherwise,false.
IsSubtitlesAvailable()
Determines whether subtitle streams are available from the Blu-Ray disc.
public override bool IsSubtitlesAvailable()Returns
- bool
-
Always
false: a Blu-ray's subtitles are PGS bitmaps, which the block does not deliver.
IMediaBlockInternals.SetContext(MediaBlocksPipeline)
Sets the pipeline context for this source block.
void IMediaBlockInternals.SetContext(MediaBlocksPipeline pipeline)Parameters
pipelineMediaBlocksPipeline-
The parent MediaBlocks pipeline.