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

jbr subversion
Sun Jan 25 03:27:02 CET 2009


Author: jbr
Date: Sun Jan 25 03:27:02 2009
New Revision: 16768

Log:
flacdec: get total number of samples from STREAMINFO

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

Modified: trunk/libavcodec/flac.h
==============================================================================
--- trunk/libavcodec/flac.h	Sun Jan 25 02:21:10 2009	(r16767)
+++ trunk/libavcodec/flac.h	Sun Jan 25 03:27:02 2009	(r16768)
@@ -53,6 +53,7 @@ enum {
     int samplerate;         /**< sample rate                             */\
     int channels;           /**< number of channels                      */\
     int bps;                /**< bits-per-sample                         */\
+    int64_t samples;        /**< total number of samples                 */\
 
 typedef struct FLACStreaminfo {
     FLACSTREAMINFO

Modified: trunk/libavcodec/flacdec.c
==============================================================================
--- trunk/libavcodec/flacdec.c	Sun Jan 25 02:21:10 2009	(r16767)
+++ trunk/libavcodec/flacdec.c	Sun Jan 25 03:27:02 2009	(r16768)
@@ -169,7 +169,8 @@ void ff_flac_parse_streaminfo(AVCodecCon
     avctx->channels = s->channels;
     avctx->sample_rate = s->samplerate;
 
-    skip_bits(&gb, 36); /* total num of samples */
+    s->samples  = get_bits_long(&gb, 32) << 4;
+    s->samples |= get_bits_long(&gb, 4);
 
     skip_bits(&gb, 64); /* md5 sum */
     skip_bits(&gb, 64); /* md5 sum */




More information about the ffmpeg-cvslog mailing list