fix resampler issue

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7586 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2008-02-11 19:38:30 +00:00
parent df16edead2
commit 9571505b01
1 changed files with 6 additions and 6 deletions

View File

@ -674,7 +674,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_frame(switch_core_sess
switch (status) { switch (status) {
case SWITCH_STATUS_RESAMPLE: case SWITCH_STATUS_RESAMPLE:
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "fixme 2\n"); //switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "fixme 2\n");
case SWITCH_STATUS_SUCCESS: case SWITCH_STATUS_SUCCESS:
session->enc_write_frame.codec = session->write_codec; session->enc_write_frame.codec = session->write_codec;
session->enc_write_frame.samples = enc_frame->datalen / sizeof(int16_t); session->enc_write_frame.samples = enc_frame->datalen / sizeof(int16_t);
@ -749,9 +749,9 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_frame(switch_core_sess
session->enc_write_frame.seq = frame->seq; session->enc_write_frame.seq = frame->seq;
session->enc_write_frame.payload = session->write_codec->implementation->ianacode; session->enc_write_frame.payload = session->write_codec->implementation->ianacode;
write_frame = &session->enc_write_frame; write_frame = &session->enc_write_frame;
if (!session->read_resampler) { if (!session->write_resampler) {
switch_mutex_lock(session->resample_mutex); switch_mutex_lock(session->resample_mutex);
status = switch_resample_create(&session->read_resampler, status = switch_resample_create(&session->write_resampler,
frame->codec->implementation->actual_samples_per_second, frame->codec->implementation->actual_samples_per_second,
frame->codec->implementation->bytes_per_frame, frame->codec->implementation->bytes_per_frame,
session->write_codec->implementation->actual_samples_per_second, session->write_codec->implementation->actual_samples_per_second,
@ -774,10 +774,10 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_frame(switch_core_sess
write_frame = &session->enc_write_frame; write_frame = &session->enc_write_frame;
break; break;
case SWITCH_STATUS_NOOP: case SWITCH_STATUS_NOOP:
if (session->read_resampler) { if (session->write_resampler) {
switch_mutex_lock(session->resample_mutex); switch_mutex_lock(session->resample_mutex);
switch_resample_destroy(&session->read_resampler); switch_resample_destroy(&session->write_resampler);
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Deactivating read resampler\n"); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Deactivating write resampler\n");
switch_mutex_unlock(session->resample_mutex); switch_mutex_unlock(session->resample_mutex);
} }
enc_frame->codec = session->write_codec; enc_frame->codec = session->write_codec;