Skip to main content

Player Types Reference

This section provides reference documentation for all types, enums, and classes available in the Lura Player .NET/C# SDK for Tizen.

Core Event Types

Lura.Unified.UnifiedEvent

Non-generic event class for player events.

PropertyTypeDescription
TypeUnifiedEventNameThe event type enum
Dataobject?The event data payload
PlayerNamestringThe name of the player instance
InitiatorInitiatorTypeWhether the event was triggered by USER or SYSTEM
TimestampDateTimeUTC timestamp when the event occurred
public class UnifiedEvent
{
public UnifiedEventName Type { get; set; }
public object? Data { get; set; }
public string PlayerName { get; set; }
public InitiatorType Initiator { get; set; }
public DateTime Timestamp { get; set; }
}

Lura.Unified.UnifiedEventName

Enumeration of all possible player events.

public enum UnifiedEventName
{
CAN_PLAY,
PLAYING,
PAUSED,
ENDED,
ERROR,
WARNING,
BUFFERING_STARTED,
BUFFERING_ENDED,
DURATION_CHANGE,
TIME_UPDATED,
SEEKED,
SEEKING,
RATE_CHANGE,
VOLUME_CHANGED,
MUTE_CHANGED,
SCREEN_STATE_CHANGED,
TRACK_CHANGED,
TRACKS_UPDATED,
LOADED_MEDIA_INFO,
CAPTION_DISPLAY_CHANGED,
AD_IMPRESSION,
AD_BREAK_STARTED,
AD_STARTED,
AD_FIRST_QUARTILE,
AD_MIDPOINT,
AD_THIRD_QUARTILE,
AD_COMPLETED,
AD_BREAK_COMPLETED,
AD_CLICKED,
AD_SKIPPED,
AD_INTERACTION,
CASTING_REQUESTED,
CASTING_STARTED,
CASTING_ENDED,
INTERSTITIALS,
TRICK_PLAY_DATA_EVENT,
CAST_AVAILABILITY_CHANGED,
TIMED_METADATA,
DASH_TIMED_METADATA,
LIVE_AVAILABILITY_WINDOW_FOUND,
EVENT_METADATA_UPDATED,
CUSTOM_DATA_CHANGED,
CLEARED,
EVENT_NOTIFIED,
REPLAY,
SHOW_CAPTION,
BUFFER_CHANGED,
NON_LINEAR_MARKERS,
NON_LINEAR_STARTED,
NON_LINEAR_COMPLETED,
NON_LINEAR_PROGRESS,
NON_LINEAR_LOADED,
PLAYLIST_ITEM_CHANGED,
PLAYLIST_ITEM_LOADED,
CONFIGURED
}

Lura.Unified.InitiatorType

Indicates who initiated an action.

ValueDescription
USERAction initiated by the user
SYSTEMAction initiated by the system/player
public enum InitiatorType
{
USER,
SYSTEM
}

Video & Media Types

Lura.Unified.VideoType

Enumeration of video content types.

ValueDescription
VODVideo on Demand content
LIVELive streaming content
LIVE_DVRLive streaming with DVR capabilities
LIVE_CATCH_UPLive catch-up streaming
public enum VideoType
{
VOD,
LIVE,
LIVE_DVR,
LIVE_CATCH_UP
}

Lura.Unified.MediaFormat

Enumeration of media format types.

ValueDescription
DASHDASH (Dynamic Adaptive Streaming over HTTP) format
HLSHLS (HTTP Live Streaming) format
PROGRESSIVEProgressive download format
public enum MediaFormat
{
DASH,
HLS,
PROGRESSIVE
}

Lura.Unified.TrackTypes

Enumeration of media track types.

ValueDescription
AUDIOAudio track
CAPTIONCaption/subtitle track
VIDEOVideo track
VIEW_GRIDView grid track
public enum TrackTypes
{
AUDIO,
CAPTION,
VIDEO,
VIEW_GRID
}

Track Types

Lura.Unified.Tracks

Container for all available media tracks.

