From c403ce54d2699f9ccff5e679cd2b74d3179ae3d5 Mon Sep 17 00:00:00 2001
From: Anthony Minessale <anthony.minessale@gmail.com>
Date: Fri, 28 Mar 2008 15:27:17 +0000
Subject: [PATCH] tweak

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7975 d0543943-73ff-0310-b7d9-9358b9ac24b2
---
 src/switch_core_io.c | 22 ++++++++--------------
 1 file changed, 8 insertions(+), 14 deletions(-)

diff --git a/src/switch_core_io.c b/src/switch_core_io.c
index acce6ed66a..5f8a76189d 100644
--- a/src/switch_core_io.c
+++ b/src/switch_core_io.c
@@ -384,12 +384,14 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_frame(switch_core_sessi
 					switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "fixme 1\n");
 				case SWITCH_STATUS_SUCCESS:
 					session->enc_read_frame.samples = session->read_codec->implementation->bytes_per_frame / sizeof(int16_t);
-					session->enc_read_frame.timestamp = read_frame->timestamp;
-					session->enc_read_frame.rate = read_frame->rate;
-					session->enc_read_frame.ssrc = read_frame->ssrc;
-					session->enc_read_frame.seq = read_frame->seq;
-					session->enc_read_frame.m = read_frame->m;
-					session->enc_read_frame.payload = session->read_codec->implementation->ianacode;
+					if (perfect) {
+						session->enc_read_frame.timestamp = read_frame->timestamp;
+						session->enc_read_frame.rate = read_frame->rate;
+						session->enc_read_frame.ssrc = read_frame->ssrc;
+						session->enc_read_frame.seq = read_frame->seq;
+						session->enc_read_frame.m = read_frame->m;
+						session->enc_read_frame.payload = session->read_codec->implementation->ianacode;
+					}
 					*frame = &session->enc_read_frame;
 					break;
 				case SWITCH_STATUS_NOOP:
@@ -783,10 +785,8 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_frame(switch_core_sess
 							case SWITCH_STATUS_RESAMPLE:
 								session->enc_write_frame.codec = session->write_codec;
 								session->enc_write_frame.samples = enc_frame->datalen / sizeof(int16_t);
-								session->enc_write_frame.timestamp = frame->timestamp;
 								session->enc_write_frame.m = frame->m;
 								session->enc_write_frame.ssrc = frame->ssrc;
-								session->enc_write_frame.seq = frame->seq;
 								session->enc_write_frame.payload = session->write_codec->implementation->ianacode;
 								write_frame = &session->enc_write_frame;
 								if (!session->write_resampler) {
@@ -806,10 +806,6 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_frame(switch_core_sess
 							case SWITCH_STATUS_SUCCESS:
 								session->enc_write_frame.codec = session->write_codec;
 								session->enc_write_frame.samples = enc_frame->datalen / sizeof(int16_t);
-								if (!ptime_mismatch) {
-									session->enc_write_frame.timestamp = frame->timestamp;
-									session->enc_write_frame.seq = frame->seq;
-								}
 								session->enc_write_frame.m = frame->m;
 								session->enc_write_frame.ssrc = frame->ssrc;
 								session->enc_write_frame.payload = session->write_codec->implementation->ianacode;
@@ -824,10 +820,8 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_frame(switch_core_sess
 								}
 								enc_frame->codec = session->write_codec;
 								enc_frame->samples = enc_frame->datalen / sizeof(int16_t);
-								enc_frame->timestamp = frame->timestamp;
 								enc_frame->m = frame->m;
 								enc_frame->ssrc = frame->ssrc;
-								enc_frame->seq = frame->seq;
 								enc_frame->payload = enc_frame->codec->implementation->ianacode;
 								write_frame = enc_frame;
 								status = SWITCH_STATUS_SUCCESS;