FS-6627
This commit is contained in:
parent
1a58f05891
commit
c71f89a39b
|
@ -670,6 +670,7 @@ static switch_status_t shout_file_open(switch_file_handle_t *handle, const char
|
||||||
context->stream_url = switch_core_sprintf(context->memory_pool, "http://%s", path);
|
context->stream_url = switch_core_sprintf(context->memory_pool, "http://%s", path);
|
||||||
context->prebuf = handle->prebuf;
|
context->prebuf = handle->prebuf;
|
||||||
launch_read_stream_thread(context);
|
launch_read_stream_thread(context);
|
||||||
|
switch_cond_next();
|
||||||
} else {
|
} else {
|
||||||
handle->seekable = 1;
|
handle->seekable = 1;
|
||||||
|
|
||||||
|
@ -681,8 +682,26 @@ static switch_status_t shout_file_open(switch_file_handle_t *handle, const char
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (handle->handler) {
|
||||||
|
int sanity = 1000;
|
||||||
|
|
||||||
|
while(--sanity > 0 && !switch_buffer_inuse(context->audio_buffer)) {
|
||||||
|
switch_yield(20000);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!sanity) {
|
||||||
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error opening %s (data stream timeout)\n", path);
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
mpg123_getformat(context->mh, &rate, &channels, &encoding);
|
mpg123_getformat(context->mh, &rate, &channels, &encoding);
|
||||||
|
|
||||||
|
if (!channels || !rate) {
|
||||||
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error opening %s (invalid rate or channel count)\n", path);
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
handle->channels = channels;
|
handle->channels = channels;
|
||||||
handle->samplerate = rate;
|
handle->samplerate = rate;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue