The IVideoSource graph node interface. More...

#include "murl_graph_i_video_source.h"

Inheritance diagram for Murl::Graph::IVideoSource:

Public Member Functions

virtual INodeGetNodeInterface ()=0
 Get the mutable Graph::INode interface. More...
 
virtual const INodeGetNodeInterface () const =0
 Get the constant Graph::INode interface. More...
 
virtual IVideoResourceTargetGetVideoResourceTarget ()=0
 Get a mutable Graph::IVideoResourceTarget container. More...
 
virtual const IVideoResourceTargetGetVideoResourceTarget () const =0
 Get a constant Graph::IVideoResourceTarget container. More...
 
virtual Bool SetBufferType (IEnums::BufferType type)=0
 Set the video node's buffer type. More...
 
virtual IEnums::BufferType GetBufferType () const =0
 Get the video node's buffer type. More...
 
virtual Double GetDuration () const =0
 Get the duration of the video. More...
 
virtual IVideoStreamAcquireVideoStream ()=0
 Get a video stream. More...
 
virtual Bool ReleaseVideoStream (IVideoStream *stream)=0
 Release a previously acquired video stream. More...
 
virtual Video::ITextureCreateVideoTexture (Video::IRenderer *renderer) const =0
 Create a suitable video texture for optimal decoding. More...
 

Detailed Description

The IVideoSource graph node interface.

This interface represents a node referencing a read-only Resource::IVideo object, which can be played back by assigning it to one or more individual Graph::IVideoSequence nodes.

Member Function Documentation

◆ GetNodeInterface() [1/2]

virtual INode* Murl::Graph::IVideoSource::GetNodeInterface ( )
pure virtual

Get the mutable Graph::INode interface.

This method returns a mutable pointer to the node's Graph::INode interface, to be able to query or modify common node properties such as active state, visibility or ID.

Returns
The mutable Graph::INode interface, or null if not available

◆ GetNodeInterface() [2/2]

virtual const INode* Murl::Graph::IVideoSource::GetNodeInterface ( ) const
pure virtual

Get the constant Graph::INode interface.

This method returns a constant pointer to the node's Graph::INode interface, to be able to query common node properties such as active state, visibility or ID.

Returns
The constant Graph::INode interface, or null if not available

◆ GetVideoResourceTarget() [1/2]

virtual IVideoResourceTarget* Murl::Graph::IVideoSource::GetVideoResourceTarget ( )
pure virtual

Get a mutable Graph::IVideoResourceTarget container.

This method returns a mutable pointer to a Graph::IVideoResourceTarget container, which allows to add, remove or query the video resources referenced by a node implementing this interface.

Returns
The mutable Graph::IVideoResourceTarget container, or null if not available

◆ GetVideoResourceTarget() [2/2]

virtual const IVideoResourceTarget* Murl::Graph::IVideoSource::GetVideoResourceTarget ( ) const
pure virtual

Get a constant Graph::IVideoResourceTarget container.

This method returns a constant pointer to a Graph::IVideoResourceTarget container, which allows to query the video resources referenced by a node implementing this interface.

Returns
The constant Graph::IVideoResourceTarget container, or null if not available

◆ SetBufferType()

virtual Bool Murl::Graph::IVideoSource::SetBufferType ( IEnums::BufferType  type)
pure virtual

Set the video node's buffer type.

Parameters
typeThe buffer type.
Returns
true if successful.

◆ GetBufferType()

virtual IEnums::BufferType Murl::Graph::IVideoSource::GetBufferType ( ) const
pure virtual

Get the video node's buffer type.

Returns
The buffer type.

◆ GetDuration()

virtual Double Murl::Graph::IVideoSource::GetDuration ( ) const
pure virtual

Get the duration of the video.

Returns
The video duration in seconds.

◆ AcquireVideoStream()

virtual IVideoStream* Murl::Graph::IVideoSource::AcquireVideoStream ( )
pure virtual

Get a video stream.

Returns
The video stream, or null if not available.

◆ ReleaseVideoStream()

virtual Bool Murl::Graph::IVideoSource::ReleaseVideoStream ( IVideoStream stream)
pure virtual

Release a previously acquired video stream.

Parameters
streamThe video stream to release
Returns
true if successful.

◆ CreateVideoTexture()

virtual Video::ITexture* Murl::Graph::IVideoSource::CreateVideoTexture ( Video::IRenderer renderer) const
pure virtual

Create a suitable video texture for optimal decoding.

A video source may provide special texture objects that are better suited for optimal decoding than the standard textures created via a video renderer. If no special texture is needed, this method returns a null pointer, and a standard texture should be created in the usual way. If this method returns a valid pointer, the returned texture can be used just like a standard one, including destruction via the renderer.

Parameters
rendererThe video renderer used for creation.
Returns
A pointer to a special texture, or null if not needed.

The documentation for this interface was generated from the following file:
  • murl_graph_i_video_source.h


Copyright © 2011-2024 Spraylight GmbH.