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;
}
diff --git a/pjmedia/src/pjmedia/g711.c b/pjmedia/src/pjmedia/g711.c
index 49188a3..2d822da 100644
--- a/pjmedia/src/pjmedia/g711.c
+++ b/pjmedia/src/pjmedia/g711.c
@@ -539,6 +539,7 @@
output->type = PJMEDIA_FRAME_TYPE_AUDIO;
output->size = (input->size >> 1);
+ output->timestamp = input->timestamp;
return PJ_SUCCESS;
}
@@ -582,6 +583,7 @@
output->type = PJMEDIA_FRAME_TYPE_AUDIO;
output->size = (input->size << 1);
+ output->timestamp = input->timestamp;
#if !PLC_DISABLED
if (priv->plc_enabled)