Due to seeking, the decoder should not assume anything about the ordering of the packets. The first packet received could be in the middle of the stream, or the user could seek back to the start of the stream during decoding. --- libavcodec/vorbisdec.c | 7 ------- tests/fate/vorbis.mak | 20 ++++++++++++++++++++ 2 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/libavcodec/vorbisdec.c b/libavcodec/vorbisdec.c index f5a541a..ac7c3e9 100644 --- a/libavcodec/vorbisdec.c +++ b/libavcodec/vorbisdec.c @@ -129,7 +129,6 @@ typedef struct vorbis_context_s { FmtConvertContext fmt_conv; FFTContext mdct[2]; - uint8_t first_frame; uint32_t version; uint8_t audio_channels; uint32_t audio_samplerate; @@ -1665,12 +1664,6 @@ static int vorbis_decode_frame(AVCodecContext *avccontext, void *data, if ((len = vorbis_parse_audio_packet(vc)) <= 0) return len; - if (!vc->first_frame) { - vc->first_frame = 1; - *got_frame_ptr = 0; - return buf_size; - } - av_dlog(NULL, "parsed %d bytes %d bits, returned %d samples (*ch*bits) \n", get_bits_count(gb) / 8, get_bits_count(gb) % 8, len); diff --git a/tests/fate/vorbis.mak b/tests/fate/vorbis.mak index 774cb35..d6d412f 100644 --- a/tests/fate/vorbis.mak +++ b/tests/fate/vorbis.mak @@ -1,84 +1,104 @@ FATE_VORBIS += fate-vorbis-1 fate-vorbis-1: CMD = pcm -i $(SAMPLES)/vorbis/1.0.1-test_small.ogg fate-vorbis-1: REF = $(SAMPLES)/vorbis/1.0.1-test_small.pcm +fate-vorbis-1: CMP_SHIFT = -512 FATE_VORBIS += fate-vorbis-2 fate-vorbis-2: CMD = pcm -i $(SAMPLES)/vorbis/1.0-test_small.ogg fate-vorbis-2: REF = $(SAMPLES)/vorbis/1.0-test_small.pcm +fate-vorbis-2: CMP_SHIFT = -512 FATE_VORBIS += fate-vorbis-3 fate-vorbis-3: CMD = pcm -i $(SAMPLES)/vorbis/beta3-test_small.ogg fate-vorbis-3: REF = $(SAMPLES)/vorbis/beta3-test_small.pcm +fate-vorbis-3: CMP_SHIFT = -512 FATE_VORBIS += fate-vorbis-4 fate-vorbis-4: CMD = pcm -i $(SAMPLES)/vorbis/beta4-test_small.ogg fate-vorbis-4: REF = $(SAMPLES)/vorbis/beta4-test_small.pcm +fate-vorbis-4: CMP_SHIFT = -256 FATE_VORBIS += fate-vorbis-5 fate-vorbis-5: CMD = pcm -i $(SAMPLES)/vorbis/chain-test1_small.ogg fate-vorbis-5: REF = $(SAMPLES)/vorbis/chain-test1_small.pcm +fate-vorbis-5: CMP_SHIFT = -512 FATE_VORBIS += fate-vorbis-6 fate-vorbis-6: CMD = pcm -i $(SAMPLES)/vorbis/chain-test2_small.ogg fate-vorbis-6: REF = $(SAMPLES)/vorbis/chain-test2_small.pcm +fate-vorbis-6: CMP_SHIFT = -256 FATE_VORBIS += fate-vorbis-7 fate-vorbis-7: CMD = pcm -i $(SAMPLES)/vorbis/highrate-test_small.ogg fate-vorbis-7: REF = $(SAMPLES)/vorbis/highrate-test_small.pcm +fate-vorbis-7: CMP_SHIFT = -512 FATE_VORBIS += fate-vorbis-8 fate-vorbis-8: CMD = pcm -i $(SAMPLES)/vorbis/lsp-test2_small.ogg fate-vorbis-8: REF = $(SAMPLES)/vorbis/lsp-test2_small.pcm +fate-vorbis-8: CMP_SHIFT = -512 FATE_VORBIS += fate-vorbis-9 fate-vorbis-9: CMD = pcm -i $(SAMPLES)/vorbis/lsp-test3_small.ogg fate-vorbis-9: REF = $(SAMPLES)/vorbis/lsp-test3_small.pcm +fate-vorbis-9: CMP_SHIFT = -512 FATE_VORBIS += fate-vorbis-10 fate-vorbis-10: CMD = pcm -i $(SAMPLES)/vorbis/lsp-test4_small.ogg fate-vorbis-10: REF = $(SAMPLES)/vorbis/lsp-test4_small.pcm +fate-vorbis-10: CMP_SHIFT = -512 FATE_VORBIS += fate-vorbis-11 fate-vorbis-11: CMD = pcm -i $(SAMPLES)/vorbis/lsp-test_small.ogg fate-vorbis-11: REF = $(SAMPLES)/vorbis/lsp-test_small.pcm +fate-vorbis-11: CMP_SHIFT = -1024 FATE_VORBIS += fate-vorbis-12 fate-vorbis-12: CMD = pcm -i $(SAMPLES)/vorbis/mono_small.ogg fate-vorbis-12: REF = $(SAMPLES)/vorbis/mono_small.pcm +fate-vorbis-12: CMP_SHIFT = -256 FATE_VORBIS += fate-vorbis-13 fate-vorbis-13: CMD = pcm -i $(SAMPLES)/vorbis/moog_small.ogg fate-vorbis-13: REF = $(SAMPLES)/vorbis/moog_small.pcm fate-vorbis-13: FUZZ = 2 +fate-vorbis-13: CMP_SHIFT = -512 FATE_VORBIS += fate-vorbis-14 fate-vorbis-14: CMD = pcm -i $(SAMPLES)/vorbis/rc1-test_small.ogg fate-vorbis-14: REF = $(SAMPLES)/vorbis/rc1-test_small.pcm +fate-vorbis-14: CMP_SHIFT = -512 FATE_VORBIS += fate-vorbis-15 fate-vorbis-15: CMD = pcm -i $(SAMPLES)/vorbis/rc2-test2_small.ogg fate-vorbis-15: REF = $(SAMPLES)/vorbis/rc2-test2_small.pcm +fate-vorbis-15: CMP_SHIFT = -512 FATE_VORBIS += fate-vorbis-16 fate-vorbis-16: CMD = pcm -i $(SAMPLES)/vorbis/rc2-test_small.ogg fate-vorbis-16: REF = $(SAMPLES)/vorbis/rc2-test_small.pcm +fate-vorbis-16: CMP_SHIFT = -512 FATE_VORBIS += fate-vorbis-17 fate-vorbis-17: CMD = pcm -i $(SAMPLES)/vorbis/rc3-test_small.ogg fate-vorbis-17: REF = $(SAMPLES)/vorbis/rc3-test_small.pcm +fate-vorbis-17: CMP_SHIFT = -512 FATE_VORBIS += fate-vorbis-18 fate-vorbis-18: CMD = pcm -i $(SAMPLES)/vorbis/sleepzor_small.ogg fate-vorbis-18: REF = $(SAMPLES)/vorbis/sleepzor_small.pcm fate-vorbis-18: FUZZ = 2 +fate-vorbis-18: CMP_SHIFT = -512 FATE_VORBIS += fate-vorbis-19 fate-vorbis-19: CMD = pcm -i $(SAMPLES)/vorbis/test-short2_small.ogg fate-vorbis-19: REF = $(SAMPLES)/vorbis/test-short2_small.pcm +fate-vorbis-19: CMP_SHIFT = -512 FATE_VORBIS += fate-vorbis-20 fate-vorbis-20: CMD = pcm -i $(SAMPLES)/vorbis/6.ogg fate-vorbis-20: REF = $(SAMPLES)/vorbis/6.pcm +fate-vorbis-20: CMP_SHIFT = -1536 FATE_SAMPLES_AVCONV += $(FATE_VORBIS) fate-vorbis: $(FATE_VORBIS) -- 1.7.1 _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel