提交 59de6b8c authored 作者: Anthony Minessale's avatar Anthony Minessale

FSCORE-320

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12428 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 df138406
...@@ -122,7 +122,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_bug_read(switch_media_bug_t *b ...@@ -122,7 +122,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_bug_read(switch_media_bug_t *b
return SWITCH_STATUS_FALSE; return SWITCH_STATUS_FALSE;
} }
if (!(bug->raw_read_buffer && bug->raw_write_buffer)) { if (!(bug->raw_read_buffer && (bug->raw_write_buffer || !switch_test_flag(bug, SMBF_WRITE_STREAM)))) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%sBuffer Error\n", switch_channel_get_name(bug->session->channel)); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%sBuffer Error\n", switch_channel_get_name(bug->session->channel));
} }
...@@ -136,6 +136,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_bug_read(switch_media_bug_t *b ...@@ -136,6 +136,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_bug_read(switch_media_bug_t *b
} }
switch_mutex_unlock(bug->read_mutex); switch_mutex_unlock(bug->read_mutex);
if (switch_test_flag(bug, SMBF_WRITE_STREAM)) {
switch_mutex_lock(bug->write_mutex); switch_mutex_lock(bug->write_mutex);
datalen = (uint32_t) switch_buffer_read(bug->raw_write_buffer, bug->data, bytes); datalen = (uint32_t) switch_buffer_read(bug->raw_write_buffer, bug->data, bytes);
if (datalen < bytes) { if (datalen < bytes) {
...@@ -143,6 +144,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_bug_read(switch_media_bug_t *b ...@@ -143,6 +144,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_bug_read(switch_media_bug_t *b
datalen = bytes; datalen = bytes;
} }
switch_mutex_unlock(bug->write_mutex); switch_mutex_unlock(bug->write_mutex);
}
tp = bug->tmp; tp = bug->tmp;
dp = (int16_t *) bug->data; dp = (int16_t *) bug->data;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论