summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2009-06-02 18:01:49 +0000
committerNanang Izzuddin <nanang@teluu.com>2009-06-02 18:01:49 +0000
commit652d6d5fc9978d4a3db5fb3fb03acf75da5a24db (patch)
tree49048271e9669ec0aac2c76f0eb3f59e13f917fd
parente4510de9ba75d180907c01745bdd4028ad27d2ae (diff)
Ticket #874: Updated some pjmedia codecs to maintain timestamp.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2735 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjmedia/src/pjmedia-codec/g722.c2
-rw-r--r--pjmedia/src/pjmedia-codec/g7221.c3
-rw-r--r--pjmedia/src/pjmedia-codec/gsm.c2
-rw-r--r--pjmedia/src/pjmedia-codec/l16.c2
-rw-r--r--pjmedia/src/pjmedia-codec/passthrough.c4
-rw-r--r--pjmedia/src/pjmedia/g711.c2
6 files changed, 15 insertions, 0 deletions
diff --git a/pjmedia/src/pjmedia-codec/g722.c b/pjmedia/src/pjmedia-codec/g722.c
index 9449fa61..a666014d 100644
--- a/pjmedia/src/pjmedia-codec/g722.c
+++ b/pjmedia/src/pjmedia-codec/g722.c
@@ -578,6 +578,7 @@ static pj_status_t g722_codec_encode(pjmedia_codec *codec,
}
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 @@ static pj_status_t g722_codec_decode(pjmedia_codec *codec,
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 fcaebde2..6245dd5c 100644
--- a/pjmedia/src/pjmedia-codec/g7221.c
+++ b/pjmedia/src/pjmedia-codec/g7221.c
@@ -823,6 +823,7 @@ static pj_status_t codec_encode( pjmedia_codec *codec,
output->type = PJMEDIA_FRAME_TYPE_AUDIO;
output->size = codec_data->frame_size;
+ output->timestamp = input->timestamp;
return PJ_SUCCESS;
}
@@ -862,6 +863,8 @@ static pj_status_t codec_decode( pjmedia_codec *codec,
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 3739ca72..2ecd03a9 100644
--- a/pjmedia/src/pjmedia-codec/gsm.c
+++ b/pjmedia/src/pjmedia-codec/gsm.c
@@ -566,6 +566,7 @@ static pj_status_t gsm_codec_encode( pjmedia_codec *codec,
}
output->type = PJMEDIA_FRAME_TYPE_AUDIO;
+ output->timestamp = input->timestamp;
return PJ_SUCCESS;
}
@@ -595,6 +596,7 @@ static pj_status_t gsm_codec_decode( pjmedia_codec *codec,
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 2789498e..7e86ac7e 100644
--- a/pjmedia/src/pjmedia-codec/l16.c
+++ b/pjmedia/src/pjmedia-codec/l16.c
@@ -656,6 +656,7 @@ static pj_status_t l16_encode(pjmedia_codec *codec,
/* Done */
output->type = PJMEDIA_FRAME_TYPE_AUDIO;
output->size = input->size;
+ output->timestamp = input->timestamp;
return PJ_SUCCESS;
}
@@ -690,6 +691,7 @@ static pj_status_t l16_decode(pjmedia_codec *codec,
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 0374bc00..3604cb59 100644
--- a/pjmedia/src/pjmedia-codec/passthrough.c
+++ b/pjmedia/src/pjmedia-codec/passthrough.c
@@ -780,6 +780,8 @@ static pj_status_t codec_encode( pjmedia_codec *codec,
}
}
+ output->timestamp = input->timestamp;
+
return PJ_SUCCESS;
}
@@ -815,6 +817,7 @@ static pj_status_t codec_decode( pjmedia_codec *codec,
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 @@ static pj_status_t codec_decode( pjmedia_codec *codec,
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 49188a32..2d822da3 100644
--- a/pjmedia/src/pjmedia/g711.c
+++ b/pjmedia/src/pjmedia/g711.c
@@ -539,6 +539,7 @@ static pj_status_t g711_encode(pjmedia_codec *codec,
output->type = PJMEDIA_FRAME_TYPE_AUDIO;
output->size = (input->size >> 1);
+ output->timestamp = input->timestamp;
return PJ_SUCCESS;
}
@@ -582,6 +583,7 @@ static pj_status_t g711_decode(pjmedia_codec *codec,
output->type = PJMEDIA_FRAME_TYPE_AUDIO;
output->size = (input->size << 1);
+ output->timestamp = input->timestamp;
#if !PLC_DISABLED
if (priv->plc_enabled)