handle->seekable = 0;
handle->speed = 0;
handle->private_info = context;
+ handle->interval = source->interval;
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Opening Stream [%s] %dhz\n", path, handle->samplerate);
switch_mutex_init(&context->audio_mutex, SWITCH_MUTEX_NESTED, handle->memory_pool);
if (switch_buffer_create_dynamic(&context->audio_buffer, 512, 1024, 0) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Memory Error!\n");
return SWITCH_STATUS_MEMERR;
- }
+ }
context->source = source;
uint8_t buf[1024];
int rlen;
int is_local = 0;
+ uint32_t interval = 20000;
if (strstr(path_info + 7, "://")) {
file = strdup(path_info + 7);
path_info + 7);
-
+ if (fh.interval) {
+ interval = fh.interval;
+ }
+
for(;;) {
switch_size_t samples = sizeof(buf) / 2;
switch_core_file_read(&fh, buf, &samples);
if (is_local) {
- switch_yield(20000);
+ switch_yield(interval);
}
if (!samples) {