Janus AudioBridge plugin.
More...
#include "plugin.h"
#include <jansson.h>
#include <opus/opus.h>
#include "audiobridge-deps/speex/speex_jitter.h"
#include "audiobridge-deps/speex/speex_resampler.h"
#include <arpa/inet.h>
#include <net/if.h>
#include <sys/socket.h>
#include <netdb.h>
#include <sys/time.h>
#include <poll.h>
#include "../debug.h"
#include "../apierror.h"
#include "../config.h"
#include "../mutex.h"
#include "../rtp.h"
#include "../rtpsrtp.h"
#include "../rtcp.h"
#include "../rtpfwd.h"
#include "../record.h"
#include "../sdp-utils.h"
#include "../utils.h"
#include "../ip-utils.h"
Janus AudioBridge plugin.
- Author
- Lorenzo Miniero loren.nosp@m.zo@m.nosp@m.eetec.nosp@m.ho.c.nosp@m.om
- Copyright
- GNU General Public License v3
Check the AudioBridge plugin documentation for more details.
Plugins
◆ BUFFER_SAMPLES
◆ DEFAULT_COMPLEXITY
#define DEFAULT_COMPLEXITY 4 |
◆ G711_SAMPLES
◆ JANUS_AUDIOBRIDGE_AUTHOR
#define JANUS_AUDIOBRIDGE_AUTHOR "Meetecho s.r.l." |
◆ JANUS_AUDIOBRIDGE_DEFAULT_RTP_RANGE_MAX
#define JANUS_AUDIOBRIDGE_DEFAULT_RTP_RANGE_MAX 60000 |
◆ JANUS_AUDIOBRIDGE_DEFAULT_RTP_RANGE_MIN
#define JANUS_AUDIOBRIDGE_DEFAULT_RTP_RANGE_MIN 10000 |
◆ JANUS_AUDIOBRIDGE_DESCRIPTION
#define JANUS_AUDIOBRIDGE_DESCRIPTION "This is a plugin implementing an audio conference bridge for Janus, mixing Opus streams." |
◆ JANUS_AUDIOBRIDGE_ERROR_ALREADY_JOINED
#define JANUS_AUDIOBRIDGE_ERROR_ALREADY_JOINED 491 |
◆ JANUS_AUDIOBRIDGE_ERROR_ID_EXISTS
#define JANUS_AUDIOBRIDGE_ERROR_ID_EXISTS 490 |
◆ JANUS_AUDIOBRIDGE_ERROR_INVALID_ELEMENT
#define JANUS_AUDIOBRIDGE_ERROR_INVALID_ELEMENT 484 |
◆ JANUS_AUDIOBRIDGE_ERROR_INVALID_JSON
#define JANUS_AUDIOBRIDGE_ERROR_INVALID_JSON 481 |
◆ JANUS_AUDIOBRIDGE_ERROR_INVALID_REQUEST
#define JANUS_AUDIOBRIDGE_ERROR_INVALID_REQUEST 482 |
◆ JANUS_AUDIOBRIDGE_ERROR_INVALID_SDP
#define JANUS_AUDIOBRIDGE_ERROR_INVALID_SDP 493 |
◆ JANUS_AUDIOBRIDGE_ERROR_LIBOPUS_ERROR
#define JANUS_AUDIOBRIDGE_ERROR_LIBOPUS_ERROR 488 |
◆ JANUS_AUDIOBRIDGE_ERROR_MISSING_ELEMENT
#define JANUS_AUDIOBRIDGE_ERROR_MISSING_ELEMENT 483 |
◆ JANUS_AUDIOBRIDGE_ERROR_NO_MESSAGE
#define JANUS_AUDIOBRIDGE_ERROR_NO_MESSAGE 480 |
◆ JANUS_AUDIOBRIDGE_ERROR_NO_SUCH_GROUP
#define JANUS_AUDIOBRIDGE_ERROR_NO_SUCH_GROUP 494 |
◆ JANUS_AUDIOBRIDGE_ERROR_NO_SUCH_ROOM
#define JANUS_AUDIOBRIDGE_ERROR_NO_SUCH_ROOM 485 |
◆ JANUS_AUDIOBRIDGE_ERROR_NO_SUCH_USER
#define JANUS_AUDIOBRIDGE_ERROR_NO_SUCH_USER 492 |
◆ JANUS_AUDIOBRIDGE_ERROR_NOT_JOINED
#define JANUS_AUDIOBRIDGE_ERROR_NOT_JOINED 487 |
◆ JANUS_AUDIOBRIDGE_ERROR_ROOM_EXISTS
#define JANUS_AUDIOBRIDGE_ERROR_ROOM_EXISTS 486 |
◆ JANUS_AUDIOBRIDGE_ERROR_UNAUTHORIZED
#define JANUS_AUDIOBRIDGE_ERROR_UNAUTHORIZED 489 |
◆ JANUS_AUDIOBRIDGE_ERROR_UNKNOWN_ERROR
#define JANUS_AUDIOBRIDGE_ERROR_UNKNOWN_ERROR 499 |
◆ JANUS_AUDIOBRIDGE_MAX_GROUPS
#define JANUS_AUDIOBRIDGE_MAX_GROUPS 5 |
◆ JANUS_AUDIOBRIDGE_NAME
#define JANUS_AUDIOBRIDGE_NAME "JANUS AudioBridge plugin" |
◆ JANUS_AUDIOBRIDGE_PACKAGE
#define JANUS_AUDIOBRIDGE_PACKAGE "janus.plugin.audiobridge" |
◆ JANUS_AUDIOBRIDGE_VERSION
#define JANUS_AUDIOBRIDGE_VERSION 13 |
◆ JANUS_AUDIOBRIDGE_VERSION_STRING
#define JANUS_AUDIOBRIDGE_VERSION_STRING "0.0.13" |
◆ JITTER_BUFFER_CHECK_USECS
#define JITTER_BUFFER_CHECK_USECS 1*G_USEC_PER_SEC |
◆ JITTER_BUFFER_MAX_PACKETS
#define JITTER_BUFFER_MAX_PACKETS 50 |
◆ JITTER_BUFFER_MIN_PACKETS
#define JITTER_BUFFER_MIN_PACKETS 2 |
◆ MAX_MISORDER
◆ MIN_SEQUENTIAL
◆ OPUS_SAMPLES
◆ QUEUE_IN_MAX_PACKETS
#define QUEUE_IN_MAX_PACKETS 4 |
◆ janus_audiobridge_buffer_packet
typedef struct janus_audiobridge_buffer_packet janus_audiobridge_buffer_packet |
◆ janus_audiobridge_message
typedef struct janus_audiobridge_message janus_audiobridge_message |
◆ janus_audiobridge_participant
typedef struct janus_audiobridge_participant janus_audiobridge_participant |
◆ janus_audiobridge_plainrtp_media
typedef struct janus_audiobridge_plainrtp_media janus_audiobridge_plainrtp_media |
◆ janus_audiobridge_room
typedef struct janus_audiobridge_room janus_audiobridge_room |
◆ janus_audiobridge_rtp_forwarder_metadata
typedef struct janus_audiobridge_rtp_forwarder_metadata janus_audiobridge_rtp_forwarder_metadata |
◆ janus_audiobridge_rtp_relay_packet
typedef struct janus_audiobridge_rtp_relay_packet janus_audiobridge_rtp_relay_packet |
◆ janus_audiobridge_session
typedef struct janus_audiobridge_session janus_audiobridge_session |
◆ wav_header
typedef struct wav_header wav_header |
◆ create()
◆ janus_audiobridge_create_session()
◆ janus_audiobridge_destroy()
void janus_audiobridge_destroy |
( |
void | | ) |
|
◆ janus_audiobridge_destroy_session()
◆ janus_audiobridge_get_api_compatibility()
int janus_audiobridge_get_api_compatibility |
( |
void | | ) |
|
◆ janus_audiobridge_get_author()
const char * janus_audiobridge_get_author |
( |
void | | ) |
|
◆ janus_audiobridge_get_description()
const char * janus_audiobridge_get_description |
( |
void | | ) |
|
◆ janus_audiobridge_get_name()
const char * janus_audiobridge_get_name |
( |
void | | ) |
|
◆ janus_audiobridge_get_package()
const char * janus_audiobridge_get_package |
( |
void | | ) |
|
◆ janus_audiobridge_get_version()
int janus_audiobridge_get_version |
( |
void | | ) |
|
◆ janus_audiobridge_get_version_string()
const char * janus_audiobridge_get_version_string |
( |
void | | ) |
|
◆ janus_audiobridge_handle_admin_message()
json_t * janus_audiobridge_handle_admin_message |
( |
json_t * | message | ) |
|
◆ janus_audiobridge_handle_message()
◆ janus_audiobridge_hangup_media()
◆ janus_audiobridge_incoming_rtcp()
◆ janus_audiobridge_incoming_rtp()
◆ janus_audiobridge_init()
int janus_audiobridge_init |
( |
janus_callbacks * | callback, |
|
|
const char * | config_path ) |
◆ janus_audiobridge_query_session()
◆ janus_audiobridge_setup_media()