| <link rel="stylesheet" href="../style.css" /> |
| |
| [TOC] |
| # fuchsia.media.target |
| |
| <p>A library of protocols for routing media between devices.</p> |
| <p>This library is based on "targets", which are devices or groups of devices |
| which can render media sessions. See <code>fuchsia.media.sessions2</code> for media |
| session details.</p> |
| <p>Through the <code>Discovery</code> protocol, clients can discover what media targets |
| are available on the network, and select them to render media sessions.</p> |
| <div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: 7</span></div> |
| |
| ## **PROTOCOLS** |
| |
| ## Discovery {#Discovery} |
| *Defined in [fuchsia.media.target/target_discovery.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=28)* |
| <p>A protocol for discovering media targets.</p> |
| |
| ### BindGroupTarget {#Discovery.BindGroupTarget} |
| |
| <p>Renders the media session specified by <code>session_id</code> on the set of |
| targets specified by <code>target_ids</code>.</p> |
| <p>This may create a new group target which contains all the specified |
| targets as members, if one does not exist. The group target may be |
| temporary, only existing for the lifetime of playback, and not |
| discoverable through <code>Discovery</code>.</p> |
| |
| #### Request {#Discovery.BindGroupTarget_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>session_id</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.media.sessions2/'>fuchsia.media.sessions2</a>/<a class='link' href='../fuchsia.media.sessions2/#SessionId'>SessionId</a></code> |
| </td> |
| </tr> |
| <tr> |
| <td><code>target_ids</code></td> |
| <td> |
| <code>vector<uint64>[100]</code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#Discovery.BindGroupTarget_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>result</code></td> |
| <td> |
| <code><a class='link' href='#Selector_BindGroupTarget_Result'>Selector_BindGroupTarget_Result</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ### BindTarget {#Discovery.BindTarget} |
| |
| <p>Renders the media session specified by <code>session_id</code> on the target |
| specified by <code>target_id</code>.</p> |
| |
| #### Request {#Discovery.BindTarget_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>session_id</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.media.sessions2/'>fuchsia.media.sessions2</a>/<a class='link' href='../fuchsia.media.sessions2/#SessionId'>SessionId</a></code> |
| </td> |
| </tr> |
| <tr> |
| <td><code>target_id</code></td> |
| <td> |
| <code><a class='link' href='#Id'>Id</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#Discovery.BindTarget_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>result</code></td> |
| <td> |
| <code><a class='link' href='#Selector_BindTarget_Result'>Selector_BindTarget_Result</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ### ConnectToTarget {#Discovery.ConnectToTarget} |
| |
| <p>Connects to a target by id. Drops the given channel if no such |
| target exists.</p> |
| |
| #### Request {#Discovery.ConnectToTarget_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>target_id</code></td> |
| <td> |
| <code><a class='link' href='#Id'>Id</a></code> |
| </td> |
| </tr> |
| <tr> |
| <td><code>target_request</code></td> |
| <td> |
| <code>request<<a class='link' href='#Target'>Target</a>></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ### WatchSessionBindings {#Discovery.WatchSessionBindings} |
| |
| <p>Watches for bindings of media sessions to targets.</p> |
| <p>A media session is rendered on the target to which it is bound.</p> |
| <p>Bindings are returned as deltas between the watch calls, leave a |
| request hanging to get the latest updates.</p> |
| |
| #### Request {#Discovery.WatchSessionBindings_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#Discovery.WatchSessionBindings_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>event</code></td> |
| <td> |
| <code><a class='link' href='#SessionBindingsWatchEvent'>SessionBindingsWatchEvent</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ### WatchTargets {#Discovery.WatchTargets} |
| |
| <p>Watches for changes to the set of registered targets. Leave a request |
| hanging to get replies when changes occur. New clients will be caught |
| up with the state of the world.</p> |
| <p>Targets are returned as deltas between the watch calls.</p> |
| |
| #### Request {#Discovery.WatchTargets_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#Discovery.WatchTargets_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>targets_watch_event</code></td> |
| <td> |
| <code><a class='link' href='#TargetsWatchEvent'>TargetsWatchEvent</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## Group {#Group} |
| *Defined in [fuchsia.media.target/target_discovery.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=104)* |
| <p>A protocol for watching the members of a group.</p> |
| |
| ### WatchTargets {#Group.WatchTargets} |
| |
| <p>Watches for changes to the set of registered targets. Leave a request |
| hanging to get replies when changes occur. New clients will be caught |
| up with the state of the world.</p> |
| <p>Targets are returned as deltas between the watch calls.</p> |
| |
| #### Request {#Group.WatchTargets_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#Group.WatchTargets_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>targets_watch_event</code></td> |
| <td> |
| <code><a class='link' href='#TargetsWatchEvent'>TargetsWatchEvent</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## GroupEditor {#GroupEditor} |
| *Defined in [fuchsia.media.target/target_discovery.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=80)* |
| <p>A protocol for adding and removing members of a group target.</p> |
| |
| ### AddTarget {#GroupEditor.AddTarget} |
| |
| <p>Adds a target to this group target.</p> |
| <p>If the added target is a group of devices, all the devices in that group |
| are added to this group. A group itself cannot be a member of a group.</p> |
| <p>Returns the id of the new target if a new group was created to fulfill this |
| request.</p> |
| |
| #### Request {#GroupEditor.AddTarget_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>target_id</code></td> |
| <td> |
| <code><a class='link' href='#Id'>Id</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#GroupEditor.AddTarget_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>result</code></td> |
| <td> |
| <code><a class='link' href='#GroupEditor_AddTarget_Result'>GroupEditor_AddTarget_Result</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ### RemoveTarget {#GroupEditor.RemoveTarget} |
| |
| <p>Removes a target from this group. Returns the id of the new target |
| if a new group was created to fulfill this request.</p> |
| |
| #### Request {#GroupEditor.RemoveTarget_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>target_id</code></td> |
| <td> |
| <code><a class='link' href='#Id'>Id</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#GroupEditor.RemoveTarget_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>result</code></td> |
| <td> |
| <code><a class='link' href='#GroupEditor_RemoveTarget_Result'>GroupEditor_RemoveTarget_Result</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## Selector {#Selector} |
| *Defined in [fuchsia.media.target/target_discovery.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=172)* |
| <p>A protocol for selecting a media target. Commands on this protocol can |
| change the target on which a media session is rendered.</p> |
| |
| ### BindGroupTarget {#Selector.BindGroupTarget} |
| |
| <p>Renders the media session specified by <code>session_id</code> on the set of |
| targets specified by <code>target_ids</code>.</p> |
| <p>This may create a new group target which contains all the specified |
| targets as members, if one does not exist. The group target may be |
| temporary, only existing for the lifetime of playback, and not |
| discoverable through <code>Discovery</code>.</p> |
| |
| #### Request {#Selector.BindGroupTarget_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>session_id</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.media.sessions2/'>fuchsia.media.sessions2</a>/<a class='link' href='../fuchsia.media.sessions2/#SessionId'>SessionId</a></code> |
| </td> |
| </tr> |
| <tr> |
| <td><code>target_ids</code></td> |
| <td> |
| <code>vector<uint64>[100]</code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#Selector.BindGroupTarget_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>result</code></td> |
| <td> |
| <code><a class='link' href='#Selector_BindGroupTarget_Result'>Selector_BindGroupTarget_Result</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ### BindTarget {#Selector.BindTarget} |
| |
| <p>Renders the media session specified by <code>session_id</code> on the target |
| specified by <code>target_id</code>.</p> |
| |
| #### Request {#Selector.BindTarget_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>session_id</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.media.sessions2/'>fuchsia.media.sessions2</a>/<a class='link' href='../fuchsia.media.sessions2/#SessionId'>SessionId</a></code> |
| </td> |
| </tr> |
| <tr> |
| <td><code>target_id</code></td> |
| <td> |
| <code><a class='link' href='#Id'>Id</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#Selector.BindTarget_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>result</code></td> |
| <td> |
| <code><a class='link' href='#Selector_BindTarget_Result'>Selector_BindTarget_Result</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## Target {#Target} |
| *Defined in [fuchsia.media.target/target_discovery.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=69)* |
| <p>A target is a device or group of devices on which media can be rendered, |
| such as a speaker which renders audio.</p> |
| |
| ### AddTarget {#Target.AddTarget} |
| |
| <p>Adds a target to this group target.</p> |
| <p>If the added target is a group of devices, all the devices in that group |
| are added to this group. A group itself cannot be a member of a group.</p> |
| <p>Returns the id of the new target if a new group was created to fulfill this |
| request.</p> |
| |
| #### Request {#Target.AddTarget_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>target_id</code></td> |
| <td> |
| <code><a class='link' href='#Id'>Id</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#Target.AddTarget_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>result</code></td> |
| <td> |
| <code><a class='link' href='#GroupEditor_AddTarget_Result'>GroupEditor_AddTarget_Result</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ### BindMemberVolumeControl {#Target.BindMemberVolumeControl} |
| |
| <p>Binds to the target's volume control as a member of the given group. |
| The request channel is dropped if the target is not a member of the group.</p> |
| <p>This volume control influences the volume of this target only when it is |
| participating as a member of the group. This is used to adjust the balance |
| of volume among members of a group. These settings persist for the lifetime |
| of the target</p> |
| |
| #### Request {#Target.BindMemberVolumeControl_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>group</code></td> |
| <td> |
| <code><a class='link' href='#Id'>Id</a></code> |
| </td> |
| </tr> |
| <tr> |
| <td><code>volume_control_request</code></td> |
| <td> |
| <code>request<<a class='link' href='../fuchsia.media.audio/'>fuchsia.media.audio</a>/<a class='link' href='../fuchsia.media.audio/#VolumeControl'>VolumeControl</a>></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ### BindVolumeControl {#Target.BindVolumeControl} |
| |
| <p>Binds to the target's volume control. If this target is a group, |
| all member volumes are influenced. These settings persist |
| for the lifetime of the target.</p> |
| |
| #### Request {#Target.BindVolumeControl_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>volume_control_request</code></td> |
| <td> |
| <code>request<<a class='link' href='../fuchsia.media.audio/'>fuchsia.media.audio</a>/<a class='link' href='../fuchsia.media.audio/#VolumeControl'>VolumeControl</a>></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ### RemoveTarget {#Target.RemoveTarget} |
| |
| <p>Removes a target from this group. Returns the id of the new target |
| if a new group was created to fulfill this request.</p> |
| |
| #### Request {#Target.RemoveTarget_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>target_id</code></td> |
| <td> |
| <code><a class='link' href='#Id'>Id</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#Target.RemoveTarget_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>result</code></td> |
| <td> |
| <code><a class='link' href='#GroupEditor_RemoveTarget_Result'>GroupEditor_RemoveTarget_Result</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ### WatchTargets {#Target.WatchTargets} |
| |
| <p>Watches for changes to the set of registered targets. Leave a request |
| hanging to get replies when changes occur. New clients will be caught |
| up with the state of the world.</p> |
| <p>Targets are returned as deltas between the watch calls.</p> |
| |
| #### Request {#Target.WatchTargets_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#Target.WatchTargets_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>targets_watch_event</code></td> |
| <td> |
| <code><a class='link' href='#TargetsWatchEvent'>TargetsWatchEvent</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## VolumeControl {#VolumeControl} |
| *Defined in [fuchsia.media.target/target_discovery.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=124)* |
| <p>A protocol to control the volume of target.</p> |
| |
| ### BindMemberVolumeControl {#VolumeControl.BindMemberVolumeControl} |
| |
| <p>Binds to the target's volume control as a member of the given group. |
| The request channel is dropped if the target is not a member of the group.</p> |
| <p>This volume control influences the volume of this target only when it is |
| participating as a member of the group. This is used to adjust the balance |
| of volume among members of a group. These settings persist for the lifetime |
| of the target</p> |
| |
| #### Request {#VolumeControl.BindMemberVolumeControl_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>group</code></td> |
| <td> |
| <code><a class='link' href='#Id'>Id</a></code> |
| </td> |
| </tr> |
| <tr> |
| <td><code>volume_control_request</code></td> |
| <td> |
| <code>request<<a class='link' href='../fuchsia.media.audio/'>fuchsia.media.audio</a>/<a class='link' href='../fuchsia.media.audio/#VolumeControl'>VolumeControl</a>></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ### BindVolumeControl {#VolumeControl.BindVolumeControl} |
| |
| <p>Binds to the target's volume control. If this target is a group, |
| all member volumes are influenced. These settings persist |
| for the lifetime of the target.</p> |
| |
| #### Request {#VolumeControl.BindVolumeControl_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>volume_control_request</code></td> |
| <td> |
| <code>request<<a class='link' href='../fuchsia.media.audio/'>fuchsia.media.audio</a>/<a class='link' href='../fuchsia.media.audio/#VolumeControl'>VolumeControl</a>></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| |
| ## **STRUCTS** |
| |
| ### GroupEditor_AddTarget_Response {#GroupEditor_AddTarget_Response data-text="GroupEditor_AddTarget_Response"} |
| *Defined in [fuchsia.media.target/target_discovery.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=90)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="GroupEditor_AddTarget_Response.target_change"> |
| <td><code>target_change</code></td> |
| <td> |
| <code><a class='link' href='#TargetChange'>TargetChange</a>?</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### GroupEditor_RemoveTarget_Response {#GroupEditor_RemoveTarget_Response data-text="GroupEditor_RemoveTarget_Response"} |
| *Defined in [fuchsia.media.target/target_discovery.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=98)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="GroupEditor_RemoveTarget_Response.target_change"> |
| <td><code>target_change</code></td> |
| <td> |
| <code><a class='link' href='#TargetChange'>TargetChange</a>?</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### Selector_BindGroupTarget_Response {#Selector_BindGroupTarget_Response data-text="Selector_BindGroupTarget_Response"} |
| *Defined in [fuchsia.media.target/target_discovery.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=190)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="Selector_BindGroupTarget_Response.target_id"> |
| <td><code>target_id</code></td> |
| <td> |
| <code><a class='link' href='#Id'>Id</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### Selector_BindTarget_Response {#Selector_BindTarget_Response data-text="Selector_BindTarget_Response"} |
| *Defined in [fuchsia.media.target/target_discovery.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=178)* |
| |
| <EMPTY> |
| |
| ### SessionBinding {#SessionBinding data-text="SessionBinding"} |
| *Defined in [fuchsia.media.target/target_discovery.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=52)* |
| <p>A binding between a session and a target, indicating the media session |
| is rendered on the target.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SessionBinding.session_id"> |
| <td><code>session_id</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.media.sessions2/'>fuchsia.media.sessions2</a>/<a class='link' href='../fuchsia.media.sessions2/#SessionId'>SessionId</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SessionBinding.target_id"> |
| <td><code>target_id</code></td> |
| <td> |
| <code><a class='link' href='#Id'>Id</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### TargetChange {#TargetChange data-text="TargetChange"} |
| *Defined in [fuchsia.media.target/target_discovery.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=75)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="TargetChange.new_target_id"> |
| <td><code>new_target_id</code></td> |
| <td> |
| <code><a class='link' href='#Id'>Id</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| |
| ## **ENUMS** |
| |
| ### Error [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#Error data-text="Error"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.media.target/target_discovery.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=195)* |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="Error.NOT_A_GROUP"> |
| <td><h3 id="Error.NOT_A_GROUP" class="add-link hide-from-toc">NOT_A_GROUP</h3></td> |
| <td><code>0</code></td> |
| <td></td> |
| </tr> |
| <tr id="Error.UNKNOWN_ON_DOMAIN"> |
| <td><h3 id="Error.UNKNOWN_ON_DOMAIN" class="add-link hide-from-toc">UNKNOWN_ON_DOMAIN</h3></td> |
| <td><code>1</code></td> |
| <td></td> |
| </tr> |
| <tr id="Error.CANNOT_BE_GROUPED"> |
| <td><h3 id="Error.CANNOT_BE_GROUPED" class="add-link hide-from-toc">CANNOT_BE_GROUPED</h3></td> |
| <td><code>2</code></td> |
| <td></td> |
| </tr> |
| <tr id="Error.NOT_MEMBER_OF_GROUP"> |
| <td><h3 id="Error.NOT_MEMBER_OF_GROUP" class="add-link hide-from-toc">NOT_MEMBER_OF_GROUP</h3></td> |
| <td><code>3</code></td> |
| <td></td> |
| </tr> |
| <tr id="Error.TRANSFER_FROM_TARGET_UNSUPPORTED"> |
| <td><h3 id="Error.TRANSFER_FROM_TARGET_UNSUPPORTED" class="add-link hide-from-toc">TRANSFER_FROM_TARGET_UNSUPPORTED</h3></td> |
| <td><code>4</code></td> |
| <td></td> |
| </tr> |
| <tr id="Error.TRANSFER_TO_TARGET_UNSUPPORTED"> |
| <td><h3 id="Error.TRANSFER_TO_TARGET_UNSUPPORTED" class="add-link hide-from-toc">TRANSFER_TO_TARGET_UNSUPPORTED</h3></td> |
| <td><code>5</code></td> |
| <td></td> |
| </tr> |
| <tr id="Error.MULTI_TARGET_PLAYBACK_UNSUPPORTED"> |
| <td><h3 id="Error.MULTI_TARGET_PLAYBACK_UNSUPPORTED" class="add-link hide-from-toc">MULTI_TARGET_PLAYBACK_UNSUPPORTED</h3></td> |
| <td><code>6</code></td> |
| <td></td> |
| </tr> |
| </table> |
| |
| |
| ## **TABLES** |
| |
| ### Description {#Description data-text="Description"} |
| |
| |
| *Defined in [fuchsia.media.target/target_discovery.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=146)* |
| <p>A description of a target.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="Description.target_id"> |
| <td><h3 id="Description.target_id" class="add-link hide-from-toc">1</h3></td> |
| <td><code>target_id</code></td> |
| <td> |
| <code><a class='link' href='#Id'>Id</a></code> |
| </td> |
| <td><p>Identifies the target.</p> |
| </td> |
| </tr> |
| <tr id="Description.capability_flags"> |
| <td><h3 id="Description.capability_flags" class="add-link hide-from-toc">2</h3></td> |
| <td><code>capability_flags</code></td> |
| <td> |
| <code><a class='link' href='#CapabilityFlags'>CapabilityFlags</a></code> |
| </td> |
| <td><p>Enumerates of the interoperability features the device supports.</p> |
| </td> |
| </tr> |
| <tr id="Description.display_name"> |
| <td><h3 id="Description.display_name" class="add-link hide-from-toc">3</h3></td> |
| <td><code>display_name</code></td> |
| <td> |
| <code><a class='link' href='#DisplayName'>DisplayName</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Description.metadata"> |
| <td><h3 id="Description.metadata" class="add-link hide-from-toc">4</h3></td> |
| <td><code>metadata</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.media/'>fuchsia.media</a>/<a class='link' href='../fuchsia.media/#Metadata'>Metadata</a></code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### SessionBindingsWatchEvent {#SessionBindingsWatchEvent data-text="SessionBindingsWatchEvent"} |
| |
| |
| *Defined in [fuchsia.media.target/target_discovery.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=57)* |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="SessionBindingsWatchEvent.updated"> |
| <td><h3 id="SessionBindingsWatchEvent.updated" class="add-link hide-from-toc">1</h3></td> |
| <td><code>updated</code></td> |
| <td> |
| <code>vector<<a class='link' href='#SessionBinding'>SessionBinding</a>></code> |
| </td> |
| <td><p>A list of active session bindings added or updated in the network |
| at any point in time.</p> |
| </td> |
| </tr> |
| <tr id="SessionBindingsWatchEvent.removed"> |
| <td><h3 id="SessionBindingsWatchEvent.removed" class="add-link hide-from-toc">2</h3></td> |
| <td><code>removed</code></td> |
| <td> |
| <code>vector<<a class='link' href='#SessionBinding'>SessionBinding</a>></code> |
| </td> |
| <td><p>A list of session bindings that are removed in the network since |
| notified.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### TargetsWatchEvent {#TargetsWatchEvent data-text="TargetsWatchEvent"} |
| |
| |
| *Defined in [fuchsia.media.target/target_discovery.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=115)* |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="TargetsWatchEvent.updated"> |
| <td><h3 id="TargetsWatchEvent.updated" class="add-link hide-from-toc">1</h3></td> |
| <td><code>updated</code></td> |
| <td> |
| <code>vector<<a class='link' href='#Description'>Description</a>></code> |
| </td> |
| <td><p>Targets added or updated on the network at any point in time.</p> |
| </td> |
| </tr> |
| <tr id="TargetsWatchEvent.removed"> |
| <td><h3 id="TargetsWatchEvent.removed" class="add-link hide-from-toc">2</h3></td> |
| <td><code>removed</code></td> |
| <td> |
| <code>vector<uint64></code> |
| </td> |
| <td><p>Targets that are removed since last notified.</p> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ## **UNIONS** |
| |
| ### GroupEditor_AddTarget_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#GroupEditor_AddTarget_Result data-text="GroupEditor_AddTarget_Result"} |
| *Defined in [fuchsia.media.target/target_discovery.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=90)* |
| <table> |
| <tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr> |
| <tr id="GroupEditor_AddTarget_Result.response"> |
| <td><h3 id="GroupEditor_AddTarget_Result.response" class="add-link hide-from-toc">1</h3></td> |
| <td><code>response</code></td> |
| <td> |
| <code><a class='link' href='#GroupEditor_AddTarget_Response'>GroupEditor_AddTarget_Response</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="GroupEditor_AddTarget_Result.err"> |
| <td><h3 id="GroupEditor_AddTarget_Result.err" class="add-link hide-from-toc">2</h3></td> |
| <td><code>err</code></td> |
| <td> |
| <code><a class='link' href='#Error'>Error</a></code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### GroupEditor_RemoveTarget_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#GroupEditor_RemoveTarget_Result data-text="GroupEditor_RemoveTarget_Result"} |
| *Defined in [fuchsia.media.target/target_discovery.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=98)* |
| <table> |
| <tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr> |
| <tr id="GroupEditor_RemoveTarget_Result.response"> |
| <td><h3 id="GroupEditor_RemoveTarget_Result.response" class="add-link hide-from-toc">1</h3></td> |
| <td><code>response</code></td> |
| <td> |
| <code><a class='link' href='#GroupEditor_RemoveTarget_Response'>GroupEditor_RemoveTarget_Response</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="GroupEditor_RemoveTarget_Result.err"> |
| <td><h3 id="GroupEditor_RemoveTarget_Result.err" class="add-link hide-from-toc">2</h3></td> |
| <td><code>err</code></td> |
| <td> |
| <code><a class='link' href='#Error'>Error</a></code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### Selector_BindGroupTarget_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#Selector_BindGroupTarget_Result data-text="Selector_BindGroupTarget_Result"} |
| *Defined in [fuchsia.media.target/target_discovery.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=190)* |
| <table> |
| <tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr> |
| <tr id="Selector_BindGroupTarget_Result.response"> |
| <td><h3 id="Selector_BindGroupTarget_Result.response" class="add-link hide-from-toc">1</h3></td> |
| <td><code>response</code></td> |
| <td> |
| <code><a class='link' href='#Selector_BindGroupTarget_Response'>Selector_BindGroupTarget_Response</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Selector_BindGroupTarget_Result.err"> |
| <td><h3 id="Selector_BindGroupTarget_Result.err" class="add-link hide-from-toc">2</h3></td> |
| <td><code>err</code></td> |
| <td> |
| <code><a class='link' href='#Error'>Error</a></code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### Selector_BindTarget_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#Selector_BindTarget_Result data-text="Selector_BindTarget_Result"} |
| *Defined in [fuchsia.media.target/target_discovery.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=178)* |
| <table> |
| <tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr> |
| <tr id="Selector_BindTarget_Result.response"> |
| <td><h3 id="Selector_BindTarget_Result.response" class="add-link hide-from-toc">1</h3></td> |
| <td><code>response</code></td> |
| <td> |
| <code><a class='link' href='#Selector_BindTarget_Response'>Selector_BindTarget_Response</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Selector_BindTarget_Result.err"> |
| <td><h3 id="Selector_BindTarget_Result.err" class="add-link hide-from-toc">2</h3></td> |
| <td><code>err</code></td> |
| <td> |
| <code><a class='link' href='#Error'>Error</a></code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| |
| ## **BITS** |
| |
| ### CapabilityFlags [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#CapabilityFlags} |
| Type: <code>uint64</code> |
| |
| *Defined in [fuchsia.media.target/target_discovery.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=156)* |
| <p>Capabilities of the target.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="CapabilityFlags.TRANSFER_TO"> |
| <td><h3 id="CapabilityFlags.TRANSFER_TO" class="add-link hide-from-toc">TRANSFER_TO</h3></td> |
| <td>1</td> |
| <td><p>Indicates the target can receive a transfer of a |
| media session from another target.</p> |
| </td> |
| </tr> |
| <tr id="CapabilityFlags.TRANSFER_FROM"> |
| <td><h3 id="CapabilityFlags.TRANSFER_FROM" class="add-link hide-from-toc">TRANSFER_FROM</h3></td> |
| <td>2</td> |
| <td><p>Indicates the target can transfer a media session |
| to another target.</p> |
| </td> |
| </tr> |
| <tr id="CapabilityFlags.MULTI_TARGET_PLAYBACK"> |
| <td><h3 id="CapabilityFlags.MULTI_TARGET_PLAYBACK" class="add-link hide-from-toc">MULTI_TARGET_PLAYBACK</h3></td> |
| <td>4</td> |
| <td><p>Indicates the target can participate in rendering |
| media with other devices.</p> |
| </td> |
| </tr> |
| <tr id="CapabilityFlags.VIDEO"> |
| <td><h3 id="CapabilityFlags.VIDEO" class="add-link hide-from-toc">VIDEO</h3></td> |
| <td>8</td> |
| <td><p>Indicates the target can render video.</p> |
| </td> |
| </tr> |
| </table> |
| |
| |
| |
| ## **TYPE ALIASES** |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="DisplayName"> |
| <td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=24">DisplayName</a></td> |
| <td> |
| <code>string</code>[<code>200</code>]</td> |
| <td><p>A user-visible name for a target to display in user interface or read |
| in voice interfaces.</p> |
| </td> |
| </tr> |
| <tr id="Id"> |
| <td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.target/target_discovery.fidl;l=20">Id</a></td> |
| <td> |
| <code>uint64</code></td> |
| <td><p>A unique id for a target.</p> |
| </td> |
| </tr> |
| </table> |