FS-10209: [freeswitch-core,mod_av] Add auth params to file handles #resolve

This commit is contained in:
Anthony Minessale 2017-04-04 11:42:29 -05:00
parent 9c61f364f0
commit acd0384ee5
3 changed files with 21 additions and 0 deletions

View File

@ -340,6 +340,8 @@ typedef struct switch_mm_s {
int scale_w;
int scale_h;
switch_img_fmt_t fmt;
char *auth_username;
char *auth_password;
} switch_mm_t;
/*! an abstract representation of a file handle (some parameters based on compat with libsndfile) */

View File

@ -391,6 +391,17 @@ static switch_status_t add_stream(MediaStream *mst, AVFormatContext *fc, AVCodec
c->codec_id = codec_id;
if (mm->auth_username) {
char tmp[256] = "";
switch_snprintf(tmp, sizeof(tmp), "pubUser=%s", mm->auth_username);
av_set_options_string(c, tmp, "=", ":");
if (mm->auth_password) {
switch_snprintf(tmp, sizeof(tmp), "pubPasswd=%s", mm->auth_password);
av_set_options_string(c, tmp, "=", ":");
}
}
/* Resolution must be a multiple of two. */
c->width = mst->width;
c->height = mst->height;

View File

@ -177,6 +177,14 @@ SWITCH_DECLARE(switch_status_t) switch_core_perform_file_open(const char *file,
fh->mm.try_hardware_encoder = switch_true(val);
}
if ((val = switch_event_get_header(fh->params, "auth_username"))) {
fh->mm.auth_username = switch_core_strdup(fh->memory_pool, val);
}
if ((val = switch_event_get_header(fh->params, "auth_password"))) {
fh->mm.auth_password = switch_core_strdup(fh->memory_pool, val);
}
if ((val = switch_event_get_header(fh->params, "fps"))) {
float ftmp = atof(val);
if (ftmp > 0.0f) {