diff options
Diffstat (limited to 'toxav/rtp.c')
-rwxr-xr-x | toxav/rtp.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/toxav/rtp.c b/toxav/rtp.c index a404202b..1e6296b0 100755 --- a/toxav/rtp.c +++ b/toxav/rtp.c | |||
@@ -754,11 +754,12 @@ RTPMessage *rtp_recv_msg ( RTPSession *session ) | |||
754 | return NULL; | 754 | return NULL; |
755 | } | 755 | } |
756 | 756 | ||
757 | pthread_mutex_lock(&session->mutex); | ||
758 | |||
757 | if ( session->queue_size == 0 ) { | 759 | if ( session->queue_size == 0 ) { |
758 | return NULL; | 760 | return NULL; |
759 | } | 761 | } |
760 | 762 | ||
761 | pthread_mutex_lock(&session->mutex); | ||
762 | 763 | ||
763 | RTPMessage *_retu = session->oldest_msg; | 764 | RTPMessage *_retu = session->oldest_msg; |
764 | 765 | ||
@@ -768,8 +769,11 @@ RTPMessage *rtp_recv_msg ( RTPSession *session ) | |||
768 | if ( !session->oldest_msg ) | 769 | if ( !session->oldest_msg ) |
769 | session->last_msg = NULL; | 770 | session->last_msg = NULL; |
770 | 771 | ||
772 | session->queue_size --; | ||
773 | |||
771 | pthread_mutex_unlock(&session->mutex); | 774 | pthread_mutex_unlock(&session->mutex); |
772 | 775 | ||
776 | |||
773 | return _retu; | 777 | return _retu; |
774 | } | 778 | } |
775 | 779 | ||