Fork me on GitHub
Data Structures | Macros | Typedefs | Functions
janus_videocall.c File Reference

Janus VideoCall plugin. More...

#include "plugin.h"
#include <jansson.h>
#include "../debug.h"
#include "../apierror.h"
#include "../config.h"
#include "../mutex.h"
#include "../record.h"
#include "../rtp.h"
#include "../rtcp.h"
#include "../sdp-utils.h"
#include "../utils.h"
Include dependency graph for janus_videocall.c:

Data Structures

struct  janus_videocall_message
 
struct  janus_videocall_session
 

Macros

#define JANUS_VIDEOCALL_VERSION   6
 
#define JANUS_VIDEOCALL_VERSION_STRING   "0.0.6"
 
#define JANUS_VIDEOCALL_DESCRIPTION   "This is a simple video call plugin for Janus, allowing two WebRTC peers to call each other through a server."
 
#define JANUS_VIDEOCALL_NAME   "JANUS VideoCall plugin"
 
#define JANUS_VIDEOCALL_AUTHOR   "Meetecho s.r.l."
 
#define JANUS_VIDEOCALL_PACKAGE   "janus.plugin.videocall"
 
#define JANUS_VIDEOCALL_ERROR_UNKNOWN_ERROR   499
 
#define JANUS_VIDEOCALL_ERROR_NO_MESSAGE   470
 
#define JANUS_VIDEOCALL_ERROR_INVALID_JSON   471
 
#define JANUS_VIDEOCALL_ERROR_INVALID_REQUEST   472
 
#define JANUS_VIDEOCALL_ERROR_REGISTER_FIRST   473
 
#define JANUS_VIDEOCALL_ERROR_INVALID_ELEMENT   474
 
#define JANUS_VIDEOCALL_ERROR_MISSING_ELEMENT   475
 
#define JANUS_VIDEOCALL_ERROR_USERNAME_TAKEN   476
 
#define JANUS_VIDEOCALL_ERROR_ALREADY_REGISTERED   477
 
#define JANUS_VIDEOCALL_ERROR_NO_SUCH_USERNAME   478
 
#define JANUS_VIDEOCALL_ERROR_USE_ECHO_TEST   479
 
#define JANUS_VIDEOCALL_ERROR_ALREADY_IN_CALL   480
 
#define JANUS_VIDEOCALL_ERROR_NO_CALL   481
 
#define JANUS_VIDEOCALL_ERROR_MISSING_SDP   482
 
#define JANUS_VIDEOCALL_ERROR_INVALID_SDP   483
 

Typedefs

typedef struct janus_videocall_message janus_videocall_message
 
typedef struct janus_videocall_session janus_videocall_session
 

Functions

janus_plugincreate (void)
 
int janus_videocall_init (janus_callbacks *callback, const char *config_path)
 
void janus_videocall_destroy (void)
 
int janus_videocall_get_api_compatibility (void)
 
int janus_videocall_get_version (void)
 
const char * janus_videocall_get_version_string (void)
 
const char * janus_videocall_get_description (void)
 
const char * janus_videocall_get_name (void)
 
const char * janus_videocall_get_author (void)
 
const char * janus_videocall_get_package (void)
 
void janus_videocall_create_session (janus_plugin_session *handle, int *error)
 
struct janus_plugin_resultjanus_videocall_handle_message (janus_plugin_session *handle, char *transaction, json_t *message, json_t *jsep)
 
void janus_videocall_setup_media (janus_plugin_session *handle)
 
void janus_videocall_incoming_rtp (janus_plugin_session *handle, janus_plugin_rtp *packet)
 
void janus_videocall_incoming_rtcp (janus_plugin_session *handle, janus_plugin_rtcp *packet)
 
void janus_videocall_incoming_data (janus_plugin_session *handle, janus_plugin_data *packet)
 
void janus_videocall_data_ready (janus_plugin_session *handle)
 
void janus_videocall_slow_link (janus_plugin_session *handle, int uplink, int video)
 
void janus_videocall_hangup_media (janus_plugin_session *handle)
 
void janus_videocall_destroy_session (janus_plugin_session *handle, int *error)
 
json_tjanus_videocall_query_session (janus_plugin_session *handle)
 

Detailed Description

Janus VideoCall plugin.

Author
Lorenzo Miniero loren.nosp@m.zo@m.nosp@m.eetec.nosp@m.ho.c.nosp@m.om

Plugins

Macro Definition Documentation

◆ JANUS_VIDEOCALL_AUTHOR

#define JANUS_VIDEOCALL_AUTHOR   "Meetecho s.r.l."

◆ JANUS_VIDEOCALL_DESCRIPTION

#define JANUS_VIDEOCALL_DESCRIPTION   "This is a simple video call plugin for Janus, allowing two WebRTC peers to call each other through a server."

◆ JANUS_VIDEOCALL_ERROR_ALREADY_IN_CALL

#define JANUS_VIDEOCALL_ERROR_ALREADY_IN_CALL   480

◆ JANUS_VIDEOCALL_ERROR_ALREADY_REGISTERED

#define JANUS_VIDEOCALL_ERROR_ALREADY_REGISTERED   477

