diff options
author | Michael Chinen <mchinen@gmail.com> | 2010-12-07 13:50:13 +0000 |
---|---|---|
committer | Justin Ruggles <justin.ruggles@gmail.com> | 2010-12-07 13:50:13 +0000 |
commit | 71b6fc216c00f32f834cd49465341174e74ea3b9 (patch) | |
tree | a5120a9c24b51fa5981c8b268ec15e5de3395f2d | |
parent | 7f4e432148779b338a6199f50eb70845c78fd060 (diff) | |
download | ffmpeg-71b6fc216c00f32f834cd49465341174e74ea3b9.tar.gz |
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]
Originally committed as revision 25911 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavcodec/flac.c | 7 | ||||
-rw-r--r-- | libavcodec/flac.h | 5 |
2 files changed, 9 insertions, 3 deletions
diff --git a/libavcodec/flac.c b/libavcodec/flac.c index 2e3197f483..083578ebb9 100644 --- a/libavcodec/flac.c +++ b/libavcodec/flac.c @@ -44,7 +44,7 @@ int ff_flac_decode_frame_header(AVCodecContext *avctx, GetBitContext *gb, } /* 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(AVCodecContext *avctx, GetBitContext *gb, } /* 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; } diff --git a/libavcodec/flac.h b/libavcodec/flac.h index fe38463976..27f0090328 100644 --- a/libavcodec/flac.h +++ b/libavcodec/flac.h @@ -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; /** |