Loading...
Searching...
No Matches
janus_textroom.c File Reference
Plugins

Janus TextRoom plugin. More...

`#include "plugin.h"`
`#include <jansson.h>`
`#include "../debug.h"`
`#include "../apierror.h"`
`#include "../config.h"`
`#include "../mutex.h"`
`#include "../utils.h"`
Include dependency graph for janus_textroom.c:

## Data Structures

struct | janus_textroom_room
struct | janus_textroom_session
struct | janus_textroom_participant
struct | janus_textroom_message

## Macros

#define | JANUS_TEXTROOM_VERSION 2
#define | JANUS_TEXTROOM_VERSION_STRING "0.0.2"
#define | JANUS_TEXTROOM_DESCRIPTION "This is a plugin implementing a text-only room for Janus, using DataChannels."
#define | JANUS_TEXTROOM_NAME "JANUS TextRoom plugin"
#define | JANUS_TEXTROOM_AUTHOR "Meetecho s.r.l."
#define | JANUS_TEXTROOM_PACKAGE "janus.plugin.textroom"
#define | sdp_template
#define | JANUS_TEXTROOM_ERROR_NO_MESSAGE 411
#define | JANUS_TEXTROOM_ERROR_INVALID_JSON 412
#define | JANUS_TEXTROOM_ERROR_MISSING_ELEMENT 413
#define | JANUS_TEXTROOM_ERROR_INVALID_ELEMENT 414
#define | JANUS_TEXTROOM_ERROR_INVALID_REQUEST 415
#define | JANUS_TEXTROOM_ERROR_ALREADY_SETUP 416
#define | JANUS_TEXTROOM_ERROR_NO_SUCH_ROOM 417
#define | JANUS_TEXTROOM_ERROR_ROOM_EXISTS 418
#define | JANUS_TEXTROOM_ERROR_UNAUTHORIZED 419
#define | JANUS_TEXTROOM_ERROR_USERNAME_EXISTS 420
#define | JANUS_TEXTROOM_ERROR_ALREADY_IN_ROOM 421
#define | JANUS_TEXTROOM_ERROR_NOT_IN_ROOM 422
#define | JANUS_TEXTROOM_ERROR_NO_SUCH_USER 423
#define | JANUS_TEXTROOM_ERROR_UNKNOWN_ERROR 499

## Typedefs

typedef struct janus_textroom_room | janus_textroom_room
typedef struct janus_textroom_session | janus_textroom_session
typedef struct janus_textroom_participant | janus_textroom_participant
typedef struct janus_textroom_message | janus_textroom_message

## Functions

janus_plugin * | create (void)
int | janus_textroom_init (janus_callbacks *callback, const char *config_path)
void | janus_textroom_destroy (void)
int | janus_textroom_get_api_compatibility (void)
int | janus_textroom_get_version (void)
const char * | janus_textroom_get_version_string (void)
const char * | janus_textroom_get_description (void)
const char * | janus_textroom_get_name (void)
const char * | janus_textroom_get_author (void)
const char * | janus_textroom_get_package (void)
void | janus_textroom_create_session (janus_plugin_session *handle, int *error)
struct janus_plugin_result * | janus_textroom_handle_message (janus_plugin_session *handle, char *transaction, json_t *message, json_t *jsep)
json_t * | janus_textroom_handle_admin_message (json_t *message)
void | janus_textroom_setup_media (janus_plugin_session *handle)
void | janus_textroom_incoming_rtp (janus_plugin_session *handle, janus_plugin_rtp *packet)
void | janus_textroom_incoming_rtcp (janus_plugin_session *handle, janus_plugin_rtcp *packet)
void | janus_textroom_incoming_data (janus_plugin_session *handle, janus_plugin_data *packet)
void | janus_textroom_data_ready (janus_plugin_session *handle)
void | janus_textroom_slow_link (janus_plugin_session *handle, int mindex, int uplink, int video)
void | janus_textroom_hangup_media (janus_plugin_session *handle)
void | janus_textroom_destroy_session (janus_plugin_session *handle, int *error)
json_t * | janus_textroom_query_session (janus_plugin_session *handle)
janus_plugin_result * | janus_textroom_handle_incoming_request (janus_plugin_session *handle, char *text, json_t *json, gboolean internal)

## Detailed Description

Janus TextRoom 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 Janus TextRoom documentation for more details.

Plugins

## Macro Definition Documentation

## JANUS_TEXTROOM_AUTHOR

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

## JANUS_TEXTROOM_DESCRIPTION

#define JANUS_TEXTROOM_DESCRIPTION "This is a plugin implementing a text-only room for Janus, using DataChannels."

## JANUS_TEXTROOM_ERROR_ALREADY_IN_ROOM

#define JANUS_TEXTROOM_ERROR_ALREADY_IN_ROOM 421

## JANUS_TEXTROOM_ERROR_ALREADY_SETUP

#define JANUS_TEXTROOM_ERROR_ALREADY_SETUP 416

## JANUS_TEXTROOM_ERROR_INVALID_ELEMENT

#define JANUS_TEXTROOM_ERROR_INVALID_ELEMENT 414

## JANUS_TEXTROOM_ERROR_INVALID_JSON

#define JANUS_TEXTROOM_ERROR_INVALID_JSON 412

## JANUS_TEXTROOM_ERROR_INVALID_REQUEST

#define JANUS_TEXTROOM_ERROR_INVALID_REQUEST 415

## JANUS_TEXTROOM_ERROR_MISSING_ELEMENT

