mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-13 21:28:01 +02:00
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
This commit is contained in:
parent
7f4e432148
commit
71b6fc216c
@ -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,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* 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 {
|
|||||||
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;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user