Commit 71b6fc21 authored by Michael Chinen's avatar Michael Chinen Committed by Justin Ruggles

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
parent 7f4e4321
...@@ -44,7 +44,7 @@ int ff_flac_decode_frame_header(AVCodecContext *avctx, GetBitContext *gb, ...@@ -44,7 +44,7 @@ int ff_flac_decode_frame_header(AVCodecContext *avctx, GetBitContext *gb,
} }
/* variable block size stream code */ /* variable block size stream code */
skip_bits1(gb); fi->is_var_size = get_bits1(gb);
/* block size and sample rate codes */ /* block size and sample rate codes */
bs_code = get_bits(gb, 4); bs_code = get_bits(gb, 4);
...@@ -78,8 +78,9 @@ int ff_flac_decode_frame_header(AVCodecContext *avctx, GetBitContext *gb, ...@@ -78,8 +78,9 @@ int ff_flac_decode_frame_header(AVCodecContext *avctx, GetBitContext *gb,
} }
/* sample or frame count */ /* sample or frame count */
if (get_utf8(gb) < 0) { fi->frame_or_sample_num = get_utf8(gb);
av_log(avctx, AV_LOG_ERROR, "utf8 fscked\n"); if (fi->frame_or_sample_num < 0) {
av_log(avctx, AV_LOG_ERROR, "sample/frame number invalid; utf8 fscked\n");
return -1; return -1;
} }
......
...@@ -81,6 +81,11 @@ typedef struct FLACFrameInfo { ...@@ -81,6 +81,11 @@ typedef struct FLACFrameInfo {
FLACCOMMONINFO FLACCOMMONINFO
int blocksize; /**< block size of the frame */ int blocksize; /**< block size of the frame */
int ch_mode; /**< channel decorrelation mode */ 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; } FLACFrameInfo;
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment