comparison libmpdemux/tvi_v4l.c @ 8671:e1337452fe62

Obvious patch to avoid undefined behaviour of multiple side effects in a single expression. patch by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>
author arpi
date Tue, 31 Dec 2002 02:21:28 +0000
parents cf1d4f48aecf
children c9c309ab9891
comparison
equal deleted inserted replaced
8670:c5a28d4445cd 8671:e1337452fe62
1375 1375
1376 pthread_mutex_lock(&priv->video_buffer_mutex); 1376 pthread_mutex_lock(&priv->video_buffer_mutex);
1377 interval = (double)priv->video_timebuffer[priv->video_head]*1e-6; 1377 interval = (double)priv->video_timebuffer[priv->video_head]*1e-6;
1378 memcpy(buffer, priv->video_ringbuffer[priv->video_head], len); 1378 memcpy(buffer, priv->video_ringbuffer[priv->video_head], len);
1379 priv->video_cnt--; 1379 priv->video_cnt--;
1380 priv->video_head = (++priv->video_head)%priv->video_buffer_size_current; 1380 priv->video_head = (priv->video_head+1)%priv->video_buffer_size_current;
1381 pthread_mutex_unlock(&priv->video_buffer_mutex); 1381 pthread_mutex_unlock(&priv->video_buffer_mutex);
1382 return interval; 1382 return interval;
1383 } 1383 }
1384 1384
1385 static int get_video_framesize(priv_t *priv) 1385 static int get_video_framesize(priv_t *priv)
1445 1445
1446 if ((priv->audio_tail+1) % priv->audio_buffer_size == priv->audio_head) { 1446 if ((priv->audio_tail+1) % priv->audio_buffer_size == priv->audio_head) {
1447 mp_msg(MSGT_TV, MSGL_ERR, "\ntoo bad - dropping audio frame !\n"); 1447 mp_msg(MSGT_TV, MSGL_ERR, "\ntoo bad - dropping audio frame !\n");
1448 priv->audio_drop++; 1448 priv->audio_drop++;
1449 } else { 1449 } else {
1450 priv->audio_tail = (++priv->audio_tail) % priv->audio_buffer_size; 1450 priv->audio_tail = (priv->audio_tail+1) % priv->audio_buffer_size;
1451 priv->audio_cnt++; 1451 priv->audio_cnt++;
1452 } 1452 }
1453 } 1453 }
1454 return NULL; 1454 return NULL;
1455 } 1455 }
1469 1469
1470 while (priv->audio_head == priv->audio_tail) { 1470 while (priv->audio_head == priv->audio_tail) {
1471 usleep(10000); 1471 usleep(10000);
1472 } 1472 }
1473 memcpy(buffer, priv->audio_ringbuffer+priv->audio_head*priv->audio_in.blocksize, len); 1473 memcpy(buffer, priv->audio_ringbuffer+priv->audio_head*priv->audio_in.blocksize, len);
1474 priv->audio_head = (++priv->audio_head) % priv->audio_buffer_size; 1474 priv->audio_head = (priv->audio_head+1) % priv->audio_buffer_size;
1475 priv->audio_cnt--; 1475 priv->audio_cnt--;
1476 priv->audio_sent_blocks_total++; 1476 priv->audio_sent_blocks_total++;
1477 return (double)priv->audio_sent_blocks_total*priv->audio_secs_per_block; 1477 return (double)priv->audio_sent_blocks_total*priv->audio_secs_per_block;
1478 } 1478 }
1479 1479