Media1290 — Content Launcher

Matter Cluster 1290 — Content Launcher

Matter Cluster 1290 (0x050A) Content Launcher: attributes, commands, events, data types, shadow paths and bridge payload examples.

Matter Cluster 1290 — Content Launcher Cluster

Matter Cluster 1290, also written as 0x050A, is the Content Launcher Cluster. This cluster provides an interface for launching content on a Video Player device such as a Streaming Media Player, Smart TV or Smart Screen. This cluster would be supported on a Video Player device or devices that can playback content, such as a Streaming Media Player, Smart TV or Smart Screen. This cluster supports playing back content referenced by URL.

Cluster Identity

FieldValue
Cluster ID decimal1290
Cluster ID hex0x050A
Cluster nameContent Launcher
Cluster revision (Matter 1.6.1)2
Roleapplication
ScopeEndpoint
PICS codeCONTENTLAUNCHER
Typical endpoint1

Revision history

RevisionChange
1Initial revision
2Add Seasons, Episode, Any and CurrentContext to search, Added Text/Audio tracks support with PlaybackPreferences field

Shadow Path Format

Cluster 1290 values in the device shadow use this format:

endpoint_id / 1290 / attribute_id

Example:

{
  "1/1290/0": []
}
PartMeaning
1Endpoint ID
1290Content Launcher cluster
0AcceptHeader attribute

Cluster 1290 Features

The FeatureMap attribute (1/1290/65532) is a bitmap. Each bit set means the device implements that feature and the attributes and commands that depend on it.

BitCodeFeatureConformanceMeaning
0CSContentSearchODevice supports content search (non-app specific)
1UPURLPlaybackODevice supports basic URL-based file playback
2ASAdvancedSeekOEnables clients to implement more advanced media seeking behavior in their user interface, such as for example a "seek bar"
3TTTextTracksODevice or app supports Text Tracks
4ATAudioTracksODevice or app supports Audio Tracks

Example: FeatureMap = 0 means no optional feature is enabled; 31 means every feature listed above is enabled.


Data Types

MetricTypeEnum

ValueNameConformanceMeaning
0PixelsMDimensions defined in a number of Pixels
1PercentageMDimensions defined as a percentage

ParameterEnum

ValueNameConformanceMeaning
0ActorMActor represents an actor credited in video media content; for example, “Gaby Hoffman”
1ChannelMChannel represents the identifying data for a television channel; for example, "PBS"
2CharacterMA character represented in video media content; for example, “Snow White”
3DirectorMA director of the video media content; for example, “Spike Lee”
4EventMAn event is a reference to a type of event; examples would include sports, music, or other types of events; for example, searching for "Football games" would search for a 'game' event entity and a 'football' sport entity
5FranchiseMA franchise is a video entity which can represent a number of video entities, like movies or TV shows; for example, take the fictional franchise "Intergalactic Wars" which represents a collection of movie trilogies, as well as animated and live action TV shows
6GenreMGenre represents the genre of video media content such as action, drama or comedy
7LeagueMLeague represents the categorical information for a sporting league; for example, "NCAA"
8PopularityMPopularity indicates whether the user asks for popular content
9ProviderMThe provider (MSP) the user wants this media to be played on; for example, "Netflix"
10SportMSport represents the categorical information of a sport; for example, football
11SportsTeamMSportsTeam represents the categorical information of a professional sports team; for example, "University of Washington Huskies"
12TypeMThe type of content requested. Supported types are "Movie", "MovieSeries", "TVSeries", "TVSeason", "TVEpisode", "Trailer", "SportsEvent", "LiveEvent", and "Video"
13VideoMVideo represents the identifying data for a specific piece of video content; for example, "Manchester by the Sea"
14SeasonOSeason represents the specific season number within a TV series
15EpisodeOEpisode represents a specific episode number within a Season in a TV series
16AnyORepresents a search text input across many parameter types or even outside of the defined param types

StatusEnum

ValueNameConformanceMeaning
0SuccessMCommand succeeded
1URLNotAvailableMRequested URL could not be reached by device
2AuthFailedMRequested URL returned 401 error code.
3TextTrackNotAvailableTTRequested Text Track (in PlaybackPreferences) not available
4AudioTrackNotAvailableATRequested Audio Track (in PlaybackPreferences) not available

SupportedProtocolsBitmap (bitmap)

BitNameConformanceMeaning
0DASHMDevice supports Dynamic Adaptive Streaming over HTTP (DASH)
1HLSMDevice supports HTTP Live Streaming (HLS)

AdditionalInfoStruct (struct)

This object defines additional name=value pairs that can be used for identifying content.

FieldNameTypeConformanceConstraintMeaning
0NamestringMmax length 256Indicates the name of external id, ex.
1ValuestringMmax length 8192Indicates the value for external id, ex.

BrandingInformationStruct (struct)

This object defines Branding Information which can be provided by the client in order to customize the skin of the Video Player during playback.

FieldNameTypeConformanceConstraintMeaning
0ProviderNamestringMmax length 256Indicates name of the provider for the given content.
1BackgroundStyleInformationStructO—Indicates background of the Video Player while content launch request is being processed by it.
2LogoStyleInformationStructO—Indicates the logo shown when the Video Player is launching.
3ProgressBarStyleInformationStructO—Indicates the style of progress bar for media playback.
4SplashStyleInformationStructO—Indicates the screen shown when the Video Player is in an idle state.
5WaterMarkStyleInformationStructO——

ContentSearchStruct (struct)

This object defines inputs to a search for content for display or playback.

FieldNameTypeConformanceConstraintMeaning
0ParameterListlist of ParameterStructM—Indicates the list of parameters comprising the search.

DimensionStruct (struct)

This object defines dimension which can be used for defining Size of background images.

FieldNameTypeConformanceConstraintMeaning
0WidthdoubleM—Indicates the width using the metric defined in Metric
1HeightdoubleM—Indicates the height using the metric defined in Metric
2MetricMetricTypeEnumM—Indicates metric used for defining Height/Width.

ParameterStruct (struct)

This object defines inputs to a search for content for display or playback.

FieldNameTypeConformanceConstraintMeaning
0TypeParameterEnumM—Indicates the entity type.
1ValuestringMmax length 1024Indicates the entity value, which is a search string, ex. “Manchester by the Sea”.
2ExternalIDListlist of AdditionalInfoStructO——

PlaybackPreferencesStruct (struct)

PlaybackPreferencesStruct defines the preferences sent by the client to the receiver in the ContentLauncher LaunchURL or LaunchContent commands.

FieldNameTypeConformanceConstraintMeaning
0PlaybackPositionuint64 (nullable)AS—Indicates the preferred position (in milliseconds) in the media to launch playback from.
1TextTrackTrackPreferenceStruct (nullable)TT—Indicates the user's preferred Text Track.
2AudioTrackslist of TrackPreferenceStruct (nullable)AT—Indicates the list of the user's preferred Audio Tracks.

StyleInformationStruct (struct)

This object defines style information which can be used by content providers to change the Media Player's style related properties.

FieldNameTypeConformanceConstraintMeaning
0ImageURLstringOmax length 8192—
1ColorstringOallowed: 7, 9Indicates the color, in RGB or RGBA, used for styling different Video Player sections like Logo, Watermark, etc.
2SizeDimensionStructO—Indicates the size of the image used for Styling different Video Player sections like Logo, Watermark etc.

TrackPreferenceStruct (struct)

This structure defines Text/Audio Track preferences.

FieldNameTypeConformanceConstraintMeaning
0LanguageCodestringMmax length 32This field contains one of the standard Tags for Identifying Languages RFC5646, which identifies the primary language used in the Track.
1Characteristicslist of CharacteristicEnum (nullable)O—This field contains a list of enumerated CharacteristicEnum values that indicate a purpose, trait or feature associated with the Track.
2AudioOutputIndexuint8 (nullable)AT—This field if present indicates the index of the OutputInfoStruct from the OutputList attribute (from the AudioOutput cluster) and indicates which audio output the Audio Track should be played on.

Cluster 1290 Attributes

Cluster 1290 defines 2 attributes plus the global attributes. Conformance: M mandatory, O optional, a feature code means "mandatory when that feature is present", square brackets mean "optional when …".

IDHexAttributeTypeConformanceAccessQualitiesDefault
00x0000AcceptHeaderlist of stringUPR (read: view)persistedempty
10x0001SupportedStreamingProtocolsSupportedProtocolsBitmapUPR (read: view)persisted0

Global attributes

IDHexAttributeMeaning
655280xFFF8GeneratedCommandListResponse command IDs this server generates.
655290xFFF9AcceptedCommandListCommand IDs this server accepts.
655310xFFFBAttributeListAttribute IDs implemented.
655320xFFFCFeatureMapImplemented optional features (see above).
655330xFFFDClusterRevisionCluster revision implemented; 2 for a Matter 1.6.1 device.

Attribute Details

Attribute 0 / 0x0000 — AcceptHeader

Path example:

1/1290/0

This attribute provides a list of content types supported by the Video Player or Content App in the form of entries in the HTTP "Accept" request header.

PropertyValue
Typelist of string
ConformanceUP
AccessR (read: view)
Qualitiespersisted
Constraintmax 100 entries
Defaultempty

Example:

{
  "1/1290/0": []
}

Attribute 1 / 0x0001 — SupportedStreamingProtocols

