Interface

PurpleMediaBackend

since: 2.6

Description [src]

interface Purple.MediaBackend : GObject.Object

A placeholder to represent any media backend.

Available since: 2.6

Prerequisite

In order to implement MediaBackend, your type must inherit fromGObject.

Instance methods

purple_media_backend_add_remote_candidates

Add remote candidates to a stream.

since: 2.7

purple_media_backend_add_stream

Creates and adds a stream to the media backend.

since: 2.7

purple_media_backend_codecs_ready

Get whether or not a session’s codecs are ready.

since: 2.7

purple_media_backend_get_available_params

Gets the list of optional parameters supported by the media backend. The list should NOT be freed.

since: 2.8

purple_media_backend_get_codecs

Gets the codec intersection list for a session.

since: 2.7

purple_media_backend_get_local_candidates

Gets the list of local candidates for a stream.

since: 2.7

purple_media_backend_set_decryption_parameters

Sets the decryption parameters for a session participant’s media.

since: 2.11

purple_media_backend_set_encryption_parameters

Sets the encryption parameters of our media in the session.

since: 2.11

purple_media_backend_set_params

Sets various optional parameters of the media backend.

since: 2.8

purple_media_backend_set_remote_codecs

Sets the remote codecs on a stream.

since: 2.7

purple_media_backend_set_require_encryption

Sets whether a session participant’s media requires encryption.

since: 2.14

purple_media_backend_set_send_codec

Sets which codec format to send media content in for a session.

since: 2.7

purple_media_backend_set_send_rtcp_mux

Controls whether or not the RTCP should be muxed with the RTP.

since: 2.11

Properties

Purple.MediaBackend:conference-type

The type of the conference.

Purple.MediaBackend:media

The media object that this back end is bound to.

Signals

Purple.MediaBackend::active-candidate-pair

This is currently not emitted any, so I’d be guessing…

Purple.MediaBackend::candidates-prepared

Emitted when the candidates have been prepared.

Purple.MediaBackend::codecs-changed

Emitted when the codecs have changed.

Purple.MediaBackend::error

Emitted when the backend has encountered an error.

Purple.MediaBackend::new-candidate

Emitted when a new media candidate is available.

Interface structure

struct PurpleMediaBackendInterface {
  gboolean (* add_stream) (
    PurpleMediaBackend* self,
    const gchar* sess_id,
    const gchar* who,
    PurpleMediaSessionType type,
    gboolean initiator,
    const gchar* transmitter,
    GHashTable* params
  );
  void (* add_remote_candidates) (
    PurpleMediaBackend* self,
    const gchar* sess_id,
    const gchar* participant,
    GList* remote_candidates
  );
  gboolean (* codecs_ready) (
    PurpleMediaBackend* self,
    const gchar* sess_id
  );
  GList* (* get_codecs) (
    PurpleMediaBackend* self,
    const gchar* sess_id
  );
  GList* (* get_local_candidates) (
    PurpleMediaBackend* self,
    const gchar* sess_id,
    const gchar* participant
  );
  gboolean (* set_remote_codecs) (
    PurpleMediaBackend* self,
    const gchar* sess_id,
    const gchar* participant,
    GList* codecs
  );
  gboolean (* set_send_codec) (
    PurpleMediaBackend* self,
    const gchar* sess_id,
    PurpleMediaCodec* codec
  );
  gboolean (* set_encryption_parameters) (
    PurpleMediaBackend* self,
    const gchar* sess_id,
    const gchar* cipher,
    const gchar* auth,
    const gchar* key,
    gsize key_len
  );
  gboolean (* set_decryption_parameters) (
    PurpleMediaBackend* self,
    const gchar* sess_id,
    const gchar* participant,
    const gchar* cipher,
    const gchar* auth,
    const gchar* key,
    gsize key_len
  );
  gboolean (* set_require_encryption) (
    PurpleMediaBackend* self,
    const gchar* sess_id,
    const gchar* participant,
    gboolean require_encryption
  );
  void (* set_params) (
    PurpleMediaBackend* self,
    GHashTable* params
  );
  const gchar** (* get_available_params) (
void
  );
  gboolean (* send_dtmf) (
    PurpleMediaBackend* self,
    const gchar* sess_id,
    gchar dtmf,
    guint8 volume,
    guint16 duration
  );
  gboolean (* set_send_rtcp_mux) (
    PurpleMediaBackend* self,
    const gchar* sess_id,
    const gchar* participant,
    gboolean send_rtcp_mux
  );
  
}
No description available.
Interface members
add_stream
gboolean (* add_stream) (
    PurpleMediaBackend* self,
    const gchar* sess_id,
    const gchar* who,
    PurpleMediaSessionType type,
    gboolean initiator,
    const gchar* transmitter,
    GHashTable* params
  )
 No description available.
