Browse Source

MT#55283 lock payload tracker

Change-Id: I22ef38f4b32ec6a710c7120378080d95dfa00b60
Warned-by: Coverity
rfuchs/2010
Richard Fuchs 3 months ago
parent
commit
527e7b56b6
2 changed files with 3 additions and 2 deletions
  1. +2
    -0
      daemon/codec.c
  2. +1
    -2
      daemon/ssrc.c

+ 2
- 0
daemon/codec.c View File

@ -3932,6 +3932,8 @@ static void __dtx_send_later(struct codec_timer *ct) {
else {
shutdown = true; // default if no last used PTs are known
LOCK(&se->tracker.lock);
for (int i = 0; i < G_N_ELEMENTS(se->tracker.last_pts); i++) {
int pt_idx = se->tracker.last_pt_idx - i;
pt_idx += G_N_ELEMENTS(se->tracker.last_pts);


+ 1
- 2
daemon/ssrc.c View File

@ -651,7 +651,7 @@ void payload_tracker_add(struct payload_tracker *t, int pt) {
if (G_UNLIKELY(pt < 0) || G_UNLIKELY(pt >= 128))
return;
mutex_lock(&t->lock);
LOCK(&t->lock);
int pt_idx = (t->last_pt_idx + 1) % G_N_ELEMENTS(t->last_pts);
t->last_pts[pt_idx] = pt;
@ -698,7 +698,6 @@ void payload_tracker_add(struct payload_tracker *t, int pt) {
out:
if (++t->last_idx >= G_N_ELEMENTS(t->last))
t->last_idx = 0;
mutex_unlock(&t->lock);
}


Loading…
Cancel
Save