◆ JANUS_VIDEOCALL_ERROR_INVALID_ELEMENT

#define JANUS_VIDEOCALL_ERROR_INVALID_ELEMENT   474

◆ JANUS_VIDEOCALL_ERROR_INVALID_JSON

#define JANUS_VIDEOCALL_ERROR_INVALID_JSON   471

◆ JANUS_VIDEOCALL_ERROR_INVALID_REQUEST

#define JANUS_VIDEOCALL_ERROR_INVALID_REQUEST   472

◆ JANUS_VIDEOCALL_ERROR_INVALID_SDP

#define JANUS_VIDEOCALL_ERROR_INVALID_SDP   483

◆ JANUS_VIDEOCALL_ERROR_MISSING_ELEMENT

#define JANUS_VIDEOCALL_ERROR_MISSING_ELEMENT   475

◆ JANUS_VIDEOCALL_ERROR_MISSING_SDP

#define JANUS_VIDEOCALL_ERROR_MISSING_SDP   482

◆ JANUS_VIDEOCALL_ERROR_NO_CALL

#define JANUS_VIDEOCALL_ERROR_NO_CALL   481

◆ JANUS_VIDEOCALL_ERROR_NO_MESSAGE

#define JANUS_VIDEOCALL_ERROR_NO_MESSAGE   470

◆ JANUS_VIDEOCALL_ERROR_NO_SUCH_USERNAME

#define JANUS_VIDEOCALL_ERROR_NO_SUCH_USERNAME   478

◆ JANUS_VIDEOCALL_ERROR_REGISTER_FIRST

#define JANUS_VIDEOCALL_ERROR_REGISTER_FIRST   473

◆ JANUS_VIDEOCALL_ERROR_UNKNOWN_ERROR

#define JANUS_VIDEOCALL_ERROR_UNKNOWN_ERROR   499

◆ JANUS_VIDEOCALL_ERROR_USE_ECHO_TEST

#define JANUS_VIDEOCALL_ERROR_USE_ECHO_TEST   479

◆ JANUS_VIDEOCALL_ERROR_USERNAME_TAKEN

#define JANUS_VIDEOCALL_ERROR_USERNAME_TAKEN   476

◆ JANUS_VIDEOCALL_NAME

#define JANUS_VIDEOCALL_NAME   "JANUS VideoCall plugin"

◆ JANUS_VIDEOCALL_PACKAGE

#define JANUS_VIDEOCALL_PACKAGE   "janus.plugin.videocall"

◆ JANUS_VIDEOCALL_VERSION

#define JANUS_VIDEOCALL_VERSION   6

◆ JANUS_VIDEOCALL_VERSION_STRING

#define JANUS_VIDEOCALL_VERSION_STRING   "0.0.6"

Typedef Documentation

◆ janus_videocall_message

◆ janus_videocall_session

Function Documentation

◆ create()

janus_plugin* create ( void  )

◆ janus_videocall_create_session()

void janus_videocall_create_session ( janus_plugin_session handle,
int *  error 
)

◆ janus_videocall_data_ready()

void janus_videocall_data_ready ( janus_plugin_session handle)

◆ janus_videocall_destroy()

void janus_videocall_destroy ( void  )

◆ janus_videocall_destroy_session()

void janus_videocall_destroy_session ( janus_plugin_session handle,
int *  error 
)

◆ janus_videocall_get_api_compatibility()

int janus_videocall_get_api_compatibility ( void  )

◆ janus_videocall_get_author()

const char * janus_videocall_get_author ( void  )

◆ janus_videocall_get_description()

const char * janus_videocall_get_description ( void  )

◆ janus_videocall_get_name()

const char * janus_videocall_get_name ( void  )

◆ janus_videocall_get_package()

const char * janus_videocall_get_package ( void  )

◆ janus_videocall_get_version()

int janus_videocall_get_version ( void  )

◆ janus_videocall_get_version_string()

const char * janus_videocall_get_version_string ( void  )

◆ janus_videocall_handle_message()

struct janus_plugin_result * janus_videocall_handle_message ( janus_plugin_session handle,
char *  transaction,
json_t message,
json_t jsep 
)

◆ janus_videocall_hangup_media()

void janus_videocall_hangup_media ( janus_plugin_session handle)

◆ janus_videocall_incoming_data()

void janus_videocall_incoming_data ( janus_plugin_session handle,
janus_plugin_data packet 
)

◆ janus_videocall_incoming_rtcp()

void janus_videocall_incoming_rtcp ( janus_plugin_session handle,
janus_plugin_rtcp packet 
)

◆ janus_videocall_incoming_rtp()

void janus_videocall_incoming_rtp ( janus_plugin_session handle,
janus_plugin_rtp packet 
)

◆ janus_videocall_init()

int janus_videocall_init ( janus_callbacks callback,
const char *  config_path 
)

◆ janus_videocall_query_session()

json_t * janus_videocall_query_session ( janus_plugin_session handle)

◆ janus_videocall_setup_media()

void janus_videocall_setup_media ( janus_plugin_session handle)

◆ janus_videocall_slow_link()

void janus_videocall_slow_link ( janus_plugin_session handle,
int  uplink,
int  video 
)