summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/libdirac_libschro.c3
-rw-r--r--libavcodec/libdirac_libschro.h2
2 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/libdirac_libschro.c b/libavcodec/libdirac_libschro.c
index 0b134c42e5..416eb59804 100644
--- a/libavcodec/libdirac_libschro.c
+++ b/libavcodec/libdirac_libschro.c
@@ -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;
+ queue->size = 0;
}
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->size;
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;
+ --queue->size;
av_freep (&top);
return data;
}
diff --git a/libavcodec/libdirac_libschro.h b/libavcodec/libdirac_libschro.h
index 35fe2b1a69..81a0fe4b3e 100644
--- a/libavcodec/libdirac_libschro.h
+++ b/libavcodec/libdirac_libschro.h
@@ -80,6 +80,8 @@ typedef struct FfmpegDiracSchroQueue
FfmpegDiracSchroQueueElement *p_head;
/** Pointer to tail of queue */
FfmpegDiracSchroQueueElement *p_tail;
+ /** Queue size*/
+ int size;
} FfmpegDiracSchroQueue;
/**