Browse Source

TT#69700 handle gaps in RTP TS correctly for mix output

fixes #861

Change-Id: I89785734b0d3a3058c7579ce139d8111d9798f10
changes/61/34861/3
Richard Fuchs 6 years ago
parent
commit
1ec82768db
1 changed files with 6 additions and 0 deletions
  1. +6
    -0
      recording-daemon/mix.c

+ 6
- 0
recording-daemon/mix.c View File

@ -245,6 +245,12 @@ int mix_add(mix_t *mix, AVFrame *frame, unsigned int idx, output_t *output) {
// fill missing time
mix_silence_fill_idx_upto(mix, idx, frame->pts);
// check for pts gap. this is the opposite of silence fill-in. if the frame
// pts is behind the expected input pts, there was a gap and we reset our
// pts adjustment
if (G_UNLIKELY(frame->pts < mix->in_pts[idx]))
mix->pts_offs[idx] += mix->in_pts[idx] - frame->pts;
uint64_t next_pts = frame->pts + frame->nb_samples;
err = "failed to add frame to mixer";


Loading…
Cancel
Save