Path example:

1/1290/1

This attribute provides information about supported streaming protocols.

PropertyValue
TypeSupportedProtocolsBitmap
ConformanceUP
AccessR (read: view)
Qualitiespersisted
Default0

Bits (SupportedProtocolsBitmap):

BitNameMeaning
0DASHDevice supports Dynamic Adaptive Streaming over HTTP (DASH)
1HLSDevice supports HTTP Live Streaming (HLS)

Example:

{
  "1/1290/1": 0
}

Cluster 1290 Commands

Cluster 1290 has 2 client-to-server commands and 1 response.

IDHexCommandDirectionConformanceResponseDescription
00x00LaunchContentclient → serverCSLauncherResponseOn receipt, this must launch the specified content with optional search criteria.
10x01LaunchURLclient → serverUPLauncherResponse—
20x02LauncherResponseserver → clientCS | UP—This command is generated in response to LaunchContent and LaunchURL commands.

AcceptedCommandList

The AcceptedCommandList attribute lists the command IDs the endpoint actually implements:

endpoint_id / 1290 / 65529
{
  "1/1290/65529": [
    0,
    1
  ]
}

Before sending a Cluster 1290 command, check that the command ID exists in endpoint/1290/65529. Optional commands are only present when the matching feature is set in FeatureMap.


Bridge Command Payload Format

The bridge accepts Matter commands in this structure:

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 1290,
    "command_name": "LaunchContent",
    "payload": {},
    "timed_request_timeout_ms": 1000
  }
}

For Cluster 1290, always use "cluster_id": 1290. Payload keys are the command field names in lowerCamelCase. Octet-string fields are base64-encoded. timed_request_timeout_ms is required for timed commands and ignored otherwise.


Command: LaunchContent

Purpose

On receipt, this must launch the specified content with optional search criteria. This command returns a Launch Response.

Command Identity

FieldValue
Command ID0
Command hex0x00
Command nameLaunchContent
Directionclient → server
ConformanceCS
ResponseLauncherResponse
Access(invoke: operate)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0SearchsearchContentSearchStructMdescIndicates the content to launch.
1AutoPlayautoPlayboolMdescIndicates whether to automatically start playing content, where: - TRUE means best match should start playing automatically. - FALSE means matches should be displayed on screen for user selection.
2DatadatastringO—This field, if present, indicates app-specific data.
3PlaybackPreferencesplaybackPreferencesPlaybackPreferencesStructO—This field, if present, indicates the user's preferred Text/AudioTracks and playbackPosition for the media, sent from the client to the server.
4UseCurrentContextuseCurrentContextboolOdescThis field, if present, indicates whether to consider the context of current ongoing activity on the receiver to fulfill the request.

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 1290,
    "command_name": "LaunchContent",
    "payload": {
      "search": {
        "parameterList": []
      },
      "autoPlay": true
    }
  }
}

The device answers with LauncherResponse (see below).


Command: LaunchURL

Purpose

LaunchURL is a client-to-server command of the Content Launcher cluster.

Command Identity

FieldValue
Command ID1
Command hex0x01
Command nameLaunchURL
Directionclient → server
ConformanceUP
ResponseLauncherResponse
Access(invoke: operate)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0ContentURLcontentURLstringMmax length 8192—
1DisplayStringdisplayStringstringOmax length 256—
2BrandingInformationbrandingInformationBrandingInformationStructO——
3PlaybackPreferencesplaybackPreferencesPlaybackPreferencesStructO——

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 1290,
    "command_name": "LaunchURL",
    "payload": {
      "contentURL": "example"
    }
  }
}

The device answers with LauncherResponse (see below).


Command: LauncherResponse

Purpose

This command is generated in response to LaunchContent and LaunchURL commands.

Command Identity

FieldValue
Command ID2
Command hex0x02
Command nameLauncherResponse
Directionserver → client (response)
ConformanceCS | UP

Response Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0StatusstatusStatusEnumM—Indicates the status of the command which resulted in this response.
1DatadatastringO—Indicates Optional app-specific data.

Status values (StatusEnum): 0 = Success, 1 = URLNotAvailable, 2 = AuthFailed, 3 = TextTrackNotAvailable, 4 = AudioTrackNotAvailable


Cluster 1290 Events

Cluster 1290 defines no events.


SmartphoneKey Notes

  • Cluster 1290 is not currently exposed by SmartphoneKey devices. This page documents the Matter 1.6.1 specification so that future devices can be interpreted without changes to the backend.
  • Shadow paths follow endpoint/1290/attribute; attribute values that the device reports as unreadable are written as n/a.
  • Attribute IDs, command IDs and enum values on this page come from the CSA Matter 1.6.1 data model; descriptions are condensed from the specification text.