TT#14008 add locking for `bypass_seq` case

Some functions (packet_dtmf in particular) called from the sequencer
depend on upper-level locking, so make sure this happens even if we're
bypassing the sequencer and do passthrough.

Change-Id: I6c729c3ba8075736fd614b8c06e3415b9c9e5ca7
mika/coverity
Richard Fuchs 4 years ago
parent ca0c699356
commit e6405c4a2f

@ -1416,9 +1416,11 @@ static int __handler_func_sequencer(struct media_packet *mp, struct transcode_pa
if (packet->bypass_seq) { if (packet->bypass_seq) {
// bypass sequencer // bypass sequencer
__ssrc_lock_both(mp);
int ret = packet->func(ch, ch, packet, mp); int ret = packet->func(ch, ch, packet, mp);
if (ret != 1) if (ret != 1)
__transcode_packet_free(packet); __transcode_packet_free(packet);
__ssrc_unlock_both(mp);
goto out_ch; goto out_ch;
} }

Loading…
Cancel
Save