HLS specific tags are retrieved in exactly the same way as other tag types, using BASS_ChannelGetTags. The following is a list of the tag types supported on HLS streams.
BASS_TAG_HLS_DATE | The initial EXT-X-PROGRAM-DATE-TIME tag value in the media playlist. A single string is returned, containg the start date and time in ISO/IEC 8601:2004 form. This will not be updated with the value of any later EXT-X-PROGRAM-DATE-TIME tags that are received. |
BASS_TAG_HLS_EMSG | The latest "emsg" (event message) box/atom in an fMP4 stream. A pointer to a variable length block is returned, including the box/atom header. See aomediacodec.github.io/id3-emsg for details of its structure. This is currently only supported at the start of media segments. Any received mid-segment will be ignored, but if needed, they could be parsed from the data received by a DOWNLOADPROC callback. |
BASS_TAG_HLS_EXTINF | The current segment's EXTINF tag in the media playlist. A single UTF-8 string is returned, containing the duration of the segment and possibly a title too (separated by a comma). This will be updated every time a new segment begins downloading. |
BASS_TAG_HLS_SDT | The current MPEG-TS/DVB Service Description Table (SDT). See the DVB spec for details on the SDT's format. |
BASS_TAG_HLS_STREAMINF | The EXT-X-STREAM-INF tag from the master playlist for the media playlist that is being used. A single UTF-8 string is returned. This will only be available if a master playlist was opened, rather than a media playlist directly. |
The standard BASS_TAG_ID3V2 tag type is also supported on HLS streams, as described in the BASS_ChannelGetTags documentation.