mirror of
https://github.com/outbackdingo/UltraGrid.git
synced 2026-03-21 18:40:16 +00:00
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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user