[FFmpeg-cvslog] r25911 - in trunk/libavcodec: flac.c flac.h

jbr subversion
Tue Dec 7 14:50:13 CET 2010


Author: jbr
Date: Tue Dec  7 14:50:13 2010
New Revision: 25911

Log:
Add is_var_size and frame_or_sample_num to FLACFrameInfo and read them in 
ff_flac_decode_frame_header().
Patch by Michael Chinen [mchinen at gmail]

Modified:
   trunk/libavcodec/flac.c
   trunk/libavcodec/flac.h

Modified: trunk/libavcodec/flac.c
==============================================================================
--- trunk/libavcodec/flac.c	Tue Dec  7 14:42:52 2010	(r25910)
+++ trunk/libavcodec/flac.c	Tue Dec  7 14:50:13 2010	(r25911)
@@ -44,7 +44,7 @@ int ff_flac_decode_frame_header(AVCodecC
     }
 
     /* variable block size stream code */
-    skip_bits1(gb);
+    fi->is_var_size = get_bits1(gb);
 
     /* block size and sample rate codes */
     bs_code = get_bits(gb, 4);
@@ -78,8 +78,9 @@ int ff_flac_decode_frame_header(AVCodecC
     }
 
     /* sample or frame count */
-    if (get_utf8(gb) < 0) {
-        av_log(avctx, AV_LOG_ERROR, "utf8 fscked\n");
+    fi->frame_or_sample_num = get_utf8(gb);
+    if (fi->frame_or_sample_num < 0) {
+        av_log(avctx, AV_LOG_ERROR, "sample/frame number invalid; utf8 fscked\n");
         return -1;
     }
 

Modified: trunk/libavcodec/flac.h
==============================================================================
--- trunk/libavcodec/flac.h	Tue Dec  7 14:42:52 2010	(r25910)
+++ trunk/libavcodec/flac.h	Tue Dec  7 14:50:13 2010	(r25911)
@@ -81,6 +81,11 @@ typedef struct FLACFrameInfo {
     FLACCOMMONINFO
     int blocksize;          /**< block size of the frame                 */
     int ch_mode;            /**< channel decorrelation mode              */
+    int64_t frame_or_sample_num;    /**< frame number or sample number   */
+    int is_var_size;                /**< specifies if the stream uses variable
+                                         block sizes or a fixed block size;
+                                         also determines the meaning of
+                                         frame_or_sample_num             */
 } FLACFrameInfo;
 
 /**



More information about the ffmpeg-cvslog mailing list