add_remote_candidates
void (* add_remote_candidates) (
    PurpleMediaBackend* self,
    const gchar* sess_id,
    const gchar* participant,
    GList* remote_candidates
  )
 No description available.
codecs_ready
gboolean (* codecs_ready) (
    PurpleMediaBackend* self,
    const gchar* sess_id
  )
 No description available.
get_codecs
GList* (* get_codecs) (
    PurpleMediaBackend* self,
    const gchar* sess_id
  )
 No description available.
get_local_candidates
GList* (* get_local_candidates) (
    PurpleMediaBackend* self,
    const gchar* sess_id,
    const gchar* participant
  )
 No description available.
set_remote_codecs
gboolean (* set_remote_codecs) (
    PurpleMediaBackend* self,
    const gchar* sess_id,
    const gchar* participant,
    GList* codecs
  )
 No description available.
set_send_codec
gboolean (* set_send_codec) (
    PurpleMediaBackend* self,
    const gchar* sess_id,
    PurpleMediaCodec* codec
  )
 No description available.
set_encryption_parameters
gboolean (* set_encryption_parameters) (
    PurpleMediaBackend* self,
    const gchar* sess_id,
    const gchar* cipher,
    const gchar* auth,
    const gchar* key,
    gsize key_len
  )
 No description available.
set_decryption_parameters
gboolean (* set_decryption_parameters) (
    PurpleMediaBackend* self,
    const gchar* sess_id,
    const gchar* participant,
    const gchar* cipher,
    const gchar* auth,
    const gchar* key,
    gsize key_len
  )
 No description available.
set_require_encryption
gboolean (* set_require_encryption) (
    PurpleMediaBackend* self,
    const gchar* sess_id,
    const gchar* participant,
    gboolean require_encryption
  )
 No description available.
set_params
void (* set_params) (
    PurpleMediaBackend* self,
    GHashTable* params
  )
 No description available.
get_available_params
const gchar** (* get_available_params) (
void
  )
 No description available.
send_dtmf
gboolean (* send_dtmf) (
    PurpleMediaBackend* self,
    const gchar* sess_id,
    gchar dtmf,
    guint8 volume,
    guint16 duration
  )
 No description available.
set_send_rtcp_mux
gboolean (* set_send_rtcp_mux) (
    PurpleMediaBackend* self,
    const gchar* sess_id,
    const gchar* participant,
    gboolean send_rtcp_mux
  )
 No description available.

Virtual methods

Purple.MediaBackend.add_remote_candidates

Add remote candidates to a stream.

since: 2.7

Purple.MediaBackend.add_stream

Creates and adds a stream to the media backend.

since: 2.7

Purple.MediaBackend.codecs_ready

Get whether or not a session’s codecs are ready.

since: 2.7

Purple.MediaBackend.get_codecs

Gets the codec intersection list for a session.

since: 2.7

Purple.MediaBackend.get_local_candidates

Gets the list of local candidates for a stream.

since: 2.7

Purple.MediaBackend.send_dtmf
No description available.

Purple.MediaBackend.set_decryption_parameters

Sets the decryption parameters for a session participant’s media.

since: 2.11

Purple.MediaBackend.set_encryption_parameters

Sets the encryption parameters of our media in the session.

since: 2.11

Purple.MediaBackend.set_params

Sets various optional parameters of the media backend.

since: 2.8

Purple.MediaBackend.set_remote_codecs

Sets the remote codecs on a stream.

since: 2.7

Purple.MediaBackend.set_require_encryption

Sets whether a session participant’s media requires encryption.

since: 2.14

Purple.MediaBackend.set_send_codec

Sets which codec format to send media content in for a session.

since: 2.7

Purple.MediaBackend.set_send_rtcp_mux

Controls whether or not the RTCP should be muxed with the RTP.

since: 2.11