PropertyTypeDescription
AudioList<AudioTrack>List of available audio tracks
CaptionList<CaptionTrack>List of available caption tracks
VideoList<VideoTrack>?List of available video tracks
ViewGridList<ViewGrid>?List of available view grids
public class Tracks
{
public List<AudioTrack>? Audio { get; set; }
public List<CaptionTrack>? Caption { get; set; }
public List<VideoTrack>? Video { get; set; }
public List<ViewGrid>? ViewGrid { get; set; }
}

Lura.Unified.AudioTrack

Represents an audio track.

PropertyTypeDescription
Idstring?Unique identifier for the track
Languagestring?Language code (e.g., "en", "es")
Labelstring?Display label (e.g., "English")
ActiveboolWhether this track is currently active
Bitrateint?Bitrate in kbps
public class AudioTrack
{
public string? Id { get; set; }
public string? Language { get; set; }
public string? Label { get; set; }
public bool Active { get; set; }
public int? Bitrate { get; set; }
}

Lura.Unified.CaptionTrack

Represents a caption/subtitle track.

PropertyTypeDescription
Idstring?Unique identifier for the track
Languagestring?Language code (e.g., "en", "es")
Labelstring?Display label (e.g., "English")
ActiveboolWhether this track is currently active
Kindstring?Type/kind of caption
public class CaptionTrack
{
public string? Id { get; set; }
public string? Language { get; set; }
public string? Label { get; set; }
public bool Active { get; set; }
public string? Kind { get; set; }
}

Lura.Unified.VideoTrack

Represents a video quality track.

PropertyTypeDescription
Idstring?Unique identifier for the track
Bitrateint?Bitrate in kbps
Widthint?Video width in pixels
Heightint?Video height in pixels
ActiveboolWhether this track is currently active
public class VideoTrack
{
public string? Id { get; set; }
public int? Bitrate { get; set; }
public int? Width { get; set; }
public int? Height { get; set; }
public bool Active { get; set; }
}

Lura.Unified.ViewGrid

Represents a view grid configuration.

PropertyTypeDescription
Idstring?Unique identifier for the view grid
Labelstring?Display label
ActiveboolWhether this view grid is currently active
public class ViewGrid
{
public string? Id { get; set; }
public string? Label { get; set; }
public bool Active { get; set; }
}

Screen & Casting Types

Lura.Unified.ScreenState

Enumeration of player screen states.

ValueDescription
WINDOWEDPlayer is in windowed mode
FULLSCREENPlayer is in fullscreen mode
PICTURE_IN_PICTUREPlayer is in picture-in-picture mode
public enum ScreenState
{
WINDOWED,
FULLSCREEN,
PICTURE_IN_PICTURE
}

Lura.Unified.CastTargets

Enumeration of casting target types.

ValueDescription
CHROMECASTChromecast casting target
AIRPLAYAirPlay casting target
public enum CastTargets
{
CHROMECAST,
AIRPLAY
}

Ad Types

Lura.Unified.AdBreak

Represents an ad break/pod.

PropertyTypeDescription
Idstring?Unique identifier for the ad break
AdsList<Ad>?List of ads in this break
Offsetint?Start time offset in seconds
public class AdBreak
{
public string? Id { get; set; }
public List<Ad>? Ads { get; set; }
public int? Offset { get; set; }
}

Lura.Unified.Ad

Represents an individual ad.

PropertyTypeDescription
Idstring?Unique identifier for the ad
Titlestring?Ad title
Descriptionstring?Ad description
Durationint?Ad duration in seconds
CurrentTimedouble?Current playback position
Skippablebool?Whether the ad can be skipped
SkipOffsetint?Time in seconds before skip is allowed
public class Ad
{
public string? Id { get; set; }
public string? Title { get; set; }
public string? Description { get; set; }
public int? Duration { get; set; }
public double? CurrentTime { get; set; }
public bool? Skippable { get; set; }
public int? SkipOffset { get; set; }
}

Lura.Unified.AdCue

Represents an ad cue point.

PropertyTypeDescription
IdstringUnique identifier for the cue
TypeCueTypeType of cue (AD_BREAK or CHAPTER)
DataAdCueData?Additional cue data
public class AdCue
{
public string Id { get; set; } = string.Empty;
public CueType Type { get; set; }
public AdCueData? Data { get; set; }
}

