diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-06-29 04:08:31 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-06-29 05:23:12 +0200 |
commit | bb9d5171a7352205ac9f09c970e24938fab57165 (patch) | |
tree | 2abd874837de6e7cc0f21d1f84e13555b2eeb755 /libavformat | |
parent | dbe5f0172b4f123b15bc8ada82dd17b13c4bbbd7 (diff) | |
parent | 4578435f35888c95b12a53a12cdab612ac3fef04 (diff) | |
download | ffmpeg-bb9d5171a7352205ac9f09c970e24938fab57165.tar.gz |
Merge remote-tracking branch 'qatar/master'
* qatar/master: (21 commits)
swscale: Add Doxygen for hyscale_fast/hScale.
fate: enable lavfi-pixmt tests on big endian systems
PPC: swscale: disable altivec functions for unsupported formats
fate: merge identical pixdesc_be/le tests
swscale: Add Doxygen for yuv2planar*/yuv2packed* functions.
build: call texi2pod.pl with full path instead of symlink
build: include sub-makefiles using full path instead of symlinks
swscale: update big endian reference values after dff5a835.
wavpack: skip blocks with no samples
cosmetics: remove outdated comment that is no longer true
build: replace some addprefix/addsuffix with substitution refs
avutil: Remove unused arbitrary precision integer code.
configure: Drop check for availability of ten assembler operands.
aacenc: Save channel configuration for later use.
aacenc: Fix codebook trellising for zeroed bands.
swscale: change prototypes of scaled YUV output functions.
swscale: re-add support for non-native endianness.
swscale: disentangle yuv2rgbX_c_full() into small functions.
swscale: split yuv2packed[12X]_c() remainders into small functions.
swscale: split yuv2packedX_altivec in smaller functions.
...
Conflicts:
Makefile
configure
libavcodec/x86/dsputil_mmx.c
libavfilter/Makefile
libavformat/Makefile
libavutil/integer.c
libavutil/integer.h
libswscale/swscale.c
libswscale/swscale_internal.h
libswscale/x86/swscale_template.c
tests/ref/lavfi/pixdesc_le
tests/ref/lavfi/pixfmts_scale
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/Makefile | 2 | ||||
-rw-r--r-- | libavformat/wv.c | 13 |
2 files changed, 12 insertions, 3 deletions
diff --git a/libavformat/Makefile b/libavformat/Makefile index e5ec44bfb6..3d9017b3e4 100644 --- a/libavformat/Makefile +++ b/libavformat/Makefile @@ -342,4 +342,4 @@ OBJS-$(CONFIG_JACK_INDEV) += timefilter.o TESTPROGS = timefilter -include $(SUBDIR)../subdir.mak +include $(SRC_PATH)/subdir.mak diff --git a/libavformat/wv.c b/libavformat/wv.c index 9da416e580..b2b1eb3c62 100644 --- a/libavformat/wv.c +++ b/libavformat/wv.c @@ -110,6 +110,9 @@ static int wv_read_block_header(AVFormatContext *ctx, AVIOContext *pb, int appen size = wc->blksize; } wc->flags = AV_RL32(wc->extra + 4); + // blocks with zero samples don't contain actual audio information and should be ignored + if (!AV_RN32(wc->extra)) + return 0; //parse flags bpp = ((wc->flags & 3) + 1) << 3; chan = 1 + !(wc->flags & WV_MONO); @@ -207,8 +210,14 @@ static int wv_read_header(AVFormatContext *s, AVStream *st; wc->block_parsed = 0; - if(wv_read_block_header(s, pb, 0) < 0) - return -1; + for(;;){ + if(wv_read_block_header(s, pb, 0) < 0) + return -1; + if(!AV_RN32(wc->extra)) + avio_skip(pb, wc->blksize - 24); + else + break; + } /* now we are ready: build format streams */ st = av_new_stream(s, 0); |