When TVSDK detects a subscribed tag in the playlist/manifest, the player automatically tries to process and expose the tag in the form of a TimedMetadata object.
The class provides the following elements:
Property | Type | Description |
---|---|---|
id | long | Unique identifier of the timed metadata. This value is usually extracted from the cue/tag ID attribute. Otherwise, a unique random value is provided. Use getId . |
metadata | Metadata | The processed/extracted information from the playlist/manifest custom tag. Use getMetadata . |
name | String | The name of the timed metadata. If the type is TAG , the value represents the cue/tag name. If the type is ID3 , it is null. Use getName . |
time | long | The time position, in milliseconds, relative to the start of the main content where this timed metadata is present in the stream. Use getTime . |
type | Type | The type of the timed metadata. Use getType .
|
Remember the following:
TVSDK automatically extracts the attributes list into key-value pairs and stores the attributes in the metadata property.
Complex data in custom tags in the manifest, such as strings with special characters, must be in quotes. For example:
#EXT-CUSTOM-TAG:type=SpliceOut,ID=1,time=71819.7222,duration=30.0,url=
"www.example.com:8090?parameter1=xyz¶meter2=abc"
If the extraction fails because of a custom tag format, the metadata property will be empty and your application must extract the actual information. In this case, no error is thrown.
Element | Description |
---|---|
public enum Type {TAG, ID3} | Possible types for the timed metadata. |
public TimedMetadata(Type type, long time, long id, String name, Metadata metadata); | Default constructor (time is the local stream time). |
public long getTime(); | The time position, relative to the start of the main content, where this metadata was inserted in the stream. |
public Metadata getMetadata(); | The metadata inserted in the stream. |
public Type getType(); | Returns the type of the timed metadata. |
public long getId(); | Returns the ID extracted from the cue/tag attributes. Otherwise, a unique random value is provided. |
public String getName(); | Returns the name of the cue, which is usually the HLS tag name. |