Janus WebSockets transport plugin. More...
#include "transport.h"#include <arpa/inet.h>#include <net/if.h>#include <ifaddrs.h>#include <libwebsockets.h>#include "../debug.h"#include "../apierror.h"#include "../config.h"#include "../mutex.h"#include "../utils.h"
Data Structures | |
| struct | janus_websockets_client |
Macros | |
| #define | JANUS_WEBSOCKETS_VERSION 1 |
| #define | JANUS_WEBSOCKETS_VERSION_STRING "0.0.1" |
| #define | JANUS_WEBSOCKETS_DESCRIPTION "This transport plugin adds WebSockets support to the Janus API via libwebsockets." |
| #define | JANUS_WEBSOCKETS_NAME "JANUS WebSockets transport plugin" |
| #define | JANUS_WEBSOCKETS_AUTHOR "Meetecho s.r.l." |
| #define | JANUS_WEBSOCKETS_PACKAGE "janus.transport.websockets" |
| #define | JANUS_WEBSOCKETS_ERROR_INVALID_REQUEST 411 |
| #define | JANUS_WEBSOCKETS_ERROR_MISSING_ELEMENT 412 |
| #define | JANUS_WEBSOCKETS_ERROR_INVALID_ELEMENT 413 |
| #define | JANUS_WEBSOCKETS_ERROR_UNKNOWN_ERROR 499 |
| #define | CASE_STR(name) case name: return #name |
| #define | MESSAGE_CHUNK_SIZE 2800 |
Typedefs | |
| typedef struct janus_websockets_client | janus_websockets_client |
Janus WebSockets transport plugin.
session_id and handle_id. That is, where you'd send a Janus request related to a specific session to the /janus/<session> path, with WebSockets you'd have to send the same request with an additional session_id field in the JSON payload. The same applies for the handle. The JavaScript library (janus.js) implements all of this on the client side automatically. | #define CASE_STR | ( | name | ) | case name: return #name |
| #define JANUS_WEBSOCKETS_AUTHOR "Meetecho s.r.l." |
| #define JANUS_WEBSOCKETS_DESCRIPTION "This transport plugin adds WebSockets support to the Janus API via libwebsockets." |
| #define JANUS_WEBSOCKETS_ERROR_INVALID_ELEMENT 413 |
| #define JANUS_WEBSOCKETS_ERROR_INVALID_REQUEST 411 |
| #define JANUS_WEBSOCKETS_ERROR_MISSING_ELEMENT 412 |
| #define JANUS_WEBSOCKETS_ERROR_UNKNOWN_ERROR 499 |
| #define JANUS_WEBSOCKETS_NAME "JANUS WebSockets transport plugin" |
| #define JANUS_WEBSOCKETS_PACKAGE "janus.transport.websockets" |
| #define JANUS_WEBSOCKETS_VERSION 1 |
| #define JANUS_WEBSOCKETS_VERSION_STRING "0.0.1" |
| #define MESSAGE_CHUNK_SIZE 2800 |
| typedef struct janus_websockets_client janus_websockets_client |
| janus_transport* create | ( | void | ) |
| void janus_websockets_destroy | ( | void | ) |
| int janus_websockets_get_api_compatibility | ( | void | ) |
| const char * janus_websockets_get_author | ( | void | ) |
| const char * janus_websockets_get_description | ( | void | ) |
| const char * janus_websockets_get_name | ( | void | ) |
| const char * janus_websockets_get_package | ( | void | ) |
| int janus_websockets_get_version | ( | void | ) |
| const char * janus_websockets_get_version_string | ( | void | ) |
| int janus_websockets_init | ( | janus_transport_callbacks * | callback, |
| const char * | config_path | ||
| ) |
| gboolean janus_websockets_is_admin_api_enabled | ( | void | ) |
| gboolean janus_websockets_is_janus_api_enabled | ( | void | ) |
| int janus_websockets_send_message | ( | janus_transport_session * | transport, |
| void * | request_id, | ||
| gboolean | admin, | ||
| json_t * | message | ||
| ) |
| void janus_websockets_session_claimed | ( | janus_transport_session * | transport, |
| guint64 | session_id | ||
| ) |
| void janus_websockets_session_created | ( | janus_transport_session * | transport, |
| guint64 | session_id | ||
| ) |
| void janus_websockets_session_over | ( | janus_transport_session * | transport, |
| guint64 | session_id, | ||
| gboolean | timeout, | ||
| gboolean | claimed | ||
| ) |
| void * janus_websockets_thread | ( | void * | data | ) |