Ticket #874: Updated some pjmedia codecs to maintain timestamp.

git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2735 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjmedia/src/pjmedia-codec/g722.c b/pjmedia/src/pjmedia-codec/g722.c
index 9449fa6..a666014 100644
--- a/pjmedia/src/pjmedia-codec/g722.c
+++ b/pjmedia/src/pjmedia-codec/g722.c
@@ -578,6 +578,7 @@
     }
 
     output->type = PJMEDIA_FRAME_TYPE_AUDIO;
+    output->timestamp = input->timestamp;
     
     TRACE_((THIS_FILE, "G722 encode(): size=%d", output->size));
     return PJ_SUCCESS;
@@ -624,6 +625,7 @@
     pj_assert(output->size == SAMPLES_PER_FRAME);
     output->size = SAMPLES_PER_FRAME * 2;
     output->type = PJMEDIA_FRAME_TYPE_AUDIO;
+    output->timestamp = input->timestamp;
 
 #if !PLC_DISABLED
     if (g722_data->plc_enabled)
diff --git a/pjmedia/src/pjmedia-codec/g7221.c b/pjmedia/src/pjmedia-codec/g7221.c
index fcaebde..6245dd5 100644
--- a/pjmedia/src/pjmedia-codec/g7221.c
+++ b/pjmedia/src/pjmedia-codec/g7221.c
@@ -823,6 +823,7 @@
 
     output->type = PJMEDIA_FRAME_TYPE_AUDIO;
     output->size = codec_data->frame_size;
+    output->timestamp = input->timestamp;
 
     return PJ_SUCCESS;
 }
@@ -862,6 +863,8 @@
 	bitobj.current_word =  *bitobj.code_word_ptr;
 	bitobj.code_bit_count = 0;
 	bitobj.number_of_bits_left = codec_data->frame_size_bits;
+
+	output->timestamp = input->timestamp;
     } else {
 	pj_bzero(&bitobj, sizeof(bitobj));
 	frame_error_flag = 1;
diff --git a/pjmedia/src/pjmedia-codec/gsm.c b/pjmedia/src/pjmedia-codec/gsm.c
index 3739ca7..2ecd03a 100644
--- a/pjmedia/src/pjmedia-codec/gsm.c
+++ b/pjmedia/src/pjmedia-codec/gsm.c
@@ -566,6 +566,7 @@
     }
 
     output->type = PJMEDIA_FRAME_TYPE_AUDIO;
+    output->timestamp = input->timestamp;
 
     return PJ_SUCCESS;
 }
@@ -595,6 +596,7 @@
 
     output->size = 320;
     output->type = PJMEDIA_FRAME_TYPE_AUDIO;
+    output->timestamp = input->timestamp;
 
 #if !PLC_DISABLED
     if (gsm_data->plc_enabled)
diff --git a/pjmedia/src/pjmedia-codec/l16.c b/pjmedia/src/pjmedia-codec/l16.c
index 2789498..7e86ac7 100644
--- a/pjmedia/src/pjmedia-codec/l16.c
+++ b/pjmedia/src/pjmedia-codec/l16.c
@@ -656,6 +656,7 @@
     /* Done */
     output->type = PJMEDIA_FRAME_TYPE_AUDIO;
     output->size = input->size;
+    output->timestamp = input->timestamp;
 
     return PJ_SUCCESS;
 }
@@ -690,6 +691,7 @@
 
     output->type = PJMEDIA_FRAME_TYPE_AUDIO;
     output->size = input->size;
+    output->timestamp = input->timestamp;
 
 #if !PLC_DISABLED
     if (l16_data->plc_enabled)
diff --git a/pjmedia/src/pjmedia-codec/passthrough.c b/pjmedia/src/pjmedia-codec/passthrough.c
index 0374bc0..3604cb5 100644
--- a/pjmedia/src/pjmedia-codec/passthrough.c
+++ b/pjmedia/src/pjmedia-codec/passthrough.c
@@ -780,6 +780,8 @@
 	}
     }
 
+    output->timestamp = input->timestamp;
+
     return PJ_SUCCESS;
 }
 
@@ -815,6 +817,7 @@
 	pjmedia_frame_ext_append_subframe(output_, input_.buf, 
 					  (pj_uint16_t)(input_.size << 3),
 					  (pj_uint16_t)desc->samples_per_frame);
+	output->timestamp = input->timestamp;
 	
 	return PJ_SUCCESS;
     }
@@ -823,6 +826,7 @@
     pjmedia_frame_ext_append_subframe(output_, input->buf, 
 				      (pj_uint16_t)(input->size << 3),
 				      (pj_uint16_t)desc->samples_per_frame);
+    output->timestamp = input->timestamp;
 
     return PJ_SUCCESS;
 }