Michael Niedermayer
951a365504
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
oggdec: do not fall back on binary search in the generic code.
Conflicts:
libavformat/oggdec.c
tests/ref/seek/lavf-ogg
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 11:50:30 +02:00
Anton Khirnov
8ad3267ce3
oggdec: do not fall back on binary search in the generic code.
...
Binary search is already attempted in the format-specific seek function,
so the fallback is only reached if binary search failed already.
2013-07-02 10:37:22 +02:00
Michael Niedermayer
780b1aa1ef
Merge commit 'f963f701d90bd7bb03e39aab4e59bd137084e082'
...
* commit 'f963f701d90bd7bb03e39aab4e59bd137084e082':
ogg: relax demuxer conformance checks
Conflicts:
libavformat/oggdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 13:21:21 +02:00
Luca Barbato
f963f701d9
ogg: relax demuxer conformance checks
...
Some samples in the wild are missing headers that are expected by the
specification but in practice do not affect decoding.
2013-06-22 20:54:59 +02:00
Michael Niedermayer
e278500181
oggdec: Support byte based seeking
...
Fixed Ticket2317
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 04:04:24 +02:00
Paul B Mahol
a9b424879f
lavc & lavf: replace deprecated av_log* functions
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-15 18:10:28 +00:00
Michael Niedermayer
5d2f2c7643
oggdec: chained oggs have timestamp discontinuities
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-27 03:46:12 +01:00
Michael Niedermayer
ed37a566c9
oggdec: remove unused variables
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 16:41:50 +01:00
Michael Niedermayer
c74d4658dc
oggdec: #if 0 disabled code
...
Fixes CID968589
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 03:01:53 +01:00
Michael Niedermayer
7cb27d216d
oggdec: Support chained streams, support replacing streams in multistream files.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Conflicts:
Changelog
2013-01-20 17:53:51 +01:00
Michael Niedermayer
c994bb2fb7
oggdec: Leave treatment of serial changes to the decoder.
...
Attempting to re-parse the headers at demuxer level is a
pandora box the way its done currently.
This allows full reconfiguration of vorbis streams
Fixes Ticket2117
Fixes Ticket2121
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 20:19:30 +01:00
Michael Niedermayer
c5cf58d4b9
oggdec: resync from the last page.
...
Previously we re synced from where we where which cam lead
to loosing pages.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 20:19:28 +01:00
Michael Niedermayer
1700be5855
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
oggdec: make sure the private parse data is cleaned up
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 14:20:21 +01:00
Michael Niedermayer
2db8660f09
Merge commit '89b51b570daa80e6e3790fcd449fe61fc5574e07'
...
* commit '89b51b570daa80e6e3790fcd449fe61fc5574e07':
oggdec: free the ogg streams on read_header failure
Conflicts:
libavformat/oggdec.c
Original commit this was based on: (this merge just moves the function up)
commit 07a866282f
Author: Michael Niedermayer <michaelni@gmx.at>
Date: Tue Nov 20 15:12:37 2012 +0100
oggdec: fix memleak on header parsing failure
Fixes Ticket1931
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 14:03:48 +01:00
Luca Barbato
d894f74762
oggdec: make sure the private parse data is cleaned up
2013-01-06 17:59:54 +01:00
Luca Barbato
89b51b570d
oggdec: free the ogg streams on read_header failure
...
Plug an annoying memory leak on broken files.
2013-01-06 17:59:54 +01:00
Michael Niedermayer
ec40d15d82
oggdec: fix warning: assignment discards qualifiers from pointer target type
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-24 22:37:24 +01:00
Michael Niedermayer
d69238e991
Merge commit 'f3298f12997eb4b7ad203766f768f92e3dd72a2a'
...
* commit 'f3298f12997eb4b7ad203766f768f92e3dd72a2a':
Return proper error code after av_log_ask_for_sample()
configure: cosmetics: Separate hwaccel dependencies from decoders/encoders
oggdec: check memory allocation
Conflicts:
configure
libavcodec/pictordec.c
libavformat/anm.c
libavformat/oggdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-24 15:09:58 +01:00
Michael Niedermayer
c6664242e0
Merge commit 'f5f1cf52240759208b42477e2157a7b4409ade10'
...
* commit 'f5f1cf52240759208b42477e2157a7b4409ade10':
oggdec: K&R cosmetic formatting
hlsenc: correctly report target duration
Conflicts:
libavformat/oggdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-24 14:43:03 +01:00
Luca Barbato
ba064ebe48
oggdec: check memory allocation
2012-12-23 12:19:15 +01:00
Luca Barbato
f5f1cf5224
oggdec: K&R cosmetic formatting
2012-12-23 12:19:08 +01:00
Michael Niedermayer
9db3fb6ed8
oggdec: prevent codec from changing through ogg_replace_stream()
...
This prevents inconsistencies leading to out of array accesses.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 04:40:19 +01:00
Michael Niedermayer
07a866282f
oggdec: fix memleak on header parsing failure
...
Fixes Ticket1931
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-20 15:14:12 +01:00
Michael Niedermayer
248b1ff26b
Fix various uses of av_log_missing_feature()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 23:13:53 +02:00
Michael Niedermayer
0842e32f99
Merge commit 'd1f05dd18375f2f8e68372edee11436927e43ba8'
...
* commit 'd1f05dd18375f2f8e68372edee11436927e43ba8':
ogg: calculate the start position once all the headers are parsed
Conflicts:
libavformat/oggdec.c
libavformat/oggparseskeleton.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 16:00:09 +02:00
Michael Niedermayer
4c273eb64c
oggdec: print a warning if the number of headers mismatch expectations.
...
This is based on:
commit 7751e4693d
Author: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 15:34:58 +02:00
Michael Niedermayer
cc4deafed1
oggdec: print error when headers couldnt be parses successfully
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 15:22:05 +02:00
Michael Niedermayer
46a35959d8
Merge commit '7751e4693dd10ec98c20fbd9887233b575034272'
...
* commit '7751e4693dd10ec98c20fbd9887233b575034272':
ogg: check that the expected number of headers had been parsed
libx264: change default to closed gop to match x264cli
Use avcodec_free_frame() to free AVFrames.
lavf: use a malloced AVFrame in try_decode_frame().
lavc: add avcodec_free_frame().
lavc: ensure extended_data is set properly on decoding
lavc: initialize AVFrame.extended_data in avcodec_get_frame_defaults()
lavc: use av_mallocz to allocate AVFrames.
lavc: rename the argument of avcodec_alloc_frame/get_frame_defaults
Conflicts:
doc/APIchanges
doc/examples/decoding_encoding.c
libavcodec/utils.c
libavcodec/version.h
libavfilter/src_movie.c
libavformat/oggdec.c
libavformat/oggdec.h
libavformat/oggparsetheora.c
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 15:15:16 +02:00
Luca Barbato
d1f05dd183
ogg: calculate the start position once all the headers are parsed
...
The fisbone packets can be muxed in any order as long the last one
comes before the first data packet.
2012-09-24 22:35:29 +02:00
Luca Barbato
7751e4693d
ogg: check that the expected number of headers had been parsed
...
Not having the header for a codec is a tell-tale of a broken file.
2012-09-24 22:35:29 +02:00
Clément Bœsch
ea5bd7ea6f
lavf/oggdec: check for begin-of-stream flag in case of chained streams.
...
Fix Ticket #1617 , revealing a regression I introduced in 8f3eebd
.
We need to make sure no stream is added in between Ogg context save and
restore operations (because it would likely lead to a mismatch between
ogg->nstreams and AVFormatContext->nb_streams after the restore op).
This is the reason the ogg->state check is added in ogg_new_stream().
Before this patch, checking for ogg->headers was preventing this:
ogg->headers is always set before any ogg save/restore (though, it was
also preventing from creating the stream when necessary).
2012-09-22 00:40:51 +02:00
Clément Bœsch
094991eb69
lavf/oggdec: reword stream creation error message.
2012-09-16 18:28:52 +02:00
Clément Bœsch
23f6420026
lavf/oggdec: reindent and comment blocks.
2012-09-16 18:28:51 +02:00
Clément Bœsch
a218c5ebd2
lavf/oggdec: make stream replacement less convoluted.
...
Also re-use the allocated buffer instead of re-allocating a new one.
2012-09-16 18:28:15 +02:00
Clément Bœsch
e18ea76523
lavf/oggdec: more explicit zeroing of the new ogg stream.
2012-09-16 18:28:14 +02:00
Clément Bœsch
3a89553347
lavf/oggdec: rework allocations in ogg_new_streams().
2012-09-16 18:27:58 +02:00
Clément Bœsch
edca80387c
lavf/oggdec: simplify destroying streams with chained audio streams.
...
nstreams is assumed to be 1 at that point, so the loop is pointless.
2012-09-16 16:52:06 +02:00
Clément Bœsch
277ddf127d
lavf/oggdec: rename str to sid.
...
"str" is misleading here (it's often used for string). "sid" makes more
sense to identify a stream id.
2012-09-16 16:52:06 +02:00
Clément Bœsch
e1ca1dd71b
lavf/oggdec: remove a comment not matching anything.
2012-09-16 16:52:06 +02:00
Clément Bœsch
bf8bfc6a11
lavf/oggdec: inline ogg_get_headers().
...
There is no point in a distant definition of a small function like this
used only once.
Additional spacing to distinguish better the block.
2012-09-16 16:52:06 +02:00
Michael Niedermayer
7a72695c05
Merge commit '36ef5369ee9b336febc2c270f8718cec4476cb85'
...
* commit '36ef5369ee9b336febc2c270f8718cec4476cb85':
Replace all CODEC_ID_* with AV_CODEC_ID_*
lavc: add AV prefix to codec ids.
Conflicts:
doc/APIchanges
doc/examples/decoding_encoding.c
doc/examples/muxing.c
ffmpeg.c
ffprobe.c
ffserver.c
libavcodec/8svx.c
libavcodec/avcodec.h
libavcodec/dnxhd_parser.c
libavcodec/dvdsubdec.c
libavcodec/error_resilience.c
libavcodec/h263dec.c
libavcodec/libvorbisenc.c
libavcodec/mjpeg_parser.c
libavcodec/mjpegenc.c
libavcodec/mpeg12.c
libavcodec/mpeg4videodec.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
libavcodec/pcm.c
libavcodec/r210dec.c
libavcodec/utils.c
libavcodec/v210dec.c
libavcodec/version.h
libavdevice/alsa-audio-dec.c
libavdevice/bktr.c
libavdevice/v4l2.c
libavformat/asfdec.c
libavformat/asfenc.c
libavformat/avformat.h
libavformat/avidec.c
libavformat/caf.c
libavformat/electronicarts.c
libavformat/flacdec.c
libavformat/flvdec.c
libavformat/flvenc.c
libavformat/framecrcenc.c
libavformat/img2.c
libavformat/img2dec.c
libavformat/img2enc.c
libavformat/ipmovie.c
libavformat/isom.c
libavformat/matroska.c
libavformat/matroskadec.c
libavformat/matroskaenc.c
libavformat/mov.c
libavformat/movenc.c
libavformat/mp3dec.c
libavformat/mpeg.c
libavformat/mpegts.c
libavformat/mxf.c
libavformat/mxfdec.c
libavformat/mxfenc.c
libavformat/nsvdec.c
libavformat/nut.c
libavformat/oggenc.c
libavformat/pmpdec.c
libavformat/rawdec.c
libavformat/rawenc.c
libavformat/riff.c
libavformat/sdp.c
libavformat/utils.c
libavformat/vocenc.c
libavformat/wtv.c
libavformat/xmv.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 22:45:46 +02:00
Reimar Döffinger
69aeba1396
oggdec: Initialize stream index to -1 in ogg_packet.
...
The previous method of having to initialize it outside lead
to incorrect code: even if it was initialized, it usually was
only initialized once, thus a packet that could not be matched
to any stream would just be processed with the return values
from the previous call.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-08-05 19:47:52 +02:00
Reimar Döffinger
a4163b2d65
oggdec: simplify start time calculation code.
...
Also slightly more correct behaviour in case streams_left for
some reason is 0 from the start.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-08-05 19:47:52 +02:00
Michael Niedermayer
9e1c55cfde
oggdec: check stream index before using it in ogg_get_length()
...
Fixes crash based on a uninitialized array index read.
If the read does not crash then out of array writes based
on the same index might have been triggered afterwards.
Found-by: inferno@chromium.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-05 05:08:15 +02:00
Nicolas George
e62fd6619f
oggdec: add support for Opus codec.
...
This patch also introduces CODEC_ID_OPUS.
2012-07-20 11:16:52 +02:00
Michael Niedermayer
e0eaf10049
oggdec: fix regression that caused reading the whole file during open
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-02 22:50:40 +02:00
Michael Niedermayer
8443082db6
ogg: rewrite first timestamp reading code.
...
this is simpler and closer to how timestamps are found for seeking.
Fixes Ticket1186
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-14 14:15:34 +02:00
Michael Niedermayer
5931c754b8
ogg: in ogg_get_length() start from data_offset not 0.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-14 14:15:34 +02:00
Michael Niedermayer
ef32fbafcd
oggdec: fix off by one error on pos_limit
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-04 14:40:22 +02:00
Michael Niedermayer
a6bb09fc1a
oggdec: print error on failure to create streams
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-04 14:40:22 +02:00