PROTOCOLS
ElementarySource
Defined in fuchsia.media.playback/source_manager.fidl
Source
variant for providing elementary streams directly to the player.
AddBinding
Adds a new binding to this ElementarySource
. By using this method,
the client can obtain an additional channel through which to communicate
to this ElementarySource
even after a channel is consumed by a call to
SourceManager.SetSource
.
Request
Name | Type |
---|---|
source_request |
server_end:ElementarySource
|
AddStream
Adds an elementary stream. The elementary stream can be removed by
closing the SimpleStreamSink
. ticks_per_second_numerator
and
ticks_per_second_denominator
indicate the units that will be used for
Streampacket
timestamp values. For nanoseconds units, for example,
ticks_per_second_numerator
should be 1000000000 and
ticks_per_second_denominator
should be 1. To use units of frames for
48k audio, ticks_per_second_numerator
should be 48000 and
ticks_per_second_denominator
should be 1.
Request
Name | Type |
---|---|
type |
fuchsia.media/StreamType
|
ticks_per_second_numerator |
uint32
|
ticks_per_second_denominator |
uint32
|
sink_request |
server_end:fuchsia.media/SimpleStreamSink
|
OnStatusChanged
Response
Name | Type |
---|---|
source_status |
SourceStatus
|
Player
Defined in fuchsia.media.playback/player.fidl
Plays media.
AddBinding
Adds a new binding to this player.
Request
Name | Type |
---|---|
player_request |
server_end:Player
|
BindGainControl
Binds to the gain control for this player.
Request
Name | Type |
---|---|
gain_control_request |
server_end:fuchsia.media.audio/GainControl
|
CancelSourceTransition
Cancels a pending transition, returning the source. If no transition is pending, the request channel is closed.
Request
Name | Type |
---|---|
returned_source_request |
server_end:Source
|
CreateElementarySource
Creates a source that allows the client to provide independent elementary
streams to the player. duration_ns, can_pause, can_seek and metadata are
all included in the SourceStatus and, when the ElementarySource
is used by
the player, in the PlayerStatus
as well. can_pause
and can_seek
, when
false, constrain the capabilities of the player.
Request
Name | Type |
---|---|
duration_ns |
zx/Duration
|
can_pause |
bool
|
can_seek |
bool
|
metadata |
fuchsia.media/Metadata?
|
source_request |
server_end:ElementarySource
|
CreateFileSource
Creates a source that reads from a file.
Request
Name | Type |
---|---|
file_channel |
handle<channel>
|
source_request |
server_end:Source
|
CreateReaderSource
Creates a source that reads from a SeekingReader
.
Request
Name | Type |
---|---|
seeking_reader |
client_end:SeekingReader
|
source_request |
server_end:Source
|
CreateView
Creates a video view.
Request
Name | Type |
---|---|
view_token |
fuchsia.ui.views/ViewToken
|
OnStatusChanged
Provides current status immediately after binding and whenever status changes thereafter.
Response
Name | Type |
---|---|
player_status |
PlayerStatus
|
Pause
Pauses playback.
Request
<EMPTY>
Play
Starts playback.
Request
<EMPTY>
Seek
Seeks to the specified position, specified in nanoseconds.
Request
Name | Type |
---|---|
position |
int64
|
SetFileSource
Sets a file channel to read from.
Request
Name | Type |
---|---|
file_channel |
handle<channel>
|
SetFileSourceWithOptions
Sets a file channel to read from.
Request
Name | Type |
---|---|
file_channel |
handle<channel>
|
options |
PlayerOptions
|
SetPlaybackRate
Sets the rate to be used when the player is playing. rate
must be positive. The
timeline_function
field of PlayerStatus
indicates the actual rate when the player
is playing.
Request
Name | Type |
---|---|
playback_rate |
float32
|
SetSource
Sets the source for this player to use. If source is null, the player becomes idle.
Request
Name | Type |
---|---|
source |
client_end:Source?
|
TransitionToSource
Transitions to the specified source when playback of the current source reaches transition_pts. The new source starts playback at start_pts. If a transition is already pending, it will be discarded in favor of the new transition.
Request
Name | Type |
---|---|
source |
client_end:Source
|
transition_pts |
int64
|
start_pts |
int64
|
SeekingReader
Defined in fuchsia.media.playback/seeking_reader.fidl
Describe
Request
<EMPTY>
Response
Name | Type |
---|---|
status |
zx/Status
|
size |
uint64
|
can_seek |
bool
|
ReadAt
Request
Name | Type |
---|---|
position |
uint64
|
Response
Name | Type |
---|---|
status |
zx/Status
|
socket |
handle<socket>?
|
Source
Defined in fuchsia.media.playback/source_manager.fidl
A source of content that may be used by a player.
OnStatusChanged
Response
Name | Type |
---|---|
source_status |
SourceStatus
|
SourceManager
Defined in fuchsia.media.playback/source_manager.fidl
Manages sources on behalf of a Player.
CancelSourceTransition
Cancels a pending transition, returning the source. If no transition is pending, the request channel is closed.
Request
Name | Type |
---|---|
returned_source_request |
server_end:Source
|
CreateElementarySource
Creates a source that allows the client to provide independent elementary
streams to the player. duration_ns, can_pause, can_seek and metadata are
all included in the SourceStatus and, when the ElementarySource
is used by
the player, in the PlayerStatus
as well. can_pause
and can_seek
, when
false, constrain the capabilities of the player.
Request
Name | Type |
---|---|
duration_ns |
zx/Duration
|
can_pause |
bool
|
can_seek |
bool
|
metadata |
fuchsia.media/Metadata?
|
source_request |
server_end:ElementarySource
|
CreateFileSource
Creates a source that reads from a file.
Request
Name | Type |
---|---|
file_channel |
handle<channel>
|
source_request |
server_end:Source
|
CreateReaderSource
Creates a source that reads from a SeekingReader
.
Request
Name | Type |
---|---|
seeking_reader |
client_end:SeekingReader
|
source_request |
server_end:Source
|
SetSource
Sets the source for this player to use. If source is null, the player becomes idle.
Request
Name | Type |
---|---|
source |
client_end:Source?
|
TransitionToSource
Transitions to the specified source when playback of the current source reaches transition_pts. The new source starts playback at start_pts. If a transition is already pending, it will be discarded in favor of the new transition.
Request
Name | Type |
---|---|
source |
client_end:Source
|
transition_pts |
int64
|
start_pts |
int64
|
STRUCTS
PlayerStatus
Defined in fuchsia.media.playback/player.fidl
Player status information.
Field | Type | Description | Default |
---|---|---|---|
duration |
zx/Duration
|
Duration of the content. |
No default |
can_pause |
bool
|
Whether the player can pause. |
No default |
can_seek |
bool
|
Whether the player can seek. |
No default |
has_audio |
bool
|
Whether the source has an audio stream. |
No default |
has_video |
bool
|
Whether the source has a video stream. |
No default |
ready |
bool
|
Indicates whether the player is ready to play. After
|
No default |
metadata |
fuchsia.media/Metadata?
|
No default | |
problem |
Problem?
|
Indicates a problem preventing intended operation. |
No default |
audio_connected |
bool
|
Indicates whether an audio stream is currently connected for rendering.
This value will be false if |
No default |
video_connected |
bool
|
Indicates whether a video stream is currently connected for rendering.
This value will be false if |
No default |
video_size |
fuchsia.math/Size?
|
Size of the video currently being produced. This value will be null if the video size is currently unknown. |
No default |
pixel_aspect_ratio |
fuchsia.math/Size?
|
Relative dimensions of a video pixel. This value will be null if the pixel aspect ratio is currently unknown. |
No default |
timeline_function |
fuchsia.media/TimelineFunction?
|
Function translating local time to presentation time. This value will be null if the timeline function is currently undefined. |
No default |
end_of_stream |
bool
|
Indicates whether presentation for all streams has reached end-of-stream. |
No default |
Problem
Defined in fuchsia.media.playback/problem.fidl
Models a problem preventing intended operation.
A Problem
is generally surfaced as part of a component's status, probably
as an optional field. Absence of a Problem
means that nothing is preventing
intended operation. When a problem is exposed, the client can take action
automatically or present relevant UI. If a problem can be resolved by some
action, the client may take that action automatically or enlist the user
somehow in the resolution. In either case, the problem goes away when the
issue that caused it to be exposed is resolved. By design, there is no
general means of dismissing a problem.
Field | Type | Description | Default |
---|---|---|---|
type |
string
|
The type of problem. This is a string for extensibility. |
No default |
details |
string?
|
Type-dependent details. |
No default |
SourceStatus
Defined in fuchsia.media.playback/source_manager.fidl
Source status information.
Field | Type | Description | Default |
---|---|---|---|
duration |
zx/Duration
|
Duration of the content. |
No default |
can_pause |
bool
|
Whether the source can pause. |
No default |
can_seek |
bool
|
Whether the source can seek. |
No default |
has_audio |
bool
|
Whether the source has an audio stream. |
No default |
has_video |
bool
|
Whether the source has a video stream. |
No default |
ready |
bool
|
Indicates whether the source is ready. A true value signals that the content has been probed and there are no known problems with it. |
No default |
metadata |
fuchsia.media/Metadata?
|
Describes the media. |
No default |
problem |
Problem?
|
Indicates a problem preventing intended operation. A null value indicates that the source is functioning as intended. |
No default |
TABLES
PlayerOptions
Defined in fuchsia.media.playback/player.fidl
Options used in SetFileSourceWithOptions
.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
silent |
bool
|
When set to true, suppresses audio rendering. Default value false. |
CONSTANTS
Name | Value | Type | Description |
---|---|---|---|
PROBLEM_ASSET_NOT_FOUND | fuchsia.media.playback.AssetNotFound |
String |
|
PROBLEM_AUDIO_ENCODING_NOT_SUPPORTED | fuchsia.media.playback.AudioEncodingNotSupported |
String |
|
PROBLEM_CONNECTION_FAILED | fuchsia.media.playback.ConnectionFailed |
String |
|
PROBLEM_CONTAINER_NOT_SUPPORTED | fuchsia.media.playback.ContainerNotSupported |
String |
|
PROBLEM_INTERNAL | fuchsia.media.playback.Internal |
String |
|
PROBLEM_VIDEO_ENCODING_NOT_SUPPORTED | fuchsia.media.playback.VideoEncodingNotSupported |
String |
|
UNKNOWN_SIZE |
18446744073709551615
|
uint64 |
Distinguished value for the |