### Class

# SpiceClientGLib DisplayChannel

#### Description [src]

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

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

#### Ancestors

- SpiceChannel
- GObject

#### Instance methods

###### spice_display_change_preferred_compression

Tells the spice server to change the preferred image compression for the `channel`.

deprecated: 0.35 since: 0.31

###### spice_display_change_preferred_video_codec_type

Tells the spice server to change the preferred video codec type for streaming in `channel`. Application can set only one preferred video codec per display channel.

deprecated: 0.35 since: 0.34

###### spice_display_channel_change_preferred_compression

Tells the spice server to change the preferred image compression for the `channel`.

since: 0.35

###### spice_display_channel_change_preferred_video_codec_type

Tells the spice server to change the preferred video codec type for streaming in `channel`. Application can set only one preferred video codec per display channel.

deprecated: 0.38 since: 0.35

###### spice_display_channel_change_preferred_video_codec_types

Tells the spice server the ordered preferred video codec types to use for streaming in `channel`.

since: 0.38

###### spice_display_channel_get_primary

Retrieve primary display surface `surface_id`.

since: 0.35

###### spice_display_get_primary

Retrieve primary display surface `surface_id`.

deprecated: 0.35

###### spice_display_channel_get_gl_scanout

Retrieves the GL scanout if available.

deprecated: 0.43 since: 0.35

###### spice_display_channel_get_gl_scanout2

Retrieves the GL scanout with multi plane info if available.

since: 0.43

###### spice_display_channel_gl_draw_done

After a SpiceDisplayChannel::gl-draw is emitted, the client should draw the current display with the current GL scanout, and must release the GL resource with a call to `spice_display_gl_draw_done()` (failing to do so for each gl-draw may result in a frozen display).

since: 0.35

##### 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.DisplayChannel:gl-scanout

The last `SpiceGlScanout` received.

since: 0.31

###### SpiceClientGLib.DisplayChannel:height

No description available.

###### SpiceClientGLib.DisplayChannel:monitors

Current monitors configuration.

since: 0.13

###### SpiceClientGLib.DisplayChannel:monitors-max

The maximum number of monitors the server or guest supports. May change during client lifetime, for instance guest may reboot or dynamically adjust this.

since: 0.13

###### SpiceClientGLib.DisplayChannel:width

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.DisplayChannel::display-invalidate

The `SpiceDisplayChannel::display-invalidate` signal is emitted when the rectangular region x/y/w/h of the primary buffer is updated.

###### SpiceClientGLib.DisplayChannel::display-mark

The `SpiceDisplayChannel::display-mark` signal is emitted when the `RED_DISPLAY_MARK` command is received, and the display should be exposed.

###### SpiceClientGLib.DisplayChannel::display-primary-create

The `SpiceDisplayChannel::display-primary-create` signal provides main display buffer data.

###### SpiceClientGLib.DisplayChannel::display-primary-destroy

The `SpiceDisplayChannel::display-primary-destroy` signal is emitted when the primary surface is freed and should not be accessed anymore.

###### SpiceClientGLib.DisplayChannel::gl-draw

The `SpiceDisplayChannel::gl-draw` signal is emitted when the rectangular region x/y/w/h of the GL scanout is updated and must be drawn. When the draw is finished, you must call `spice_display_gl_draw_done()` in order to release the GL resources.

since: 0.31

###### SpiceClientGLib.DisplayChannel::gst-video-overlay

The `SpiceDisplayChannel::gst-video-overlay` signal is emitted when pipeline is ready and can be passed to widget to register GStreamer overlay interface and other GStreamer callbacks. If the pipeline pointer is NULL, the drawing area of the native renderer is set visible.

since: 0.36

###### SpiceClientGLib.DisplayChannel::streaming-mode

No description available.

deprecated: 0.36 since: 0.35

##### 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 SpiceClientGLibDisplayChannelClass {
      SpiceChannelClass parent_class;
      void (* display_primary_create) (
        SpiceChannel* channel,
        gint format,
        gint width,
        gint height,
        gint stride,
        gint shmid,
        gpointer data
      );
      void (* display_primary_destroy) (
        SpiceChannel* channel
      );
      void (* display_invalidate) (
        SpiceChannel* channel,
        gint x,
        gint y,
        gint w,
        gint h
      );
      void (* display_mark) (
        SpiceChannel* channel,
        gboolean mark
      );

    }

Class structure for `SpiceDisplayChannel`.

###### Class members

`parent_class: SpiceChannelClass`

  Parent class.

`display_primary_create: void (* display_primary_create) ( SpiceChannel* channel, gint format, gint width, gint height, gint stride, gint shmid, gpointer data )`

  Signal class handler for the `SpiceDisplayChannel::display-primary-create` signal.

`display_primary_destroy: void (* display_primary_destroy) ( SpiceChannel* channel )`

  Signal class handler for the `SpiceDisplayChannel::display-primary-destroy` signal.

`display_invalidate: void (* display_invalidate) ( SpiceChannel* channel, gint x, gint y, gint w, gint h )`

  Signal class handler for the `SpiceDisplayChannel::display-invalidate` signal.

`display_mark: void (* display_mark) ( SpiceChannel* channel, gboolean mark )`

  Signal class handler for the `SpiceDisplayChannel::display-mark` signal.