148 #ifndef JANUS_PLUGIN_H 149 #define JANUS_PLUGIN_H 157 #include <inttypes.h> 173 #define JANUS_PLUGIN_API_VERSION 14 191 #define JANUS_PLUGIN_INIT(...) { \ 194 .get_api_compatibility = NULL, \ 195 .get_version = NULL, \ 196 .get_version_string = NULL, \ 197 .get_description = NULL, \ 199 .get_author = NULL, \ 200 .get_package = NULL, \ 201 .create_session = NULL, \ 202 .handle_message = NULL, \ 203 .handle_admin_message = NULL, \ 204 .setup_media = NULL, \ 205 .incoming_rtp = NULL, \ 206 .incoming_rtcp = NULL, \ 207 .incoming_data = NULL, \ 209 .hangup_media = NULL, \ 210 .destroy_session = NULL, \ 211 .query_session = NULL, \ 257 void (*
const destroy)(void);
265 int (*
const get_api_compatibility)(void);
267 int (*
const get_version)(void);
397 gboolean (*
const events_is_enabled)(void);
409 gboolean (*
const auth_is_signature_valid)(
janus_plugin *plugin,
const char *token);
415 gboolean (*
const auth_signature_contains)(
janus_plugin *plugin,
const char *token,
const char *descriptor);
void janus_plugin_rtp_reset(janus_plugin_rtp *packet)
Helper method to initialise/reset the RTP packet.
Definition: plugin.c:49
gboolean video
Whether this is an audio or video RTP packet.
Definition: plugin.h:563
The request was correctly handled and a response is provided (synchronous)
Definition: plugin.h:446
Janus plugin data message.
Definition: plugin.h:596
char * buffer
The message data.
Definition: plugin.h:602
gboolean video
Whether this is an audio or video RTCP packet.
Definition: plugin.h:581
uint16_t length
The packet length.
Definition: plugin.h:567
volatile gint stopped
Whether this mapping has been stopped definitely or not: if so, the plugin shouldn't make use of it a...
Definition: plugin.h:244
Reference counter mechanism.
json_t *(*const query_session)(janus_plugin_session *handle)
Method to get plugin-specific info of a session/handle.
Definition: plugin.h:342
struct json_t json_t
Definition: plugin.h:234
void * gateway_handle
Opaque pointer to the Janus core-level handle.
Definition: plugin.h:239
void janus_plugin_data_reset(janus_plugin_data *packet)
Helper method to initialise/reset the data message.
Definition: plugin.c:59
Janus plugin RTP packet.
Definition: plugin.h:561
const char *(*const get_author)(void)
Informative method to request the author of the plugin.
Definition: plugin.h:275
const char *(*const get_version_string)(void)
Informative method to request the string version of the plugin.
Definition: plugin.h:269
const char *(*const get_name)(void)
Informative method to request the name of the plugin.
Definition: plugin.h:273
Definition: refcount.h:78
void janus_plugin_result_destroy(janus_plugin_result *result)
Helper to quickly destroy a janus_plugin_result instance.
Definition: plugin.c:29
Janus plugin result.
Definition: plugin.h:452
gboolean audio_level_vad
Whether the encoder detected voice activity (part of audio-level extension)
Definition: plugin.h:542
janus_plugin_result_type
Result types.
Definition: plugin.h:442
const char *(*const get_package)(void)
Informative method to request the package name of the plugin (what will be used in web applications t...
Definition: plugin.h:277
The request was correctly handled and notifications will follow with more info (asynchronous) ...
Definition: plugin.h:448
The plugin session and callbacks interface.
Definition: plugin.h:250
char * label
The label this message belongs to.
Definition: plugin.h:598
int8_t audio_level
Audio level, in DB (0-127, 127=silence); -1 means no extension.
Definition: plugin.h:539
gboolean binary
Whether the message data is text (default=FALSE) or binary.
Definition: plugin.h:600
const char *(*const get_description)(void)
Informative method to request a description of the plugin.
Definition: plugin.h:271
json_t * content
Result content.
Definition: plugin.h:469
char * buffer
The packet data.
Definition: plugin.h:583
janus_plugin_rtp_extensions extensions
RTP extensions.
Definition: plugin.h:569
A severe error happened (not an application level error)
Definition: plugin.h:444
janus_refcount ref
Reference counter for this instance.
Definition: plugin.h:246
janus_plugin * create_p(void)
The hook that plugins need to implement to be created from the Janus core.
Definition: plugin.h:419
Callbacks to contact the Janus core.
Definition: plugin.h:347
uint16_t length
The message length.
Definition: plugin.h:604
janus_plugin_result * janus_plugin_result_new(janus_plugin_result_type type, const char *text, json_t *content)
Helper to quickly create a janus_plugin_result instance.
Definition: plugin.c:20
Janus plugin RTP extensions.
Definition: plugin.h:537
uint16_t length
The packet length.
Definition: plugin.h:585
void * plugin_handle
Opaque pointer to the plugin session.
Definition: plugin.h:241
int16_t video_rotation
Video orientation rotation (0, 90, 180, 270); -1 means no extension.
Definition: plugin.h:544
Janus plugin RTCP packet.
Definition: plugin.h:579
void janus_plugin_rtcp_reset(janus_plugin_rtcp *packet)
Helper method to initialise/reset the RTCP packet.
Definition: plugin.c:55
Plugin-Gateway session mapping.
Definition: plugin.h:237
const char * text
Text associated with this plugin result.
Definition: plugin.h:461
char * buffer
The packet data.
Definition: plugin.h:565
gboolean video_flipped
Whether the video orientation extension says it's flipped horizontally.
Definition: plugin.h:550
void janus_plugin_rtp_extensions_reset(janus_plugin_rtp_extensions *extensions)
Helper method to initialise/reset the RTP extensions field.
Definition: plugin.c:39
janus_plugin_result_type type
Result type.
Definition: plugin.h:454
gboolean video_back_camera
Whether the video orientation extension says this is the back camera.
Definition: plugin.h:547