Lura.Unified.AdCueData

Data associated with an ad cue.

PropertyTypeDescription
AdPositionintPosition of the ad
public class AdCueData
{
public int AdPosition { get; set; }
}

Lura.Unified.CueType

Enumeration of cue point types.

ValueDescription
AD_BREAKAd break cue point
CHAPTERChapter cue point
public enum CueType
{
AD_BREAK,
CHAPTER
}

Player State Types

Lura.Unified.TimeUpdateDataInterface

Represents current playback time and buffer information.

PropertyTypeDescription
CurrentTimedoubleCurrent playback position in seconds
DurationdoubleTotal duration in seconds
BufferedStartdoubleStart of buffered range in seconds
BufferedEnddoubleEnd of buffered range in seconds
AdAd?Current ad information if applicable
public class TimeUpdateDataInterface
{
public double CurrentTime { get; set; }
public double Duration { get; set; }
public double BufferedStart { get; set; }
public double BufferedEnd { get; set; }
public Ad? Ad { get; set; }
}

Lura.Unified.PlayerCapabilities

Represents the capabilities supported by the player.

PropertyTypeDescription
SupportsAutoplaybool?Whether autoplay is supported
SupportsFullscreenbool?Whether fullscreen is supported
SupportsPictureInPicturebool?Whether picture-in-picture is supported
SupportsCastingbool?Whether casting is supported
SupportsAdsbool?Whether ad playback is supported
SupportsTracksbool?Whether track selection is supported
public class PlayerCapabilities
{
public bool? SupportsAutoplay { get; set; }
public bool? SupportsFullscreen { get; set; }
public bool? SupportsPictureInPicture { get; set; }
public bool? SupportsCasting { get; set; }
public bool? SupportsAds { get; set; }
public bool? SupportsTracks { get; set; }
}

Lura.Unified.AvailabilityWindow

Represents a DVR availability window for live streams.

PropertyTypeDescription
Idstring?Unique identifier for the window
Titlestring?Window title
StartTimedouble?Start time in seconds
EndTimedouble?End time in seconds
public class AvailabilityWindow
{
public string? Id { get; set; }
public string? Title { get; set; }
public double? StartTime { get; set; }
public double? EndTime { get; set; }
}

Lura.Unified.CallToActionItem

Represents a call-to-action overlay.

PropertyTypeDescription
Idstring?Unique identifier
Titlestring?CTA title
Urlstring?Destination URL
StartTimeint?Start time in seconds
EndTimeint?End time in seconds
public class CallToActionItem
{
public string? Id { get; set; }
public string? Title { get; set; }
public string? Url { get; set; }
public int? StartTime { get; set; }
public int? EndTime { get; set; }
}

Lura.Unified.EventMetadata

Represents metadata for an event.

PropertyTypeDescription
Titlestring?Event title
Descriptionstring?Event description
StartTimedouble?Start time in seconds
EndTimedouble?End time in seconds
CustomMetadataDictionary<string, object>?Custom key-value metadata
DvrAvailabilitybool?Whether DVR is available
public class EventMetadata
{
public string? Title { get; set; }
public string? Description { get; set; }
public double? StartTime { get; set; }
public double? EndTime { get; set; }
public Dictionary<string, object>? CustomMetadata { get; set; }
public bool? DvrAvailability { get; set; }
}

Configuration Types

Lura.Unified.Configuration

Main configuration class for the player.

PropertyTypeDescription
Debugbool?Enable debug mode
PlayerOpsKeystring?Player operations key
Namestring?Player name displayed in events
PreloadIdstring?Preload ID managed by player
LuraLuraConfiguration?Lura configuration for MCP integration
AnalyticsAnalyticsConfiguration?Analytics configuration
AdsAdsConfiguration?Ad configuration
CastCastConfiguration?Casting configuration
ControlsControlsConfiguration?UI controls configuration
ContentContentConfiguration?Content/media configuration
PluginsPluginsConfiguration?Plugin configuration
InitializationInitializationConfiguration?Initialization settings
TeasersTeasersConfiguration?Teaser configuration
public class Configuration
{
public bool? Debug { get; set; }
public string? PlayerOpsKey { get; set; }
public string? Name { get; set; }
public string? PreloadId { get; set; }
public LuraConfiguration? Lura { get; set; }
public AnalyticsConfiguration? Analytics { get; set; }
public AdsConfiguration? Ads { get; set; }
public CastConfiguration? Cast { get; set; }
public ControlsConfiguration? Controls { get; set; }
public ContentConfiguration? Content { get; set; }
public PluginsConfiguration? Plugins { get; set; }
public InitializationConfiguration? Initialization { get; set; }
public TeasersConfiguration? Teasers { get; set; }
}

