Add a parameter for queue size.
authorAnuradha Suraparaju <anuradha@rd.bbc.co.uk>
Thu, 10 Jul 2008 11:40:19 +0000 (11:40 +0000)
committerBenoit Fouet <benoit.fouet@free.fr>
Thu, 10 Jul 2008 11:40:19 +0000 (11:40 +0000)
Patch by Anuradha Suraparaju anuradha rd bbc co uk

Originally committed as revision 14150 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/libdirac_libschro.c
libavcodec/libdirac_libschro.h

index 0b134c4..416eb59 100644 (file)
@@ -70,6 +70,7 @@ unsigned int ff_dirac_schro_get_video_format_idx (AVCodecContext *avccontext)
 void ff_dirac_schro_queue_init (FfmpegDiracSchroQueue *queue)
 {
     queue->p_head = queue->p_tail = NULL;
 void ff_dirac_schro_queue_init (FfmpegDiracSchroQueue *queue)
 {
     queue->p_head = queue->p_tail = NULL;
+    queue->size = 0;
 }
 
 void ff_dirac_schro_queue_free (FfmpegDiracSchroQueue *queue,
 }
 
 void ff_dirac_schro_queue_free (FfmpegDiracSchroQueue *queue,
@@ -96,6 +97,7 @@ int ff_dirac_schro_queue_push_back (FfmpegDiracSchroQueue *queue, void *p_data)
         queue->p_tail->next = p_new;
     queue->p_tail = p_new;
 
         queue->p_tail->next = p_new;
     queue->p_tail = p_new;
 
+    ++queue->size;
     return 0;
 }
 
     return 0;
 }
 
@@ -106,6 +108,7 @@ void *ff_dirac_schro_queue_pop (FfmpegDiracSchroQueue *queue)
     if (top != NULL) {
         void *data = top->data;
         queue->p_head = queue->p_head->next;
     if (top != NULL) {
         void *data = top->data;
         queue->p_head = queue->p_head->next;
+        --queue->size;
         av_freep (&top);
         return data;
     }
         av_freep (&top);
         return data;
     }
index 35fe2b1..81a0fe4 100644 (file)
@@ -80,6 +80,8 @@ typedef struct FfmpegDiracSchroQueue
     FfmpegDiracSchroQueueElement *p_head;
     /** Pointer to tail of queue */
     FfmpegDiracSchroQueueElement *p_tail;
     FfmpegDiracSchroQueueElement *p_head;
     /** Pointer to tail of queue */
     FfmpegDiracSchroQueueElement *p_tail;
+    /** Queue size*/
+    int size;
 } FfmpegDiracSchroQueue;
 
 /**
 } FfmpegDiracSchroQueue;
 
 /**