swmix: Coverity fixes

- suppressed CID 424203 - move old audio data free outside the lock
(to indicate that network_audio_buffer is not needed to be guarded by
the lock)

- suppressed CID 424228 - assign video frame data from network buffer
in the locked section - similarly as for the above, it is actually not
guarded by the lock but this is just done to suppress the warning (and
is also shorter to assign on single line)
This commit is contained in:
Martin Pulec
2023-12-01 15:04:27 +01:00
parent 248a8e0e9a
commit 4b981ddb50

View File

@@ -1309,6 +1309,10 @@ vidcap_swmix_grab(void *state, struct audio_frame **audio)
struct vidcap_swmix_state *s = (struct vidcap_swmix_state *) state;
*audio = NULL;
if (s->network_audio_buffer) {
free(s->network_audio_buffer);
s->network_audio_buffer = NULL;
}
pthread_mutex_lock(&s->lock);
while(s->completed_buffer == NULL) {
@@ -1318,11 +1322,7 @@ vidcap_swmix_grab(void *state, struct audio_frame **audio)
simple_linked_list_append(s->free_buffer_queue, s->network_buffer);
pthread_cond_signal(&s->free_buffer_queue_not_empty_cv);
}
if(s->network_audio_buffer) {
free(s->network_audio_buffer);
s->network_audio_buffer = NULL;
}
s->network_buffer = s->completed_buffer;
s->frame->tiles[0].data = s->network_buffer = s->completed_buffer;
s->completed_buffer = NULL;
s->network_audio_buffer = s->completed_audio_buffer;
s->completed_audio_buffer = NULL;
@@ -1330,8 +1330,6 @@ vidcap_swmix_grab(void *state, struct audio_frame **audio)
pthread_cond_signal(&s->frame_sent_cv);
pthread_mutex_unlock(&s->lock);
s->frame->tiles[0].data = s->network_buffer;
s->frames++;
gettimeofday(&s->t, NULL);
double seconds = tv_diff(s->t, s->t0);