Tom Finegan
8c4ca2ea04
Merge "mkvparser: Make mkvparser namespace usage uniform."
2015-08-28 21:55:13 +00:00
Tom Finegan
49ae6f0dd9
Merge "mkvparser: Fix include order."
2015-08-28 21:54:04 +00:00
Tom Finegan
0735bb5bdc
mkvparser: Make mkvparser namespace usage uniform.
...
Instead of being weird and defining the first few functions
in mkvparser by explicitly prepending the namespace, open the
namespace immediately and define all functions within it.
Change-Id: I9a44a0fda8b04f89c8f874a2a6edc78f1b8e5bcc
2015-08-28 14:26:46 -07:00
Tom Finegan
93b24c4195
mkvparser: Fix include order.
...
Change-Id: Ia03ce824c78c19f5ab62c736069ea0972b8c93ea
2015-08-28 11:06:03 -07:00
James Zern
a57d6602b4
sample_muxer: fix Segment memory leak on error
...
use an auto_ptr<mkvparser::Segment> for compatibility which should be
harmless as there is no attempt to transfer ownership; sample.cpp
operates similarly.
Change-Id: I2cb6982aa64c62ff2ec7cbbd646770cb4e782509
2015-08-27 21:09:16 -07:00
Tom Finegan
1c5bd949d0
mkvparser: Cues, change asserts to error checks.
...
Change-Id: I116845b792aa5bb9a35341097cbd393300539f79
2015-08-26 12:51:05 -07:00
Tom Finegan
7f77201dca
Merge "mkvparser: Add ReadID."
2015-08-26 19:49:11 +00:00
James Zern
795fd568b6
mkvparser: set kMaxAllocSize explicitly
...
removes the need for the unrelated INT32_MAX and fixes the build
(stdint.h was missing)
Change-Id: Idf3315097982aec6fb28030bd2327ba6cff14668
2015-08-25 20:29:50 -07:00
Tom Finegan
23bb18b76d
mkvparser: Add ReadID.
...
Enforce ID rules in one place instead of every time
an ID is read.
Change-Id: I6e39a2e2dbafa2d5926dea790dd563cc3a48f67e
2015-08-25 13:37:35 -07:00
Tom Finegan
7b57e37fde
mkvparser: add SafeArrayAlloc.
...
A new wrapper that makes array allocations safer by
limiting allocated size.
BUG=23430787
Change-Id: I901ee61dc2b601e8c0b5bf13f7499b5d2479ba7a
2015-08-25 13:06:27 -07:00
Tom Finegan
83a1f68944
mkvparser: Remove buf_t typedef.
...
- It is useless.
- It masks errors; buf_t was unsigned char*, but const buf_t was
not seen by the compiler as const unsigned char*, which allowed
passing a const pointer as a mutable argument to
IMkvReader::Read at every site where buf_t was in use.
Change-Id: I293015e11c69d992e76c88ac02052a5a9a2b2c9c
2015-08-25 10:47:17 -07:00
James Zern
507471457e
Merge changes Ia1265a63,I799d54df,Icfc582e4,I3425f608
...
* changes:
Block::Parse: replace pos asserts w/checks
Cluster::ParseBlockGroup: replace pos asserts w/checks
Tags::*::Parse: replace pos asserts w/checks
Chapters::*::Parse: replace pos asserts w/checks
2015-08-25 06:28:43 +00:00
James Zern
b18110541a
Merge changes Ie4318152,I1e65f30f
...
* changes:
Block::Parse: use int64 to aggregate laced frame sizes
UnserializeFloat: check result for Inf/NaN
2015-08-25 06:25:04 +00:00
James Zern
06b4337ed8
Block::Parse: replace pos asserts w/checks
...
replace the common patterns assert(pos <= stop) / assert(pos == stop)
with error checks
BUG=23431751
Change-Id: Ia1265a639086c790a2ed542f34c2f438c153b036
2015-08-24 19:59:08 -07:00
James Zern
b366a98053
Cluster::ParseBlockGroup: replace pos asserts w/checks
...
replace the common patterns assert(pos <= stop) / assert(pos == stop)
with error checks
+ harmonize error return -1 -> E_FILE_FORMAT_INVALID
BUG=23431751
Change-Id: I799d54df62d93388b52ac325b836ab28e0860992
2015-08-24 19:59:04 -07:00
James Zern
2857b2350c
Tags::*::Parse: replace pos asserts w/checks
...
replace the common patterns assert(pos <= stop) / assert(pos == stop)
with error checks
+ harmonize error return -1 -> E_FILE_FORMAT_INVALID
BUG=23431751
Change-Id: Icfc582e414a7d02ae0675ef14c047922c4a12036
2015-08-24 19:59:00 -07:00
James Zern
f1b2cfa03e
Chapters::*::Parse: replace pos asserts w/checks
...
replace the common patterns assert(pos <= stop) / assert(pos == stop)
with error checks
BUG=23431751
Change-Id: I3425f6083456b5ab4f40497e3a192569b494dfa9
2015-08-24 19:56:07 -07:00
Tom Finegan
ca8062959a
Merge "mkvparser: Cues::PreloadCuePoint now returns bool."
2015-08-25 02:22:05 +00:00
James Zern
6b4b297220
Block::Parse: use int64 to aggregate laced frame sizes
...
this is compared against a final total which is also int64
BUG=23488728
Change-Id: Ie4318152f9f9ae049a35d0b2724ccad129316981
2015-08-24 17:00:34 -07:00
James Zern
c0d2c9852b
UnserializeFloat: check result for Inf/NaN
...
fail in either case
BUG=23488728
Change-Id: I1e65f30ff1cf857a5d1eb4bdedc3f842423cf15f
2015-08-24 16:49:22 -07:00
Tom Finegan
1a6dc4f210
mkvparser: Cues::PreloadCuePoint now returns bool.
...
Check allocations and fail appropriately.
Change-Id: Ie16d258a47e46b5e15c5c6275ea83ebead8b0f49
2015-08-24 16:20:13 -07:00
Tom Finegan
275ac22cae
mkvparser: Cluster::Create clean up.
...
- Asserts to error condition check and return.
- Use nothrow new.
Change-Id: Iff9da5806e6f3240e7ea9f9e90ccdf729848a778
2015-08-24 16:19:10 -07:00
James Zern
064f2eed62
Segment::PreloadCluster(): return a bool status
...
BUG=23430793
Change-Id: I10aab67e94961868be806ee7ee9df550a5187e5a
2015-08-22 11:02:55 -07:00
James Zern
3778408b2a
Segment::AppendCluster(): return a bool status
...
BUG=23430793
Change-Id: I6072234bfe211153ad143ccf7a3c6bbfa8cd166e
2015-08-22 11:01:47 -07:00
James Zern
e86d046c07
mkvparser: check Cluster::Create() return
...
BUG=23430793
Change-Id: Ie932dd2ee82d41368616999ab75ba3b213008642
2015-08-22 10:47:03 -07:00
James Zern
f9885b5882
mkvparser: check allocations
...
some unchecked new's are left in a few void functions, they'll be
addressed in a separate commit
BUG=23430793
Change-Id: I4953e70f4e7b0401a293c6b87c02445960e9ff9e
2015-08-22 10:47:03 -07:00
James Zern
21ee398281
mkvparser: Segment::Load fail w/missing info/tracks
...
convert asserts to error returns
BUG=23430793
Change-Id: Ifbfb5a2e7cd41344acc9c8d7afdf183b28dc2cd2
2015-08-22 10:47:03 -07:00
James Zern
08fb6546e8
Merge changes I264e68b2,Ife6190a4,Ibf37245f,I06efadb5,I88b5dfec, ...
...
* changes:
mkvparser/Cluster: convert asserts to failure returns
mkvparser/Tracks: convert asserts to failure returns
mkvparser/Track: convert asserts to failure returns
mkvparser/ContentEncoding: convert asserts to failure returns
mkvparser/Cues: convert asserts to failure returns
mkvparser/SeekHead: convert asserts to failure returns
mkvparser/Segment: convert asserts to failure returns
2015-08-22 05:52:07 +00:00
James Zern
c8960955db
mkvparser/Cluster: convert asserts to failure returns
...
Change-Id: I264e68b24eeb0f719a9d60b4cb0454e38110dd39
2015-08-21 22:49:57 -07:00
James Zern
680b4bfd3d
mkvparser/Tracks: convert asserts to failure returns
...
BUG=23431751
Change-Id: Ife6190a4bcd4ab949165f17fd0b6c26a058a661b
2015-08-21 22:49:57 -07:00
James Zern
5889e6c18b
mkvparser/Track: convert asserts to failure returns
...
Change-Id: Ibf37245f74e019c788b3f4121082956aa209430a
2015-08-21 22:49:57 -07:00
James Zern
5135c4cd74
mkvparser/ContentEncoding: convert asserts to failure returns
...
Change-Id: I06efadb5242135b095ad4cdefceef0e1c42c79b9
2015-08-21 22:49:57 -07:00
James Zern
b0e4f32011
mkvparser/Cues: convert asserts to failure returns
...
Change-Id: I88b5dfecfd03fec7f5808959ec6f640bff838d7a
2015-08-21 22:45:02 -07:00
James Zern
13ccc7f089
mkvparser/UnserializeInt: fix sign flip
...
with -funsigned-char the sign will be flipped, e.g., -128 -> 128, use an
explicit signed char.
additionally drop the misguided range check; this is meant as a data
size limit not one for the big-endian encoded ints
Change-Id: Ia10ef811d16acd09cbcd3d95856d9c460c9b7f16
2015-08-21 22:35:20 -07:00
James Zern
db3f9bbd79
mkvparser/SeekHead: convert asserts to failure returns
...
Change-Id: Ic2c83e4eb246fd4c1fc63fe16298f0dc78801912
2015-08-21 19:47:34 -07:00
James Zern
8de3654fdb
mkvparser/Segment: convert asserts to failure returns
...
Change-Id: I7ccfd5be5e7438561edacb06bc8e6256aa6e0369
2015-08-21 19:46:15 -07:00
James Zern
fa2aa7da2d
SeekHead::Parse(): fix assertion failure
...
replace assertions with failure returns
BUG=23430787
BUG=23431751
Change-Id: I22f000388cf040d064ba898c5de3658b56a3dfea
2015-08-21 18:12:08 -07:00
James Zern
d9bdadeff8
sample{,_muxer}: check SegmentInfo::GetInfo() return
...
prevents a segfault when parsing a corrupt file
BUG=23430793
Change-Id: I909fd456555ed0d5d871e12258b4887f36f90867
2015-08-21 16:58:04 -07:00
James Zern
07a9cf7127
Merge "mkvparser: Remove some asserts."
2015-08-21 21:28:13 +00:00
Tom Finegan
c56ee29254
mkvparser: Remove some asserts.
...
Remove asserts in sections recently updated to do error checking, and
replace some additional nearby asserts with error checks.
Change-Id: Ia8b60824736a7a821bbca3f2bfef5de4bb584c2d
2015-08-21 13:06:09 -07:00
Tom Finegan
d9013243ff
Merge "mkvparser: Remove some asserts from SegmentInfo::Parse."
2015-08-21 19:57:35 +00:00
Rob Gaunt
7f7d898a27
Fix case sensitivity issue in iosbuild.sh.
...
Change-Id: I82b851b442cfe46ead78d115bbd7e22927ea6334
2015-08-21 12:27:30 -07:00
Tom Finegan
42fe2cd755
mkvparser: Remove some asserts from SegmentInfo::Parse.
...
Just return errors.
Change-Id: Ic3510db9c298e12cbe2a40fe09344a1c8e1e4ca8
2015-08-21 12:10:38 -07:00
Tom Finegan
8bccd9c306
Merge "mkvparser: avoid rollover in UnserializeInt()."
2015-08-21 18:47:16 +00:00
Tom Finegan
7a2fa0daf3
mkvparser: avoid rollover in UnserializeInt().
...
- Not strictly rollover-- avoid exceeding max 64 EBML (2^26 - 2).
- Tidy up the function.
BUG=23321923
Change-Id: I172c75064c189ed0fcf224145d016fca421f60c6
2015-08-21 11:24:30 -07:00
Tom Finegan
44f5ce64b1
mkvparser: Disallow durations in seconds greater than LONG_LONG_MAX.
...
libwebm cannot handle a duration in seconds greater than LONG_LONG_MAX
because it stores the values in long long variables.
BUG=23321923
Change-Id: Idb73f04a73e35829ae34386ea6c388fd355dd102
2015-08-21 10:54:27 -07:00
Tom Finegan
b521e3030e
Merge "mkvparser: Segment::ParseHeaders() avoid rollover and bad int sizes."
2015-08-20 16:59:29 +00:00
Tom Finegan
7680e2a76b
mkvparser: Check for errors in Match().
...
Confirm asserted conditions are as expected in all build
configurations, and avoid rolling over pos in obvious places.
BUG=23225325
Change-Id: I8af3192283788fd4a4b5b8ba4ad94abeab7feff2
2015-08-19 21:46:32 -07:00
Tom Finegan
39a315f8c1
mkvparser: Segment::ParseHeaders() avoid rollover and bad int sizes.
...
BUG=23226908
Change-Id: I177fc75684daa3c0282b63ec270d095251a70881
2015-08-19 21:23:21 -07:00
Tom Finegan
f250aceeaa
mkvparser: Handle invalid lengths and rollover in ParseElementHeader().
...
BUG=23224239
Change-Id: I597054dc552b54f99a6716fb8f1b0f2480f2a29b
2015-08-19 12:34:54 -07:00