Skip to content
Snippets Groups Projects
Commit f2765c02 authored by Boris Grozev's avatar Boris Grozev
Browse files

Propagates RTP timestamps.

parent f3f6587f
No related branches found
No related tags found
No related merge requests found
...@@ -214,6 +214,7 @@ public int process(Buffer inputBuffer, Buffer outputBuffer) ...@@ -214,6 +214,7 @@ public int process(Buffer inputBuffer, Buffer outputBuffer)
outputBuffer.setHeader(inputBuffer.getHeader()); outputBuffer.setHeader(inputBuffer.getHeader());
outputBuffer.setSequenceNumber(inputBuffer.getSequenceNumber()); outputBuffer.setSequenceNumber(inputBuffer.getSequenceNumber());
outputBuffer.setTimeStamp(inputBuffer.getTimeStamp()); outputBuffer.setTimeStamp(inputBuffer.getTimeStamp());
outputBuffer.setRtpTimeStamp(inputBuffer.getRtpTimeStamp());
outputBuffer.setFlags(inputBuffer.getFlags()); outputBuffer.setFlags(inputBuffer.getFlags());
outputBuffer.setDiscard(inputBuffer.isDiscard()); outputBuffer.setDiscard(inputBuffer.isDiscard());
outputBuffer.setEOM(inputBuffer.isEOM()); outputBuffer.setEOM(inputBuffer.isEOM());
......
...@@ -256,6 +256,13 @@ protected int doProcess(Buffer inBuf, Buffer outBuf) ...@@ -256,6 +256,13 @@ protected int doProcess(Buffer inBuf, Buffer outBuf)
| (((in == null) || (inLength == 0)) | (((in == null) || (inLength == 0))
? BUFFER_FLAG_PLC ? BUFFER_FLAG_PLC
: BUFFER_FLAG_FEC)); : BUFFER_FLAG_FEC));
long ts = inBuf.getRtpTimeStamp();
ts -= lostSeqNoCount * lastFrameSizeInSamplesPerChannel;
if (ts < 0)
ts += 1L<<32;
outBuf.setRtpTimeStamp(ts);
nbDecodedFec++; nbDecodedFec++;
} }
...@@ -310,7 +317,7 @@ protected int doProcess(Buffer inBuf, Buffer outBuf) ...@@ -310,7 +317,7 @@ protected int doProcess(Buffer inBuf, Buffer outBuf)
if (outLength > 0) if (outLength > 0)
{ {
outBuf.setDuration( outBuf.setDuration(
totalFrameSizeInSamplesPerChannel * channels * 1000L * 1000L totalFrameSizeInSamplesPerChannel * 1000L * 1000L * 1000L
/ outputSampleRate); / outputSampleRate);
outBuf.setFormat(getOutputFormat()); outBuf.setFormat(getOutputFormat());
outBuf.setLength(outLength); outBuf.setLength(outLength);
......
...@@ -499,6 +499,7 @@ private int read(Buffer in, Buffer out, int outOffset) ...@@ -499,6 +499,7 @@ private int read(Buffer in, Buffer out, int outOffset)
out.setHeader(in.getHeader()); out.setHeader(in.getHeader());
out.setSequenceNumber(in.getSequenceNumber()); out.setSequenceNumber(in.getSequenceNumber());
out.setTimeStamp(in.getTimeStamp()); out.setTimeStamp(in.getTimeStamp());
out.setRtpTimeStamp(in.getRtpTimeStamp());
/* /*
* It's possible that we've split the input into multiple * It's possible that we've split the input into multiple
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment