has_internal_source


Description:

[ NoAccessorMethod ]
[ Version ( since = "1.18" ) ]
public bool has_internal_source { get; set; }

This property is used to determine whether the 'internal time' properties of the element have any meaning.

In particular, unless this is set to true, the in_point and max_duration can not be set to any value other than the default 0 and CLOCK_TIME_NONE, respectively.

If an element has some *internal* *timed* source Element that it reads stream data from as part of its function in a Track, then you'll likely want to set this to true to allow the in_point and max_duration to be set.

The default value is determined by the TrackElement default_has_internal_source class property. For most Source-es, this will be true, with the exception of those that have a potentially *static* source, such as ImageSource and TitleSource. Otherwise, this will usually be false.

For most Operation-s you will likely want to leave this set to false. The exception may be for an operation that reads some stream data from some private internal source as part of manipulating the input data from the usual linked upstream TrackElement.

For example, you may want to set this to true for a VIDEO operation that wraps a textoverlay that reads from a subtitle file and places its text on top of the received video data. The in_point of the element would be used to shift the initial seek time on the textoverlay away from 0, and the max_duration could be set to reflect the time at which the subtitle file runs out of data.

Note that GES can not support track elements that have both internal content and manipulate the timing of their data streams (time effects).