#define JANUS_TEXTROOM_ERROR_MISSING_ELEMENT 413

## JANUS_TEXTROOM_ERROR_NO_MESSAGE

#define JANUS_TEXTROOM_ERROR_NO_MESSAGE 411

## JANUS_TEXTROOM_ERROR_NO_SUCH_ROOM

#define JANUS_TEXTROOM_ERROR_NO_SUCH_ROOM 417

## JANUS_TEXTROOM_ERROR_NO_SUCH_USER

#define JANUS_TEXTROOM_ERROR_NO_SUCH_USER 423

## JANUS_TEXTROOM_ERROR_NOT_IN_ROOM

#define JANUS_TEXTROOM_ERROR_NOT_IN_ROOM 422

## JANUS_TEXTROOM_ERROR_ROOM_EXISTS

#define JANUS_TEXTROOM_ERROR_ROOM_EXISTS 418

## JANUS_TEXTROOM_ERROR_UNAUTHORIZED

#define JANUS_TEXTROOM_ERROR_UNAUTHORIZED 419

## JANUS_TEXTROOM_ERROR_UNKNOWN_ERROR

#define JANUS_TEXTROOM_ERROR_UNKNOWN_ERROR 499

## JANUS_TEXTROOM_ERROR_USERNAME_EXISTS

#define JANUS_TEXTROOM_ERROR_USERNAME_EXISTS 420

## JANUS_TEXTROOM_NAME

#define JANUS_TEXTROOM_NAME "JANUS TextRoom plugin"

## JANUS_TEXTROOM_PACKAGE

#define JANUS_TEXTROOM_PACKAGE "janus.plugin.textroom"

## JANUS_TEXTROOM_VERSION

#define JANUS_TEXTROOM_VERSION 2

## JANUS_TEXTROOM_VERSION_STRING

#define JANUS_TEXTROOM_VERSION_STRING "0.0.2"

## sdp_template

#define sdp_template

Value:
"v=0\r\n" \
"o=- %"SCNu64" %"SCNu64" IN IP4 127.0.0.1\r\n" /* We need current time here */ \
"s=Janus TextRoom plugin\r\n" \
"t=0 0\r\n" \
"m=application 1 UDP/DTLS/SCTP webrtc-datachannel\r\n" \
"c=IN IP4 1.1.1.1\r\n" \
"a=sctp-port:5000\r\n"

## Typedef Documentation

## janus_textroom_message

typedef struct janus_textroom_message janus_textroom_message

## janus_textroom_participant

typedef struct janus_textroom_participant janus_textroom_participant

## janus_textroom_room

typedef struct janus_textroom_room janus_textroom_room

## janus_textroom_session

typedef struct janus_textroom_session janus_textroom_session

## Function Documentation

## create()

janus_plugin * create | ( | void |  | ) |

## janus_textroom_create_session()

void janus_textroom_create_session | ( | janus_plugin_session * | handle,
|  | int * | error )

## janus_textroom_data_ready()

void janus_textroom_data_ready | ( | janus_plugin_session * | handle | ) |

## janus_textroom_destroy()

void janus_textroom_destroy | ( | void |  | ) |

## janus_textroom_destroy_session()

void janus_textroom_destroy_session | ( | janus_plugin_session * | handle,
|  | int * | error )

## janus_textroom_get_api_compatibility()

int janus_textroom_get_api_compatibility | ( | void |  | ) |

## janus_textroom_get_author()

const char * janus_textroom_get_author | ( | void |  | ) |

## janus_textroom_get_description()

const char * janus_textroom_get_description | ( | void |  | ) |

## janus_textroom_get_name()

const char * janus_textroom_get_name | ( | void |  | ) |

## janus_textroom_get_package()

const char * janus_textroom_get_package | ( | void |  | ) |

## janus_textroom_get_version()

int janus_textroom_get_version | ( | void |  | ) |

## janus_textroom_get_version_string()

const char * janus_textroom_get_version_string | ( | void |  | ) |

## janus_textroom_handle_admin_message()

json_t * janus_textroom_handle_admin_message | ( | json_t * | message | ) |

## janus_textroom_handle_incoming_request()

janus_plugin_result * janus_textroom_handle_incoming_request | ( | janus_plugin_session * | handle,
|  | char * | text,
|  | json_t * | json,
|  | gboolean | internal )

## janus_textroom_handle_message()

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

## janus_textroom_hangup_media()

void janus_textroom_hangup_media | ( | janus_plugin_session * | handle | ) |

## janus_textroom_incoming_data()

void janus_textroom_incoming_data | ( | janus_plugin_session * | handle,
|  | janus_plugin_data * | packet )

## janus_textroom_incoming_rtcp()

void janus_textroom_incoming_rtcp | ( | janus_plugin_session * | handle,
|  | janus_plugin_rtcp * | packet )

## janus_textroom_incoming_rtp()

void janus_textroom_incoming_rtp | ( | janus_plugin_session * | handle,
|  | janus_plugin_rtp * | packet )

## janus_textroom_init()

int janus_textroom_init | ( | janus_callbacks * | callback,
|  | const char * | config_path )

## janus_textroom_query_session()

json_t * janus_textroom_query_session | ( | janus_plugin_session * | handle | ) |

## janus_textroom_setup_media()

void janus_textroom_setup_media | ( | janus_plugin_session * | handle | ) |

## janus_textroom_slow_link()

void janus_textroom_slow_link | ( | janus_plugin_session * | handle,
|  | int | mindex,
|  | int | uplink,
|  | int | video )