forked from Mirrors/freeswitch
add adjustable buffering to mod_shout (see example in config file)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5303 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
5ce66989b6
commit
1b5daa6b59
@ -9,6 +9,7 @@ int PySession::streamfile(char *file, PyObject *pyfunc, char *funcargs, int star
|
||||
switch_input_args_t args = { 0 }, *ap = NULL;
|
||||
struct input_callback_state cb_state = { 0 };
|
||||
switch_file_handle_t fh = { 0 };
|
||||
char *prebuf;
|
||||
|
||||
sanity_check(-1);
|
||||
cb_state.funcargs = funcargs;
|
||||
@ -31,6 +32,13 @@ int PySession::streamfile(char *file, PyObject *pyfunc, char *funcargs, int star
|
||||
ap = &args;
|
||||
}
|
||||
|
||||
if ((prebuf = switch_channel_get_variable(this->channel, "stream_prebuffer"))) {
|
||||
int maybe = atoi(prebuf);
|
||||
if (maybe > 0) {
|
||||
fh.prebuf = maybe;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
this->begin_allow_threads();
|
||||
cb_state.threadState = threadState; // pass threadState so the dtmfhandler can pick it up
|
||||
|
@ -1357,6 +1357,7 @@ static JSBool session_streamfile(JSContext * cx, JSObject * obj, uintN argc, jsv
|
||||
switch_file_handle_t fh = { 0 };
|
||||
JSFunction *function;
|
||||
switch_input_args_t args = { 0 };
|
||||
char *prebuf;
|
||||
|
||||
if (!jss || !jss->session) {
|
||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "You must call the session.originate method before calling this method!\n");
|
||||
@ -1404,6 +1405,14 @@ static JSBool session_streamfile(JSContext * cx, JSObject * obj, uintN argc, jsv
|
||||
JS_ValueToInt32(cx, argv[3], &samps);
|
||||
fh.samples = samps;
|
||||
}
|
||||
|
||||
if ((prebuf = switch_channel_get_variable(channel, "stream_prebuffer"))) {
|
||||
int maybe = atoi(prebuf);
|
||||
if (maybe > 0) {
|
||||
fh.prebuf = maybe;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
cb_state.extra = &fh;
|
||||
cb_state.ret = BOOLEAN_TO_JSVAL(JS_FALSE);
|
||||
|
Loading…
Reference in New Issue
Block a user