From: David Flynn <dav...@woaf.net>

Also removed the have_sequence_header flag, since it is identical
to sequence_header_buffer != NULL;

Signed-off-by: David Flynn <dav...@rd.bbc.co.uk>
---
 schroedinger/schrodecoder.c |   13 ++++++++-----
 schroedinger/schrodecoder.h |    1 -
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/schroedinger/schrodecoder.c b/schroedinger/schrodecoder.c
index df9b831..134d704 100644
--- a/schroedinger/schrodecoder.c
+++ b/schroedinger/schrodecoder.c
@@ -324,7 +324,11 @@ schro_decoder_reset (SchroDecoder *decoder)
   schro_queue_clear (decoder->reference_queue);
   schro_queue_clear (decoder->output_queue);
 
-  decoder->have_sequence_header = FALSE;
+  if (decoder->sequence_header_buffer) {
+    schro_buffer_unref (decoder->sequence_header_buffer);
+  }
+  decoder->sequence_header_buffer = NULL;
+
   decoder->next_frame_number = 0;
   decoder->have_frame_number = FALSE;
 
@@ -586,7 +590,7 @@ schro_decoder_get_status_locked (SchroDecoder *decoder)
   if (decoder->error) {
     return SCHRO_DECODER_ERROR;
   }
-  if (decoder->have_sequence_header &&
+  if (decoder->sequence_header_buffer &&
       schro_queue_is_empty (decoder->output_queue)) {
     return SCHRO_DECODER_NEED_FRAME;
   }
@@ -707,9 +711,8 @@ schro_decoder_push (SchroDecoder *decoder, SchroBuffer 
*buffer)
     int ret;
 
     SCHRO_INFO ("decoding access unit");
-    if (!decoder->have_sequence_header) {
+    if (!decoder->sequence_header_buffer) {
       schro_decoder_parse_sequence_header(decoder);
-      decoder->have_sequence_header = TRUE;
       decoder->sequence_header_buffer = schro_buffer_dup (buffer);
 
       ret = SCHRO_DECODER_FIRST_ACCESS_UNIT;
@@ -759,7 +762,7 @@ schro_decoder_push (SchroDecoder *decoder, SchroBuffer 
*buffer)
 
   if (SCHRO_PARSE_CODE_IS_PICTURE(decoder->parse_code)) {
 
-    if (!decoder->have_sequence_header) {
+    if (!decoder->sequence_header_buffer) {
       SCHRO_INFO ("no access unit -- dropping picture");
       schro_buffer_unref (buffer);
       return SCHRO_DECODER_OK;
diff --git a/schroedinger/schrodecoder.h b/schroedinger/schrodecoder.h
index 5af0e01..c37de5e 100644
--- a/schroedinger/schrodecoder.h
+++ b/schroedinger/schrodecoder.h
@@ -66,7 +66,6 @@ struct _SchroDecoder {
   int next_parse_offset;
   int prev_parse_offset;
 
-  int have_sequence_header;
   SchroBuffer *sequence_header_buffer;
   int have_frame_number;
 
-- 
1.5.6.5


------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Schrodinger-devel mailing list
Schrodinger-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/schrodinger-devel

Reply via email to