Lura.Unified.LuraConfiguration

Configuration for Lura MCP integration.

PropertyTypeDescription
AppKeystring?Authentication key from MCP
AssetIdstring?ID of the asset to play
Tokenstring?Token of the asset to play
public class LuraConfiguration
{
public string? AppKey { get; set; }
public string? AssetId { get; set; }
public string? Token { get; set; }
}

Lura.Unified.ContentConfiguration

Configuration for media content.

PropertyTypeDescription
MediaList<ContentMedia>?Media objects to play
ClientCertificatesContentClientCertificatesConfiguration?Client certificates for DRM
Titlestring?Video title
Descriptionstring?Video description
CaptionsContentCaptionsConfiguration?Caption configuration
PreferredDRMSystemsList<ContentDrmSystem>?Preferred DRM systems
Languagestring?Fallback language
TypeContentType?Video type (VOD or Live)
StartAtfloat?Start time in seconds
AnnotationsList<ContentAnnotation>?Intro/Outro annotations
DvrContentDvrConfiguration?DVR configuration
AspectRatiostring?Aspect ratio of the stream
public class ContentConfiguration
{
public List<ContentMedia>? Media { get; set; }
public ContentClientCertificatesConfiguration? ClientCertificates { get; set; }
public string? Title { get; set; }
public string? Description { get; set; }
public ContentCaptionsConfiguration? Captions { get; set; }
public List<ContentDrmSystem>? PreferredDRMSystems { get; set; }
public string? Language { get; set; }
public ContentType? Type { get; set; }
public float? StartAt { get; set; }
public List<ContentAnnotation>? Annotations { get; set; }
public ContentDvrConfiguration? Dvr { get; set; }
public string? AspectRatio { get; set; }
}

Lura.Unified.ContentMedia

Represents a media source.

PropertyTypeDescription
Urlstring?Media URL
Typestring?MIME type (e.g., "video/mp4")
Widthfloat?Width for trickplay images
Heightfloat?Height for trickplay images
Durationfloat?Duration in seconds
Layoutstring?Layout type
Labelstring?Display label
Languagestring?Language code
LicenseUrlstring?DRM license URL
public class ContentMedia
{
public string? Url { get; set; }
public string? Type { get; set; }
public float? Width { get; set; }
public float? Height { get; set; }
public float? Duration { get; set; }
public string? Layout { get; set; }
public string? Label { get; set; }
public string? Language { get; set; }
public string? LicenseUrl { get; set; }
}

Lura.Unified.ControlsConfiguration

Configuration for player controls.

PropertyTypeDescription
Enabledbool?Whether UI is enabled
Themestring?UI theme
Autoplaybool?Whether to autoplay
Mutedbool?Whether to start muted
Volumefloat?Initial volume (0.0 - 1.0)
LayoutControlsLayout?UI layout
PlatformControlsPlatform?UI platform
Loopbool?Whether to loop playback
SharingControlsSharingConfiguration?Sharing configuration
public class ControlsConfiguration
{
public bool? Enabled { get; set; }
public string? Theme { get; set; }
public bool? Autoplay { get; set; }
public bool? Muted { get; set; }
public float? Volume { get; set; }
public ControlsLayout? Layout { get; set; }
public ControlsPlatform? Platform { get; set; }
public bool? Loop { get; set; }
public ControlsSharingConfiguration? Sharing { get; set; }
}

MIME Type Constants

Lura.Unified.MediaMimeType

Static class containing common media MIME types.

