This fixes potential divisions by zero and out of array accesses.
Reported-by: Dale Curtis <dalecurtis@chromium.org>
Found-by: inferno@chromium.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
rtpdec_vp8: Don't trim too much data from broken frames
rtpdec_vp8: Simplify code by using an existing helper function
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'ed79093222ceb42f0c3a39095a69af0b32be5450':
rtpdec: Add a terminating null byte at the end of the SDES/CNAME
yuv4mpeg: do not use deprecated functions
oggdec: fix faulty cleanup prototype
idcin: return 0 from idcin_read_packet() on success.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '7040e479a1530b2eda4b89a182d5eb50a77bd907':
idcin: allow seeking back to the first packet
idcin: set AV_PKT_FLAG_KEY for video packets with a palette
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'ccc0ffb1ba3fc1adb05a9f56dfc26131e61db3fb':
idcin: set start_time and packet duration instead of manually tracking pts.
idcin: set channel_layout
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '12c2530b1d87fa94f81ea97df575b77c825e6f4f':
idcin: fix check for presence of an audio stream
idcin: validate header parameters
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'c88d245c9866e48cb8a238b7564964c1fcf3315f':
au: use ff_raw_write_packet()
au: set stream start time and packet durations
Conflicts:
libavformat/au.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'af68a2baae6761044cbed95575e8bcfebf55c6f1':
au: use %u when printing id and channels since they are unsigned
au: validate sample rate
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'c837b38dd33a11c3810e988a60193a858eb4f58c':
au: move skipping of unused data to before parameter validation
au: do not arbitrarily limit channel count
Conflicts:
libavformat/au.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
We dont use au_read_packet() anymore and block_align is already set.
Thus nothing had to be merged from these.
* commit '2613de88051818abafccb98646394341887acb3a':
au: do not set pkt->size directly
au: set block_align and use it in au_read_packet()
Conflicts:
libavformat/au.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '9a7b56883d1333cdfcdf0fa7584a333841b86114':
au: set bit rate
au: validate bits-per-sample separately from codec tag
rtpdec_vp8: Mark broken packets with AV_PKT_FLAG_CORRUPT
Conflicts:
libavformat/au.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Previously, for broken frames, we only returned the first partition
of the frame (we would append all the received packets to the packet
buffer, then set pkt->size to the size of the first partition, since
the rest of the frame could have lost data inbetween) - now instead
return the full buffered data we have, but don't append anything more
to the buffer after the lost packet discontinuity. Decoding the
truncated packet should hopefully get better quality than trimming out
everything after the first partition.
Signed-off-by: Martin Storsjö <martin@martin.st>
This is required by RFC 3550 (section 6.5):
The list of items in each chunk MUST be terminated by one or more
null octets, the first of which is interpreted as an item type of
zero to denote the end of the list.
This was implicitly added as padding before, unless the host name
length matched up so no padding was added.
This makes wireshark parse the packets properly if other RTCP items
are appended to the same packet.
Signed-off-by: Martin Storsjö <martin@martin.st>
The read value is not used when its outside the array.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Add some additional checks for EOF and print error messages on an incomplete
header or packet.
FATE reference updated for id-cin-video due to the demuxer no longer
returning a partial video packet at EOF.