aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Chinen <mchinen@gmail.com>2010-12-07 13:50:13 +0000
committerJustin Ruggles <justin.ruggles@gmail.com>2010-12-07 13:50:13 +0000
commit71b6fc216c00f32f834cd49465341174e74ea3b9 (patch)
treea5120a9c24b51fa5981c8b268ec15e5de3395f2d
parent7f4e432148779b338a6199f50eb70845c78fd060 (diff)
downloadffmpeg-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.c7
-rw-r--r--libavcodec/flac.h5
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;
/**