[FFmpeg-cvslog] r22559 - trunk/libavformat/oggenc.c

bcoudurier subversion
Tue Mar 16 00:04:09 CET 2010


Author: bcoudurier
Date: Tue Mar 16 00:04:09 2010
New Revision: 22559

Log:
Correctly write last 0 lacing value when packet size is multiple of 255, patch by Greg Maxwell, gmaxwell at gmail dot com

Modified:
   trunk/libavformat/oggenc.c

Modified: trunk/libavformat/oggenc.c
==============================================================================
--- trunk/libavformat/oggenc.c	Tue Mar 16 00:00:53 2010	(r22558)
+++ trunk/libavformat/oggenc.c	Tue Mar 16 00:04:09 2010	(r22559)
@@ -61,7 +61,7 @@ static int ogg_write_page(AVFormatContex
     } else if (oggstream->eos)
         flags |= 4;
 
-    page_segments = FFMIN((size/255)+!!size, 255);
+    page_segments = FFMIN(size/255 + 1, 255);
 
     init_checksum(s->pb, ff_crc04C11DB7_update, 0);
     put_tag(s->pb, "OggS");
@@ -75,10 +75,9 @@ static int ogg_write_page(AVFormatContex
     put_byte(s->pb, page_segments);
     for (i = 0; i < page_segments-1; i++)
         put_byte(s->pb, 255);
-    if (size) {
-        put_byte(s->pb, size - (page_segments-1)*255);
-        put_buffer(s->pb, data, size);
-    }
+    put_byte(s->pb, size - (page_segments-1)*255);
+    put_buffer(s->pb, data, size);
+
     ogg_update_checksum(s, crc_offset);
     put_flush_packet(s->pb);
     return size;



More information about the ffmpeg-cvslog mailing list