### Class

# SpiceClientGLib PlaybackChannel

#### Description [src]

    class SpiceClientGLib.PlaybackChannel : SpiceClientGLib.Channel
    {
      /* No available fields */
    }

The `SpicePlaybackChannel` struct is opaque and should not be accessed directly.

#### Ancestors

- SpiceChannel
- GObject

#### Instance methods

###### spice_playback_channel_set_delay

Adjust the multimedia time according to the delay.

##### Methods inherited from SpiceChannel (10)

###### spice_channel_connect

Connect the channel, using `SpiceSession` connection informations.

###### spice_channel_destroy

Disconnect and unref the `channel`.

deprecated: 0.27

###### spice_channel_disconnect

Close the socket and reset connection specific data. Finally, emit `reason` `SpiceChannel::channel-event` on main context if not

# SPICE_CHANNEL_NONE.

###### spice_channel_flush_async

Forces an asynchronous write of all user-space buffered data for the given channel.

since: 0.15

###### spice_channel_flush_finish

Finishes flushing a channel.

since: 0.15

###### spice_channel_get_error

Retrieves the `GError` currently set on channel, if the `SpiceChannel` is in error state and can provide additional error details.

since: 0.24

###### spice_channel_open_fd

Connect the channel using `fd` socket.

###### spice_channel_set_capability

Enable specific channel-kind capability.

deprecated: 0.13

###### spice_channel_test_capability

Test availability of remote “channel kind capability”.

###### spice_channel_test_common_capability

Test availability of remote “common channel capability”.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

###### SpiceClientGLib.PlaybackChannel:min-latency

No description available.

###### SpiceClientGLib.PlaybackChannel:mute

No description available.

###### SpiceClientGLib.PlaybackChannel:nchannels

No description available.

###### SpiceClientGLib.PlaybackChannel:volume

No description available.

##### Properties inherited from SpiceChannel (5)

###### SpiceClientGLib.Channel:channel-id

No description available.

###### SpiceClientGLib.Channel:channel-type

No description available.

###### SpiceClientGLib.Channel:socket

Get the underlying `GSocket`. Note that you should not read or write any data to it directly since this will likely corrupt the channel stream. This property is mainly useful to get some connections details.

since: 0.33

###### SpiceClientGLib.Channel:spice-session

No description available.

###### SpiceClientGLib.Channel:total-read-bytes

No description available.

#### Signals

###### SpiceClientGLib.PlaybackChannel::playback-data

Provide audio data to be played.

###### SpiceClientGLib.PlaybackChannel::playback-get-delay

Notify when the current playback delay is requested.

###### SpiceClientGLib.PlaybackChannel::playback-start

Notify when the playback should start, and provide audio format characteristics.

###### SpiceClientGLib.PlaybackChannel::playback-stop

Notify when the playback should stop.

##### Signals inherited from SpiceChannel (2)

###### SpiceChannel::channel-event

The `SpiceChannel::channel-event` signal is emitted when the state of the connection is changed. In case of errors, `spice_channel_get_error()` may provide additional informations on the source of the error.

###### SpiceChannel::open-fd

The `SpiceChannel::open-fd` signal is emitted when a new connection is requested. This signal is emitted when the connection is made with spice_session_open_fd().

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct SpiceClientGLibPlaybackChannelClass {
      SpiceChannelClass parent_class;
      void (* playback_start) (
        SpicePlaybackChannel* channel,
        gint format,
        gint channels,
        gint freq
      );
      void (* playback_data) (
        SpicePlaybackChannel* channel,
        gpointer* data,
        gint size
      );
      void (* playback_stop) (
        SpicePlaybackChannel* channel
      );

    }

Class structure for `SpicePlaybackChannel`.

###### Class members

`parent_class: SpiceChannelClass`

  Parent class.

`playback_start: void (* playback_start) ( SpicePlaybackChannel* channel, gint format, gint channels, gint freq )`

  Signal class handler for the `SpicePlaybackChannel::playback-start` signal.

`playback_data: void (* playback_data) ( SpicePlaybackChannel* channel, gpointer* data, gint size )`

  Signal class handler for the `SpicePlaybackChannel::playback-data` signal.

`playback_stop: void (* playback_stop) ( SpicePlaybackChannel* channel )`

  Signal class handler for the `SpicePlaybackChannel::playback-stop` signal.

#### Virtual methods

###### SpiceClientGLib.PlaybackChannelClass.playback_data

Signal class handler for the `SpicePlaybackChannel::playback-data` signal.

###### SpiceClientGLib.PlaybackChannelClass.playback_start

Signal class handler for the `SpicePlaybackChannel::playback-start` signal.

###### SpiceClientGLib.PlaybackChannelClass.playback_stop

Signal class handler for the `SpicePlaybackChannel::playback-stop` signal.