Michael Niedermayer
27b8ef5bb7
avformat/oggparsevorbis: Dont attempt to calculate timestamps from gp=0
...
Fixes Ticket3710
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Anton Khirnov
23f741f793
matroskadec: parse the channel layout mask for FLAC
...
It is commonly stored in a vorbiscomment block in codec private data.
11 years ago
Carl Eugen Hoyos
ced0d6c14d
Use correct msvc type specifiers for ptrdiff_t and size_t.
...
The Windows runtime aborts if it finds %t or %z.
Fixes ticket #3472 .
Reviewed-by: Ronald Bultje
11 years ago
Michael Niedermayer
b978391ed5
avformat/oggparsevorbis: remove non functional null check
...
Fixes CID1197055
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Alessandro Ghedini
0048deb84c
oggparsevorbis: export replaygain tags from Vorbis comments
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
11 years ago
Michael Niedermayer
12b97dd375
avformat/oggparsevorbis: dont use invalid granules
...
Fixes Ticket3437
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
f5d1d1e466
avformat/oggparsevorbis: check packet size before reading new_len from it
...
Fixes out of array read
Fixes: 34260c7981118fb38fba61809bf4dd5a-asan_heap-oob_93b923_1508_cov_951051643_DivX640x480_oggvorbis.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Hendrik Leppkes
45581ed15d
oggdec/vorbis: fix stream duration condition
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Ben Boeckel
5a633ec2dd
vorbis: extract metadata from the middle of a stream
...
If a special comment packet shows up in the middle of the stream, we
should extract it out into the vorbis stream metadata dictionary.
Also, if there is metadata in the packet on the way in, it might linger
since we only add data to the dictionary causing stale metadata to be
inserted into the stream. Instead, clear it to remove any doubt about
what is new and old.
Signed-off-by: Ben Boeckel <mathstuf@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Ben Boeckel
0dc66553ad
vorbis: append data from tags together
...
Currently, if there are multiple 'performer' tags, the last one is the
only one which appears. Instead, join them with a semicolon.
Signed-off-by: Ben Boeckel <mathstuf@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Vittorio Giovara
fd2384f02b
oggparsevorbis: fail on memory allocation error
11 years ago
James Almer
c18375ec80
oggvorbisdec: add support for embedded cover art
...
Signed-off-by: James Almer <jamrial@gmail.com>
11 years ago
Vittorio Giovara
ed9245dba8
oggparsevorbis: check allocations
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
11 years ago
James Almer
9c15ef35d4
oggparsevorbis: support official chapter extension
...
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
11 years ago
Vittorio Giovara
90e15e340d
oggparsevorbis: return meaningful errors
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years ago
Vittorio Giovara
49fe9c05f9
oggparsevorbis: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years ago
Martin Storsjö
d872fb0f7f
lavf: Reset the entry count and allocation size variables on av_reallocp failures
...
When av_reallocp fails, the associated variables that keep track of
the number of elements in the array (and in some cases, the
separate number of allocated elements) need to be reset.
Not all of these might technically be needed, but it's better to
reset them if in doubt, to make sure variables don't end up
conflicting.
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years ago
Alexandra Khirnova
5626f994f2
avformat: Use av_reallocp() where suitable
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years ago
Luca Barbato
3562684db7
ogg: Always alloc the private context in vorbis_header
...
It is possible to have an initial broken header and then valid packets.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
12 years ago
Michael Niedermayer
f3b7f47070
avformat/oggparsevorbis: fix leak of tt
...
Fixes CID1061059
Fixes fate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
d0a882ab1d
avformat/oggparsevorbis: fix leak of ct
...
Fixes CID1061058
Fixes fate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
James Almer
04b9836274
oggparsevorbis: Support official chapter extension
...
Fixes ticket #1833
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
James Almer
193782216f
vorbiscomment: Add support for embedded cover art
...
Fixes ticket #2655
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Reimar Döffinger
efa7f42020
Use the avstring.h locale-independent character type functions
...
Make sure the behavior does not change with the locale.
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Reimar Döffinger
88d55b827d
Remove incorrect use of ctype.h functions.
...
As far as I can tell the code should not change behaviour
depending on locale in any of these places.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
12 years ago
Michael Niedermayer
033f1644b5
fixup_vorbis_headers: add missing malloc failure check
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Paweł Hajdan, Jr
0451ff295a
oggparsevorbis: use av_realloc consistently
...
Memory passed to av_realloc cannot be allocated using memalign.
From realloc(3):
The realloc() function changes the size of the memory block pointed to
by ptr to size bytes. (...) Unless ptr is NULL, it must have been returned
by an earlier call to malloc(), calloc() or realloc().
The issue has been found by debugallocation, a part of google-perftools:
http://code.google.com/p/gperftools/ .
Signed-off-by: Paweł Hajdan, Jr <phajdan@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Luca Barbato
fba8e5b608
oggdec: fix faulty cleanup prototype
12 years ago
Michael Niedermayer
7a6beedd3f
oggparsevorbis: fix vorbis_cleanup return type
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Luca Barbato
d894f74762
oggdec: make sure the private parse data is cleaned up
12 years ago
Michael Niedermayer
1d29624c73
oggparsevorbis: check channels
...
Fixes out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
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.
12 years ago
Anton Khirnov
36ef5369ee
Replace all CODEC_ID_* with AV_CODEC_ID_*
13 years ago
Michael Niedermayer
18b46a494e
oggparsevorbis: fix null ptr dereference
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Carl Eugen Hoyos
84aea80f78
oggparsevorbis.c: Check for OOM when using av_mallocz.
13 years ago
Michael Niedermayer
45a7b0674d
oggvorbis: fix the first 2 packets timestamps matching issue
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
441dce2169
oggvorbis: move handling of first packets ts from parser to muxer.
...
The parser does not have enough knowledge it seems to do it
correctly.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
fe5c5bccce
oggvorbisdec: Apply timestamp calculation always when timestamps arent known.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
1f95ad48ff
oggvorbisdec: redesign special handling of first frames timestamp.
...
This also will make it possible to use the code for cases other than the start of a stream
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
63eb01d9c1
oggvorbis: Try to fix pts off by 1 issue.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
ca4a3f4a08
oggparsevorbis: Remove code messing with cur_dts.
...
This code caused first_dts to become corrupt and in value to be
around relative_ts.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Justin Ruggles
f63412fc74
oggdec: output correct timestamps for Vorbis
...
Takes encoder delay into account by comparing first the coded page
duration with the calculated page duration. Handles last packet duration
if needed, also by comparing coded duration with calculated duration.
Also does better handling of timestamp generation for packets in the
first page for streamed ogg files where the start time is not
necessarily zero.
13 years ago
Justin Ruggles
5602a464c9
avcodec: add a Vorbis parser to get packet duration
...
This also allows for removing some of the Vorbis-related hacks.
13 years ago
Anton Khirnov
c3f9ebf743
lavf: make av_set_pts_info private.
...
It's supposed to be called only from (de)muxers.
13 years ago
Anton Khirnov
1fa395e471
lavf: use avpriv_ prefix for ff_new_chapter().
...
It's used in libavdevice.
13 years ago
Anton Khirnov
d2d67e424f
Remove all uses of now deprecated metadata functions.
14 years ago
Anton Khirnov
f81946729e
lavf: move internal functions from avformat.h to internal.h
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 19711af5cdc364f9e02ea8103dd6e1e09dc288a4)
14 years ago
Anton Khirnov
19711af5cd
lavf: move internal functions from avformat.h to internal.h
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Reimar Döffinger
a351110eea
Always use av_set_pts_info to set the stream time base.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Reimar Döffinger
5603df39df
Always use av_set_pts_info to set the stream time base.
14 years ago