{
const char *val;
switch_media_handle_t *smh;
- switch_rtp_engine_t *a_engine;
+ switch_rtp_engine_t *a_engine = NULL, *v_engine = NULL;
switch_assert(session);
}
a_engine = &smh->engines[SWITCH_MEDIA_TYPE_AUDIO];
-
- if (!a_engine->rtp_session) return;
+ v_engine = &smh->engines[SWITCH_MEDIA_TYPE_VIDEO];
if (!zstr(input)) {
const char *s;
-
- if (!strcasecmp(input, "pause")) {
- switch_rtp_pause_jitter_buffer(a_engine->rtp_session, SWITCH_TRUE);
- return;
- } else if (!strcasecmp(input, "resume")) {
- switch_rtp_pause_jitter_buffer(a_engine->rtp_session, SWITCH_FALSE);
- return;
- } else if (!strcasecmp(input, "stop")) {
- switch_rtp_deactivate_jitter_buffer(a_engine->rtp_session);
- return;
- } else if (!strncasecmp(input, "debug:", 6)) {
- s = input + 6;
- if (s && !strcmp(s, "off")) {
- s = NULL;
+ if (a_engine->rtp_session) {
+ if (!strcasecmp(input, "pause")) {
+ switch_rtp_pause_jitter_buffer(a_engine->rtp_session, SWITCH_TRUE);
+ return;
+ } else if (!strcasecmp(input, "resume")) {
+ switch_rtp_pause_jitter_buffer(a_engine->rtp_session, SWITCH_FALSE);
+ return;
+ } else if (!strcasecmp(input, "stop")) {
+ switch_rtp_deactivate_jitter_buffer(a_engine->rtp_session);
+ return;
+ } else if (!strncasecmp(input, "debug:", 6)) {
+ s = input + 6;
+ if (s && !strcmp(s, "off")) {
+ s = NULL;
+ }
+ switch_rtp_debug_jitter_buffer(a_engine->rtp_session, s);
+ return;
+ }
+
+ switch_channel_set_variable(session->channel, "jitterbuffer_msec", input);
+ }
+
+ if (v_engine->rtp_session) {
+ if (!strncasecmp(input, "vdebug:", 7)) {
+ s = input + 7;
+
+ if (s && !strcmp(s, "off")) {
+ s = NULL;
+ }
+ switch_rtp_debug_jitter_buffer(v_engine->rtp_session, s);
+ return;
}
- switch_rtp_debug_jitter_buffer(a_engine->rtp_session, s);
- return;
}
-
- switch_channel_set_variable(session->channel, "jitterbuffer_msec", input);
}
SWITCH_DECLARE(switch_status_t) switch_rtp_debug_jitter_buffer(switch_rtp_t *rtp_session, const char *name)
{
- if (!switch_rtp_ready(rtp_session) || !rtp_session->jb) {
+ if (!switch_rtp_ready(rtp_session)) {
return SWITCH_STATUS_FALSE;
}
- stfu_n_debug(rtp_session->jb, name);
- stfu_global_set_logger(jb_logger);
+ if (rtp_session->jb) {
+ stfu_n_debug(rtp_session->jb, name);
+ stfu_global_set_logger(jb_logger);
+ } else if (rtp_session->vb) {
+ int x = 0;
+
+ if (name) x = atoi(name);
+ if (x < 0) x = 0;
+
+ switch_vb_debug_level(rtp_session->vb, x);
+ }
return SWITCH_STATUS_SUCCESS;
}