GstTagDemuxClass

The #GstTagDemuxClass structure. See documentation at beginning of section for details about what subclasses need to override and do.

Members

Variables

identifyTag
bool function(GstTagDemux* demux, GstBuffer* buffer, bool startTag, uint* tagSize) identifyTag;

identify tag and determine the size required to parse the tag. Buffer may be larger than the specified minimum size. Subclassed MUST override this vfunc in their class_init function.

mergeTags
GstTagList* function(GstTagDemux* demux, const(GstTagList)* startTags, const(GstTagList)* endTags) mergeTags;

merge start and end tags. Subclasses may want to override this vfunc to allow prioritising of start or end tag according to user preference. Note that both start_tags and end_tags may be NULL. By default start tags are preferred over end tags.

minEndSize
uint minEndSize;

minimum size required to identify a tag at the end and determine its total size. Set to 0 if not interested in end tags. Subclasses should set this in their class_init function.

minStartSize
uint minStartSize;

minimum size required to identify a tag at the start and determine its total size. Set to 0 if not interested in start tags. Subclasses should set this in their class_init function.

parentClass
GstElementClass parentClass;

the parent class.

parseTag
GstTagDemuxResult function(GstTagDemux* demux, GstBuffer* buffer, bool startTag, uint* tagSize, GstTagList** tags) parseTag;

parse the tag. Buffer will be exactly of the size determined by the identify_tag vfunc before. The parse_tag vfunc may change the size stored in *tag_size and return GST_TAG_DEMUX_RESULT_AGAIN to request a larger or smaller buffer. It is also permitted to adjust the tag_size to a smaller value and then return GST_TAG_DEMUX_RESULT_OK in one go. Subclassed MUST override the parse_tag vfunc in their class_init function.

reserved
void*[4] reserved;