media.h File Reference
Media API. More...
#include "media/candidate.h"
#include "media/codec.h"
#include "media/enum-types.h"
#include <glib.h>
#include <glib-object.h>
#include "signals.h"
#include "util.h"


Go to the source code of this file.
Defines | |
| #define | PURPLE_TYPE_MEDIA (purple_media_get_type()) |
| #define | PURPLE_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_MEDIA, PurpleMedia)) |
| #define | PURPLE_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_MEDIA, PurpleMediaClass)) |
| #define | PURPLE_IS_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_MEDIA)) |
| #define | PURPLE_IS_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_MEDIA)) |
| #define | PURPLE_MEDIA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_MEDIA, PurpleMediaClass)) |
Typedefs | |
| typedef struct _PurpleMedia | PurpleMedia |
| An opaque structure representing a media call. | |
Functions | |
| GType | purple_media_get_type (void) |
| Gets the media class's GType. | |
| GList * | purple_media_get_session_ids (PurpleMedia *media) |
| Gets a list of session IDs. | |
| PurpleAccount * | purple_media_get_account (PurpleMedia *media) |
| Gets the PurpleAccount this media session is on. | |
| gpointer | purple_media_get_prpl_data (PurpleMedia *media) |
| Gets the prpl data from the media session. | |
| void | purple_media_set_prpl_data (PurpleMedia *media, gpointer prpl_data) |
| Sets the prpl data on the media session. | |
| void | purple_media_error (PurpleMedia *media, const gchar *error,...) |
| Signals an error in the media session. | |
| void | purple_media_end (PurpleMedia *media, const gchar *session_id, const gchar *participant) |
| Ends all streams that match the given parameters. | |
| void | purple_media_stream_info (PurpleMedia *media, PurpleMediaInfoType type, const gchar *session_id, const gchar *participant, gboolean local) |
| Signals different information about the given stream. | |
| gboolean | purple_media_add_stream (PurpleMedia *media, const gchar *sess_id, const gchar *who, PurpleMediaSessionType type, gboolean initiator, const gchar *transmitter, guint num_params, GParameter *params) |
| Adds a stream to a session. | |
| PurpleMediaSessionType | purple_media_get_session_type (PurpleMedia *media, const gchar *sess_id) |
| Gets the session type from a session. | |
| struct _PurpleMediaManager * | purple_media_get_manager (PurpleMedia *media) |
| Gets the PurpleMediaManager this media session is a part of. | |
| GList * | purple_media_get_codecs (PurpleMedia *media, const gchar *sess_id) |
| Gets the codecs from a session. | |
| void | purple_media_add_remote_candidates (PurpleMedia *media, const gchar *sess_id, const gchar *participant, GList *remote_candidates) |
| Adds remote candidates to the stream. | |
| GList * | purple_media_get_local_candidates (PurpleMedia *media, const gchar *sess_id, const gchar *participant) |
| Gets the local candidates from a stream. | |
| gboolean | purple_media_set_remote_codecs (PurpleMedia *media, const gchar *sess_id, const gchar *participant, GList *codecs) |
| Sets remote candidates from the stream. | |
| gboolean | purple_media_candidates_prepared (PurpleMedia *media, const gchar *session_id, const gchar *participant) |
| Returns whether or not the candidates for set of streams are prepared. | |
| gboolean | purple_media_set_send_codec (PurpleMedia *media, const gchar *sess_id, PurpleMediaCodec *codec) |
| Sets the send codec for the a session. | |
| gboolean | purple_media_codecs_ready (PurpleMedia *media, const gchar *sess_id) |
| Gets whether a session's codecs are ready to be used. | |
| gboolean | purple_media_is_initiator (PurpleMedia *media, const gchar *sess_id, const gchar *participant) |
| Gets whether the local user is the conference/session/stream's initiator. | |
| gboolean | purple_media_accepted (PurpleMedia *media, const gchar *sess_id, const gchar *participant) |
| Gets whether a streams selected have been accepted. | |
| void | purple_media_set_input_volume (PurpleMedia *media, const gchar *session_id, double level) |
| Sets the input volume of all the selected sessions. | |
| void | purple_media_set_output_volume (PurpleMedia *media, const gchar *session_id, const gchar *participant, double level) |
| Sets the output volume of all the selected streams. | |
| gulong | purple_media_set_output_window (PurpleMedia *media, const gchar *session_id, const gchar *participant, gulong window_id) |
| Sets a video output window for the given session/stream. | |
| void | purple_media_remove_output_windows (PurpleMedia *media) |
| Removes all output windows from a given media session. | |
Detailed Description
Media API.
Definition in file media.h.
Typedef Documentation
| typedef struct _PurpleMedia PurpleMedia |
Function Documentation
| gboolean purple_media_accepted | ( | PurpleMedia * | media, | |
| const gchar * | sess_id, | |||
| const gchar * | participant | |||
| ) |
Gets whether a streams selected have been accepted.
- Parameters:
-
media The media object to find the session in. sess_id The session id of the session to check. participant The participant to check.
- Returns:
TRUEThe selected streams have been accepted, orFALSEotherwise.
- Since:
- 2.6.0
| void purple_media_add_remote_candidates | ( | PurpleMedia * | media, | |
| const gchar * | sess_id, | |||
| const gchar * | participant, | |||
| GList * | remote_candidates | |||
| ) |
Adds remote candidates to the stream.
- Parameters:
-
media The media object to find the session in. sess_id The session id of the session find the stream in. participant The name of the remote user to add the candidates for. remote_candidates The remote candidates to add.
- Since:
- 2.6.0
| gboolean purple_media_add_stream | ( | PurpleMedia * | media, | |
| const gchar * | sess_id, | |||
| const gchar * | who, | |||
| PurpleMediaSessionType | type, | |||
| gboolean | initiator, | |||
| const gchar * | transmitter, | |||
| guint | num_params, | |||
| GParameter * | params | |||
| ) |
Adds a stream to a session.
It only adds a stream to one audio session or video session as the sess_id must be unique between sessions.
- Parameters:
-
media The media object to find the session in. sess_id The session id of the session to add the stream to. who The name of the remote user to add the stream for. type The type of stream to create. initiator Whether or not the local user initiated the stream. transmitter The transmitter to use for the stream. num_params The number of parameters to pass to Farsight. params The parameters to pass to Farsight.
- Returns:
TRUEThe stream was added successfully,FALSEotherwise.
- Since:
- 2.6.0
| gboolean purple_media_candidates_prepared | ( | PurpleMedia * | media, | |
| const gchar * | session_id, | |||
| const gchar * | participant | |||
| ) |
Returns whether or not the candidates for set of streams are prepared.
- Parameters:
-
media The media object to find the remote user in. session_id The session id of the session to check. participant The remote user to check for.
- Returns:
TRUEAll streams for the given session_id/participant combination have candidates prepared,FALSEotherwise.
- Since:
- 2.6.0
| gboolean purple_media_codecs_ready | ( | PurpleMedia * | media, | |
| const gchar * | sess_id | |||
| ) |
Gets whether a session's codecs are ready to be used.
- Parameters:
-
media The media object to find the session in. sess_id The session id of the session to check.
- Returns:
TRUEThe codecs are ready, orFALSEotherwise.
- Since:
- 2.6.0
| void purple_media_end | ( | PurpleMedia * | media, | |
| const gchar * | session_id, | |||
| const gchar * | participant | |||
| ) |
Ends all streams that match the given parameters.
- Parameters:
-
media The media object with which to end streams. session_id The session to end streams on. participant The participant to end streams with.
- Since:
- 2.6.0
| void purple_media_error | ( | PurpleMedia * | media, | |
| const gchar * | error, | |||
| ... | ||||
| ) |
Signals an error in the media session.
- Parameters:
-
media The media object to set the state on. error The format of the error message to send in the signal. ... The arguments to plug into the format.
- Since:
- 2.6.0
| PurpleAccount* purple_media_get_account | ( | PurpleMedia * | media | ) |
Gets the PurpleAccount this media session is on.
- Parameters:
-
media The media session to retrieve the account from.
- Returns:
- The account retrieved.
- Since:
- 2.6.0
| GList* purple_media_get_codecs | ( | PurpleMedia * | media, | |
| const gchar * | sess_id | |||
| ) |
Gets the codecs from a session.
- Parameters:
-
media The media object to find the session in. sess_id The session id of the session to get the codecs from.
- Returns:
- The retreieved codecs.
- Since:
- 2.6.0
| GList* purple_media_get_local_candidates | ( | PurpleMedia * | media, | |
| const gchar * | sess_id, | |||
| const gchar * | participant | |||
| ) |
Gets the local candidates from a stream.
- Parameters:
-
media The media object to find the session in. sess_id The session id of the session to find the stream in. participant The name of the remote user to get the candidates from.
- Since:
- 2.6.0
| struct _PurpleMediaManager* purple_media_get_manager | ( | PurpleMedia * | media | ) | [read] |
Gets the PurpleMediaManager this media session is a part of.
- Parameters:
-
media The media object to get the manager instance from.
- Returns:
- The PurpleMediaManager instance retrieved.
- Since:
- 2.6.0
| gpointer purple_media_get_prpl_data | ( | PurpleMedia * | media | ) |
Gets the prpl data from the media session.
- Parameters:
-
media The media session to retrieve the prpl data from.
- Returns:
- The prpl data retrieved.
- Since:
- 2.6.0
| GList* purple_media_get_session_ids | ( | PurpleMedia * | media | ) |
Gets a list of session IDs.
- Parameters:
-
media The media session from which to retrieve session IDs.
- Returns:
- GList of session IDs. The caller must free the list.
- Since:
- 2.6.0
| PurpleMediaSessionType purple_media_get_session_type | ( | PurpleMedia * | media, | |
| const gchar * | sess_id | |||
| ) |
Gets the session type from a session.
- Parameters:
-
media The media object to find the session in. sess_id The session id of the session to get the type from.
- Returns:
- The retreived session type.
- Since:
- 2.6.0
| GType purple_media_get_type | ( | void | ) |
Gets the media class's GType.
- Returns:
- The media class's GType.
- Since:
- 2.6.0
| gboolean purple_media_is_initiator | ( | PurpleMedia * | media, | |
| const gchar * | sess_id, | |||
| const gchar * | participant | |||
| ) |
Gets whether the local user is the conference/session/stream's initiator.
- Parameters:
-
media The media instance to find the session in. sess_id The session id of the session to check. participant The participant of the stream to check.
- Returns:
- TRUE if the local user is the stream's initator, else FALSE.
- Since:
- 2.6.0
| void purple_media_remove_output_windows | ( | PurpleMedia * | media | ) |
Removes all output windows from a given media session.
- Parameters:
-
media The instance to remove all output windows from.
- Since:
- 2.6.0
| void purple_media_set_input_volume | ( | PurpleMedia * | media, | |
| const gchar * | session_id, | |||
| double | level | |||
| ) |
Sets the input volume of all the selected sessions.
- Parameters:
-
media The media object the sessions are in. session_id The session to select (if any). level The level to set the volume to.
- Since:
- 2.6.0
| void purple_media_set_output_volume | ( | PurpleMedia * | media, | |
| const gchar * | session_id, | |||
| const gchar * | participant, | |||
| double | level | |||
| ) |
Sets the output volume of all the selected streams.
- Parameters:
-
media The media object the streams are in. session_id The session to limit the streams to (if any). participant The participant to limit the streams to (if any). level The level to set the volume to.
- Since:
- 2.6.0
| gulong purple_media_set_output_window | ( | PurpleMedia * | media, | |
| const gchar * | session_id, | |||
| const gchar * | participant, | |||
| gulong | window_id | |||
| ) |
Sets a video output window for the given session/stream.
- Parameters:
-
media The media instance to set the output window on. session_id The session to set the output window on. participant Optionally, the participant to set the output window on. window_id The window id use for embedding the video in.
- Returns:
- An id to reference the output window.
- Since:
- 2.6.0
| void purple_media_set_prpl_data | ( | PurpleMedia * | media, | |
| gpointer | prpl_data | |||
| ) |
Sets the prpl data on the media session.
- Parameters:
-
media The media session to set the prpl data on. prpl_data The data to set on the media session.
- Since:
- 2.6.0
| gboolean purple_media_set_remote_codecs | ( | PurpleMedia * | media, | |
| const gchar * | sess_id, | |||
| const gchar * | participant, | |||
| GList * | codecs | |||
| ) |
Sets remote candidates from the stream.
- Parameters:
-
media The media object to find the session in. sess_id The session id of the session find the stream in. participant The name of the remote user to set the candidates from. codecs The list of remote codecs to set.
- Returns:
TRUEThe codecs were set successfully, orFALSEotherwise.
- Since:
- 2.6.0
| gboolean purple_media_set_send_codec | ( | PurpleMedia * | media, | |
| const gchar * | sess_id, | |||
| PurpleMediaCodec * | codec | |||
| ) |
Sets the send codec for the a session.
- Parameters:
-
media The media object to find the session in. sess_id The session id of the session to set the codec for. codec The codec to set the session to stream.
- Returns:
TRUEThe codec was successfully changed, orFALSEotherwise.
- Since:
- 2.6.0
| void purple_media_stream_info | ( | PurpleMedia * | media, | |
| PurpleMediaInfoType | type, | |||
| const gchar * | session_id, | |||
| const gchar * | participant, | |||
| gboolean | local | |||
| ) |
Signals different information about the given stream.
- Parameters:
-
media The media instance to containing the stream to signal. type The type of info being signaled. session_id The id of the session of the stream being signaled. participant The participant of the stream being signaled. local TRUE if the info originated locally, FALSE if on the remote end.
- Since:
- 2.6.0