ConstantValueDescription
VideoMp4"video/mp4"MP4 video
VideoWebm"video/webm"WebM video
AudioMp4"audio/mp4"MP4 audio
VideoMp2T"video/mp2t"MPEG-TS video
AudioAac"audio/aac"AAC audio
AudioAc3"audio/ac3"AC-3 audio
AudioEc3"audio/ec3"Enhanced AC-3 audio
VideoHlsApple"application/vnd.apple.mpegurl"HLS (Apple)
VideoHls"application/x-mpegurl"HLS
AudioHls"audio/mpegurl"HLS audio
VideoDash"application/dash+xml"DASH
AudioMp3"audio/mpeg"MP3 audio
public static class MediaMimeType
{
public const string VideoMp4 = "video/mp4";
public const string VideoWebm = "video/webm";
public const string AudioMp4 = "audio/mp4";
public const string VideoMp2T = "video/mp2t";
public const string AudioAac = "audio/aac";
public const string AudioAc3 = "audio/ac3";
public const string AudioEc3 = "audio/ec3";
public const string VideoHlsApple = "application/vnd.apple.mpegurl";
public const string VideoHls = "application/x-mpegurl";
public const string AudioHls = "audio/mpegurl";
public const string VideoDash = "application/dash+xml";
public const string AudioMp3 = "audio/mpeg";
}

Lura.Unified.SubtitleMimeType

Static class containing common subtitle MIME types.

ConstantValueDescription
Plain"text/plain"Plain text
Vtt"text/vtt"WebVTT
Srt"text/srt"SRT
Ttml"application/ttml+xml"TTML
Dfxp"application/ttaf+xml"DFXP
Smptett"application/smpte-tt+xml"SMPTE-TT
Scc"application/x-scc"SCC
public static class SubtitleMimeType
{
public const string Plain = "text/plain";
public const string Vtt = "text/vtt";
public const string Srt = "text/srt";
public const string Ttml = "application/ttml+xml";
public const string Dfxp = "application/ttaf+xml";
public const string Smptett = "application/smpte-tt+xml";
public const string Scc = "application/x-scc";
}

Lura.Unified.PosterMimeType

Static class containing common poster image MIME types.

ConstantValueDescription
Jpg"image/jpg"JPEG image
Png"image/png"PNG image
Jpeg"image/jpeg"JPEG image
Webp"image/webp"WebP image
Apng"image/apng"Animated PNG
Avif"image/avif"AVIF image
Bif"image/bif"BIF trickplay image
public static class PosterMimeType
{
public const string Jpg = "image/jpg";
public const string Png = "image/png";
public const string Jpeg = "image/jpeg";
public const string Webp = "image/webp";
public const string Apng = "image/apng";
public const string Avif = "image/avif";
public const string Bif = "image/bif";
}

Player Interface

Lura.Unified.UnifiedPlayer

Interface defining the public player API.

MethodReturn TypeDescription
NamestringGets/sets the player name
VersionstringGets the player version
SetConfigTask<Configuration>Sets the player configuration
UpdateConfigTaskUpdates the player configuration
PlayvoidStarts playback
PausevoidPauses playback
IsPausedboolChecks if paused
IsPlayingboolChecks if playing
SeekvoidSeeks to specified time
GetDurationdoubleGets total duration
GetCurrentTimedoubleGets current playback time
GetVolumedoubleGets current volume
SetVolumevoidSets the volume
IsMutedboolGets mute state
SetMutedvoidSets mute state
AddListenerAction<UnifiedEvent>Adds an event listener
RemoveListenervoidRemoves an event listener
DestroyvoidDestroys the player
public interface IExposedPlayer
{
string Name { get; set; }
string Version { get; }
Task<Configuration> SetConfig(Configuration config, bool tokenFlow = false);
Task UpdateConfig(Configuration config);
void Play();
void Pause();
bool IsPaused();
bool IsPlaying();
void Seek(double time);
double GetDuration();
double GetCurrentTime();
double GetVolume();
void SetVolume(double volume);
bool IsMuted { get; }
void SetMuted(bool muted);
string AddListener(Action<UnifiedEvent> listener);
void RemoveListener(string id);
void Destroy();
}