projects
/
libav.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(from parent 1:
29b9f58
)
flacdec: When there is not enough data to read the next header block,
author
Justin Ruggles
<justin.ruggles@gmail.com>
Wed, 4 Mar 2009 01:08:26 +0000
(
01:08
+0000)
committer
Justin Ruggles
<justin.ruggles@gmail.com>
Wed, 4 Mar 2009 01:08:26 +0000
(
01:08
+0000)
reset the bitstream reader instead of skipping backwards.
Originally committed as revision 17798 to svn://svn.ffmpeg.org/ffmpeg/trunk
libavcodec/flacdec.c
patch
|
blob
|
blame
|
history
diff --git
a/libavcodec/flacdec.c
b/libavcodec/flacdec.c
index
13549d8
..
b8ae73f
100644
(file)
--- a/
libavcodec/flacdec.c
+++ b/
libavcodec/flacdec.c
@@
-229,7
+229,6
@@
void ff_flac_parse_streaminfo(AVCodecContext *avctx, struct FLACStreaminfo *s,
static int metadata_parse(FLACContext *s)
{
int i, metadata_last, metadata_type, metadata_size;
- int initial_pos= get_bits_count(&s->gb);
skip_bits_long(&s->gb, 32);
@@
-239,7
+238,8
@@
static int metadata_parse(FLACContext *s)
metadata_size = get_bits_long(&s->gb, 24);
if (get_bits_count(&s->gb) + 8*metadata_size > s->gb.size_in_bits) {
- skip_bits_long(&s->gb, initial_pos - get_bits_count(&s->gb));
+ /* need more data. reset the bitstream reader and return. */
+ init_get_bits(&s->gb, s->gb.buffer, s->gb.size_in_bits);
break;
}