David Schalig
2b09f9b53a
mkvparser: ignore 0-size elements in TrackEntry
...
ParseTrackEntry handled MKVs with 0-sized EBML elements
as malformed. Relaxing this and allow empty elements to allow
parsing such MKV content.
Change-Id: I7e430e9b2d177df7fe1e656546f63ee8673e784e
2012-12-11 17:08:22 +09:00
Matthew Heaney
28222b4927
Add support for WebVTT cue identifier line
...
Modified the mkvmuxer to write the ChapterStringUID
sub-element of the Chapter Atom element.
Modified the mkvparser to read the ChapterStringUID
sub-element of the chapter atom.
Modified the vttdemux app to write the Cue Identifier
line of the WebVTT cue.
Change-Id: I06fe386f44897ada3fe10cbf89096df104dcf779
2012-11-13 12:44:06 -08:00
Matthew Heaney
c26db03d5a
vttdemux: add support for WebVTT chapters
...
Change-Id: If5e12ff7057ce4217907ef91d493e1bcd8a72656
2012-11-12 11:52:15 -08:00
Matthew Heaney
386928d8b8
mkvparser: add missing definitions
...
Change-Id: I043a6d974bdf146a8726d090722159943eb20752
2012-11-08 18:12:30 -08:00
Matthew Heaney
50ee255b8c
mkvparser: add support for MKV chapters
...
Change-Id: I2404b6886ed592fe505ee973bf05c769a9d134b1
2012-11-02 14:42:40 -07:00
Matthew Heaney
2fc496a0d6
mkvparser: create generic track objects
...
Formerly, it was only possible to create instances of
the Track subclasses, VideoTrack and AudioTrack. However,
we now populate WebM files with WebVTT metadata blocks,
so we must allow for a third kind of track object.
We now enable instances of type Track to be created,
by providing a new factory function, Track::Create, and
making all Track methods non-pure and with a generic
implementation.
Change-Id: I7d4c965eb566b9fc2f5ceefe1d43723cf8c1e5f0
2012-10-10 16:51:21 -07:00
Matthew Heaney
4f494f6dd4
mkvparser: implemented BlockGroup::GetDuration method
...
Change-Id: Ib0106df3823c29e45a8fe59669c0fa65dd13a123
2012-09-28 14:55:24 -07:00
Frank Galligan
bf664baf05
mkvparser: Version 1.0.0.26 mkvmuxer: Version 0.2.0.0
...
Change-Id: I6875b1c10adea41c45762d82b7dd2f9551f5b7ca
2012-09-27 09:56:24 -07:00
Frank Galligan
537da82f37
Fix incremental parsing in CreateInstance
...
- Segment::CreateInstance was treating the available data as EOF
and returning errors.
- Added a check for potential underflow if the segment was not the
first element after the EBML header.
Change-Id: I481bf0eea71eeb3def3bf54ec251be0b2ae13536
2012-09-14 11:05:18 -07:00
Frank Galligan
a320f5be63
Add CTR encryption.
...
- Added ContentEncAESSettings, AESSettingsCipherMode,
AESSettingsCipherInitData elements to the parser and muxer.
- Changed ParseContentEncodingsEntry, ParseContentEncodingEntry,
and ParseEncryptionEntry to use PasreElementHeader.
- Added ParseContentEncAESSettingsEntry function.
- PS6 removed AESSettingsCipherInitData.
- PS9 Addressed comments, Fixed some LINT issues, and converted
mkvwriter.h/.cpp to Unix line endings.
- PS10 Addressed comments.
Change-Id: I9d96a0c194f74a6c9bf0001aa0286196e410f07e
2012-07-27 09:34:31 -07:00
matthewjheaney
478b524df3
version 1.0.0.25
...
Change-Id: I438d43572f450bb6e151d4a1ede077ff22252d1f
2012-05-30 15:42:33 -04:00
matthewjheaney
9a561ab4dd
libwebm: handle negative time for a block
...
Change-Id: Iafa0254fb1554621b42635cb99d40b2c0177468f
2012-05-11 11:53:23 -04:00
matthewjheaney
041a5c5811
Parse headers outside of constructor
...
In several cases, the parser would parse a header
(say, a track header, or the segment info header)
in the constructor for the type. The parser had
assumed (incorrectly) that the file was well-formed,
but this turned out to be an incorrect assumption.
The parse errors triggered some assertion failures,
but this is not acceptable in a production system.
The parser solved that problem by separating the
construction of the header object from the parsing
of the file. There is now a separate parse method
to be called after construction of the object,
which returns a status whether the parse was
successful.
This change fixes the bugs from the following
tracker issues:
http://code.google.com/p/webm/issues/detail?id=399
http://code.google.com/p/webm/issues/detail?id=400
Change-Id: Idb09154ae7008429d8613ce3b3e8294f5a12de86
2012-03-13 14:40:17 -04:00
matthewjheaney
6fa7c7611c
Block parsing is now robust
...
Previously, parsing of a Block element was done inside its
constructor. Parsing errors were handled via assertion checks,
but this only works in practice if there are no actual errors
in the file.
We did come across a file, however, that used EMBL-style lacing,
but the lacing was done incorrectly and so the parse asserted.
This isn't acceptable for a production system, and more a graceful
handling of parse errors was needed.
The code was restructured such that the Block object's ctor does
only trivial initialization of member variables. A separate Parse
method was added, that is called after the object is constructed.
If the parse succeeds all is well, otherwise the object is destroyed
and the error is reported to the caller.
This commit fixes bug tracker issue #398 , described here:
http://code.google.com/p/webm/issues/detail?id=398
Change-Id: Ib95ca95d0eec08cf670b308c461e42ed8345e890
2012-02-28 14:03:21 -05:00
matthewjheaney
72052ed8b1
mkvparser: overflow in biased count of laced frames
...
Change-Id: I946b233d559186fc8a24d0769607075333598191
2012-02-23 13:33:46 -05:00
matthewjheaney
4c682199b0
mkvparser: cache SeekEntry start and size
...
Change-Id: I54a0ac4035f7174f51ae2145dedb1c3ed5ad7ec8
2011-12-08 16:07:15 -05:00
matthewjheaney
9303667611
parse void elements in seek head
...
Change-Id: Ifc8841909f6aa877108abebb5b5623c2344d0e35
2011-11-17 19:08:48 -05:00
Frank Galligan
4affedd0a7
Add support for encryption elements.
...
Added support for the ContentEncoding element to be added to a
Track element for muxing. Currently only one ContentEncoding may
be added. The ContentEncoding must be encryption of the whole
frame with AES.
Added support for parsing the ConentEncoding elements. Currently
the parser does not parse any ContentCompression elements.
Change-Id: Ie199116a1bcc18a0c2b5eea3dba6622887c108c8
2011-11-04 14:09:56 -04:00
matthewjheaney
1ae4335c1c
libwebm: liberalize handling of reference blocks
...
Change-Id: I3df0235e005c57507eb974ad3754b4c800a99825
2011-08-09 16:03:50 -04:00
James Zern
1623fb983b
mkvparser: silence initializer list warnings
...
Ensure initializer lists match declaration order, from gcc -Wreorder.
Change-Id: I9ba245ab9c28d89978cdfe3865edcb54da2e949c
2011-07-14 10:30:47 -07:00
Joel Dice
5942099a85
fix warnings when building with gcc -Wall -Wextra
...
This commit addresses three types of warnings:
* constructor initialization order inconsistencies
* statements with no effect
* possible use of uninitialized fields
Change-Id: I572ccdc6813d8cfeff3e9e06d7acf6a8ab5ac7b1
2011-05-09 16:34:40 -04:00
matthewjheaney
6f68021678
libwebm: re-implemented Block::EOS()
...
Change-Id: I91c6746d3e06e2f74dc899dbeec5c5270e150d08
2011-04-07 19:36:15 -07:00
matthewjheaney
3395c36a8e
libwebm: added UnserializeInt function
...
Change-Id: I2298e547cd38d3aea04c0c993a67e5e291b8fea8
2011-04-05 20:55:26 -07:00
matthewjheaney
ffe5a8e548
libwebm: added GetLacing selector function for Block
...
Change-Id: I77bff875919f7a57a8c838beb05bc9a992cadacd
2011-04-05 20:55:25 -07:00
matthewjheaney
a9c65fbbc0
libwebm: added BlockEntry::GetKind op
...
Change-Id: I7d7daac0d3b8be1b8839f96503250170f675e34d
2011-04-05 20:55:24 -07:00
matthewjheaney
31a9d5470e
libwebm: don't alloc block object in block group
...
Change-Id: I55ff9451591da86b89ed58c22eb9778317b89364
2011-04-05 20:55:23 -07:00
matthewjheaney
2b84a12da8
libwebm: removed old Cluster::Load
...
Change-Id: I02448e6c9d5850368282353dba40a549753c26bc
2011-04-05 20:55:22 -07:00
matthewjheaney
bd833a82e4
libwebm: removed old LoadBlockEntries
...
Change-Id: I340f444f719fa9c5d9da986f1527522d8a5f9812
2011-04-05 20:55:21 -07:00
matthewjheaney
7b07758854
libwebm: refactor BlockEntry class
...
Change-Id: I68d799d5b928de0ff7be293731ab73750c7cbb86
2011-04-05 20:55:20 -07:00
matthewjheaney
00ed87aad6
libwebm: Block::GetIndex returns type long
...
Change-Id: I7b233a18b5054398ae22696148ede17817ea608a
2011-04-05 20:55:11 -07:00
matthewjheaney
06f08663be
libwebm: Block::GetTimeCode allows NULL param
...
Change-Id: Ia62820637f1819d1904d2e6e7b20bd3c39053bb5
2011-04-05 20:54:14 -07:00
matthewjheaney
35ded77a23
libwebm: change version to 1.0.0.21
...
Change-Id: Ic8ef4e8f02a3dc5b07939f0b09903d31dc4a403f
2011-03-28 13:04:26 -04:00
matthewjheaney
1f33611caa
libwebm: bad assert in Cluster::GetEntry
...
Change-Id: I5bcee1f496260416b438a1c2632dd24e8b26eee4
2011-03-22 14:18:14 -04:00
matthewjheaney
70f9644a8d
libwebm: restored Cluster::GetLast
...
Change-Id: I73564fb508e23004392b5aaab1f1ad7cdedc8bb1
2011-03-19 10:34:12 -04:00
matthewjheaney
f2bd78ef6b
libwebm: changed semantics of LoadCuePoint retval
...
Change-Id: Iabbc82b24bde27c06b44b9f9f45e64215b9164c5
2011-03-19 09:54:41 -04:00
matthewjheaney
2083c72300
libwebm: removed LoadBlockEntries
...
Change-Id: I1d65c07d91de568573f48e9fddf83b4c5672871d
2011-03-18 21:43:06 -04:00
matthewjheaney
f5ec272e54
libwebm: removed Cluster::Load (non-incremental)
...
Change-Id: I1f2ad153e0c643d04fa1fe1ec85410bbef1954ef
2011-03-18 11:18:46 -04:00
matthewjheaney
b324e52139
libwebm: handle truncated segment
...
Change-Id: Iddd15a207bce4a2c26f72e5e35f736c1b3f700d7
2011-03-16 15:08:06 -04:00
matthewjheaney
4137f9c999
libwebm: v1.0.0.20
...
Change-Id: I8a93517762c0edecd59a38e2f4fc99566c7b2de5
2011-03-15 14:27:53 -04:00
matthewjheaney
ba4096f120
libwebm: fixed bug in LoadBlockEntries
...
Change-Id: I4a0870030803bcbb5502800ae5627f716d417440
2011-03-10 15:12:16 -05:00
matthewjheaney
365a39b5ec
libwebm: set version to v1.0.0.19
...
Change-Id: I5e88dce1c52bc18bdab2063111830b5fbd0faafe
2011-03-09 11:04:21 -05:00
matthewjheaney
601f7903a3
libwebm: block group must parse ref times too
...
Change-Id: Iadf7674dfaf311e04f2eea35fc396e2eaab18163
2011-03-08 21:51:13 -05:00
matthewjheaney
16b2cdaf57
libwebm: changed to version v1.0.0.18
...
Change-Id: I9f0f0c25fca48cfe18fd16c332bf21265bfef204
2011-03-08 13:13:07 -05:00
matthewjheaney
ca1e6b7323
libwebm: defend against truncated stream
...
Change-Id: I3fb983f9601ac133752fbbdb8bb8b179b18d14fb
2011-03-08 12:25:26 -05:00
matthewjheaney
c226b79e61
libwebm: safer way to handle truncated cluster
...
Change-Id: Ifa9df95fedee14846835c16942a80735e7f3c0ed
2011-03-07 23:44:47 -05:00
matthewjheaney
dc8bdb3389
libwebm: handle EOF in ParseNext
...
Change-Id: I1d93fca0c6ad259e76b79bdba8bb0debdd96bd94
2011-03-07 22:40:00 -05:00
matthewjheaney
31b2d8689c
libwebm: parse unkown cluster size
...
Change-Id: I74f7f552185aafaa4466556644e95c3a25063a08
2011-03-07 21:11:57 -05:00
matthewjheaney
227d62aadf
libwebm: changed type from size_t to long
...
Change-Id: I5a684628119877a2f89116b760a1c7e41716748d
2011-03-02 19:05:28 -05:00
matthewjheaney
85beb00fe3
libwebm: changed idx from size_t to long
...
Change-Id: I7ea9637ab3c55d7535fe9f2fe11fe88f4d47e474
2011-03-02 18:21:21 -05:00
matthewjheaney
eb4bd69098
libwebm: do not lazy-load cue points
...
Change-Id: I07646f1942d1f473f051ff8ab0aa07b2f4381d4c
2011-02-26 16:59:42 -05:00
matthewjheaney
cf36dc2848
libwebm: added Cues::GetCount
...
Change-Id: I5b2bca8fd7229318783d9b97c50a4e20ce2ba640
2011-02-26 11:50:23 -05:00
matthewjheaney
b0465e167e
libwebm: audio track channel count defaults to 1
...
Change-Id: Id12bec611bd34f299235a278738f3b55cf5a36c5
2011-02-23 13:15:37 -05:00
matthewjheaney
a1aa16692a
libwebm: added support for incremental cluster parsing
...
Change-Id: Idb1bd292a01b7c9971967760ad016691ac628c29
2011-02-22 11:51:23 -05:00
matthewjheaney
f971a94349
changed version to 1.0.0.17
...
Change-Id: I213e1279a25d8b7830e635434723b4770d31662c
2011-02-14 15:31:38 -05:00
matthewjheaney
5ac9764a95
libwebm: liberalized parsing of next cluster
...
Change-Id: I166ecfb5a76d475b77c3e418c4ae91195ff58d32
2011-02-13 19:00:31 -05:00
matthewjheaney
d82f86a40a
libwebm: handle underflow from IMkvReader::Read
...
Change-Id: I8bb0ed53b7bfdde6c0ed24665591f95d7cf43083
2011-02-10 20:42:52 -05:00
matthewjheaney
a1736157be
libwebm: handle unknown cluster size in Segment::Load too
...
Change-Id: I7ed5feb7fe29cd413c8de35274138605725c5b38
2011-02-10 14:41:54 -05:00
matthewjheaney
2c835bcc28
libwebm: handle (as error) cluster with unknown size
...
Change-Id: I8342d50d0482d77cb895ae659568016eb48ed2be
2011-02-10 13:32:40 -05:00
matthewjheaney
d931a6ecc6
libwebm: set version to 1.0.0.16
...
Change-Id: Id8f9d8a5d1aa50545c403eb9da04f62347b4604f
2011-02-01 18:49:47 -08:00
matthewjheaney
7a8b013f16
libwebm: handle unknown file length
...
Change-Id: I6ad22ce302e40a4ec882b4f9ac59d5ca7f6489d7
2011-02-01 16:29:02 -08:00
matthewjheaney
a977a2b536
libwebm: changed version to 1.0.0.15
...
Change-Id: I70c6b22d75defcb11fecbbcd8763659cca7f77e0
2011-01-28 16:56:27 -05:00
matthewjheaney
5e72a2dfc2
libwebm: changed signature of CuePoint::GetTime
...
Change-Id: Ia80da8af5607c7067e848bafd453842cfe8cfcca
2011-01-28 00:52:13 -05:00
matthewjheaney
056b0d96a8
libwebm: changed version to 1.0.0.14
...
Change-Id: Id8147672e7fb761b2a69ff0d1ec05705e34eefc1
2011-01-26 19:08:43 -05:00
matthewjheaney
dbc58d0510
libwebm: make unserialize operations endian-neutral
...
Change-Id: I0c754ea8192020886dac14e3a0bd6a74c3165a92
2011-01-26 18:50:07 -05:00
matthewjheaney
a131a01446
libwebm: incrementally load block entries
...
Change-Id: I566df5979e7638b6a5411a3338bbb0cf7d9ad111
2011-01-25 23:01:51 -05:00
matthewjheaney
5b06b22b31
libwebm: removed warning in x64 mode
...
Change-Id: I391ad625babdede58c8025b332ee2c949e930454
2011-01-24 22:45:10 -05:00
matthewjheaney
598de03ef3
libwebm: version 1.0.0.13
...
Change-Id: I6417dfd731604461939a780d0fb411b888ae1d32
2011-01-24 22:40:19 -05:00
matthewjheaney
94f2d589fc
libwebm: tolerate errors in SeekHead element
...
Change-Id: I380f43dd495dc5107f5df37f9d05ff67da4f8424
2011-01-24 20:50:12 -05:00
matthewjheaney
786357a59d
version 1.0.0.12
...
Supports incremental (partial) loading
Supports incremental parsing of Cues element
Change-Id: I38ef8dc56b970a7401aa4561197bf93e2df979da
2011-01-22 13:48:09 -05:00
matthewjheaney
6e723319e8
added support for incremental (partial) loading
...
Change-Id: Ic411e6214fdfc3e23a7e3f621f9fb8be0d650d50
2011-01-21 20:04:58 -05:00
matthewjheaney
9911f61616
incrementally parse cue points
...
Change-Id: I83699208eabb2433b25f634927b7c0be8623c3a2
2011-01-19 21:22:37 -05:00
matthewjheaney
b0f96983d2
changed version to 1.0.0.11
...
Change-Id: I22e85c56a3be07dba0959520a40b341b807f377c
2011-01-14 18:21:35 -05:00
matthewjheaney
6d7732575a
added comment to fix VideoTrack::Seek
...
Change-Id: I2a8b3e4ca92bdfd2d77c84ab970379d22a06e451
2011-01-14 18:17:16 -05:00
matthewjheaney
8081c58b9b
LoadCluster: ensure avail before geting uint len
...
Change-Id: I421501fcd9fdc017eee5307834911fbd18b510b0
2011-01-13 23:30:47 -05:00
matthewjheaney
00aa1804e9
Segment::ParseHeaders return wrong result when underflow
...
Change-Id: Iabdec9c2f062ec2fc6c9edeec208c4efc07c8307
2011-01-13 22:53:54 -05:00
matthewjheaney
bb8dfbe026
Segment::ParseNext is implemented
...
Change-Id: I31100afd4c16c48b366b7a29bec597909f9e2bbc
2011-01-13 15:11:33 -05:00
Hwasoo Lee
b81751642e
initialized members using initialize list of EBMLHeader
...
Change-Id: I5bb46132141d7381dd23e0a3b87a3b6c0e8b7f4b
2011-01-13 15:00:16 -05:00
Frank Galligan
d1aff34626
Added EBML element start and size to Segment Info, Tracks, Track,
...
Cluster, Cues, and CuePoint. The information was needed for some
tools bieng worked on. Element start is byte offset of the EMBL ID's
first byte.
Change-Id: I64e0a48932630e0a5269418f4979487d6d7bce60
2011-01-05 13:57:29 -05:00
matthewjheaney
6623441ee8
changed version to 1.0.0.10
...
Change-Id: Ib5acbe084dce95b1bb520731015ff345390acad8
2010-12-16 15:13:41 -05:00
matthewjheaney
3ba8df9a64
return invisible flag setting
...
Change-Id: I1953b0a590813302054245b8ceb5430aa1d9d09b
2010-12-14 15:05:35 -05:00
matthewjheaney
bebe4accb8
changed version to 1.0.0.9
...
Change-Id: Iee4ba7605e191290e99a9424b76e57d6f0e965c2
2010-12-07 13:58:49 -05:00
matthewjheaney
93263f0b4a
return error when no segment id found
...
Change-Id: I291335dc726171f7eb3820b9ade2d261a33500ff
2010-12-03 11:57:53 -05:00
matthewjheaney
e1e757f919
LoadCluster passes back posn and size
...
Change-Id: I91b3c2234f7621139a5cae2d71af7301a30c027e
2010-11-30 12:49:20 -05:00
matthewjheaney
6c45ab2d4c
parse seek head only when source available
...
Change-Id: Iba3b9e46d0cb28fd91a2a7062c6aa4bac3f72c0c
2010-11-29 17:11:38 -05:00
matthewjheaney
cb7b24880f
LoadCluster now checks for underflow
...
Change-Id: I5a1ad57753657f71075d0ad8ca39841e7aae9e57
2010-11-29 16:03:44 -05:00
matthewjheaney
157775ac74
fixed bug: was searching outside array bounds
...
Change-Id: If02466f240dc2a00b2a9a8f75b0ffa27a8984ec0
2010-11-22 16:29:40 -05:00
matthewjheaney
fd1d8006f0
moved seek function from segment to track
...
Change-Id: Ie34549cea4c5d961b6cc04ef229a3eadc1f0ee3b
2010-11-22 15:57:25 -05:00
matthewjheaney
9203d2dcd1
set version to 1.0.0.8
...
Change-Id: If4bd0d73f72cb819dee9d985fe8f64490c3ab206
2010-11-19 14:55:56 -05:00
matthewjheaney
be2f81abca
filter out empty clusters
...
Change-Id: Iad4da9d55c1cfc332042d0017bd5d77e9ad511b6
2010-11-18 19:28:50 -05:00
matthewjheaney
cb5414a42a
changed semantics of m_entries_count
...
Change-Id: I114b1482239cced838932f35ca4b5ae380f0d022
2010-11-18 17:30:12 -05:00
matthewjheaney
2ce6965b2d
GetEntry now accepts a time
...
Change-Id: I850cfa1deaae465b91c9f65b774ad49cce9e8b8d
2010-11-17 14:27:55 -05:00
Hwasoo Lee
8db600e1c9
handled unknown size of segment for live stream
...
Change-Id: I7dcc08e38c6cd31a55693b39ace414c14399d1b5
2010-11-16 16:17:10 -05:00
Hwasoo Lee
d97f236f81
fixed the issue 234
...
Change-Id: Ie527263ae2862426e8c58fce13b34da4c792cc01
2010-11-16 14:54:14 -05:00
matthewjheaney
790f639f2f
ignore empty clusters when getting first block
...
Change-Id: I9278efcacc3ea5dcfa584cb0937e39a4004e6947
2010-11-15 21:22:57 -05:00
matthewjheaney
91dbee4b6e
set version to 1.0.0.7
...
Change-Id: I09444586c0b1ed6fd5002631a9eece890644d278
2010-11-12 15:01:57 -05:00
matthewjheaney
1e6c5cbaf7
ignore empty clusters when finding next one
...
Change-Id: I7478e6428c8383a1d05a91e9a44b6d1ee1335da7
2010-11-12 13:30:47 -05:00
matthewjheaney
c62b9f8a21
relax block value check
...
Change-Id: Ifaf4cbc4176dde8e2653cb9da9888551a872da7b
2010-11-11 22:30:42 -05:00
Ryan Thompson
14e42cf98b
Made getcluster call const
...
As Inherited from the super class this call should also be const.
2010-11-08 16:14:04 -05:00
matthewjheaney
6c9f4d11a1
set version to 1.0.0.6
...
Change-Id: I259171d7bce7f670cb937707a9864aa0b9eb0d22
2010-11-05 15:21:28 -04:00
matthewjheaney
95c134ad53
ensure const correctness
...
Change-Id: Ia401d66519d1d663e9630ad1e70f18adec0f0bb5
2010-11-04 19:15:16 -04:00
matthewjheaney
7adec5248a
added lacing support
...
Change-Id: I79ce0b6820f62846b05edbc8a0cb381aa2bc32a6
2010-11-02 11:44:31 -04:00
matthewjheaney
093b78faf2
set version to 1.0.0.5
...
Change-Id: I3643a0019110b1ff7359a8d414bf0cd2ba9b5d54
2010-10-29 14:31:47 -04:00
matthewjheaney
ed90de0d52
check lacing bits
...
Change-Id: Iaa3a65429b7f3211868a86bbb83ce8018350554a
2010-10-29 14:04:43 -04:00
matthewjheaney
a01e568293
removed IsBFrame selector
...
Change-Id: Iae51165c318997a9131e9af5c667cfac1f37e773
2010-10-28 17:28:59 -04:00
matthewjheaney
d7ce23a019
handle empty clusters when seeking
...
Change-Id: I9bb39ff95e308639402e1c7f9aec59c81350d091
2010-10-28 14:45:27 -04:00
matthewjheaney
acf7ddb273
handle empty clusters
...
Change-Id: I57b085367e1b900acb0ddd6ee419e317f261718a
2010-10-27 16:47:14 -04:00
matthewjheaney
fc12207e15
handle case when no duration
...
Change-Id: I694f6ce6ae9ecc6fc3b90b954dd7041e82fb9ac0
2010-10-22 13:46:39 -04:00
matthewjheaney
c2f6bea0d8
changed version to 1.0.0.4
...
Change-Id: I8580a5de258d74b6a83505046d014ad9c6abfc23
2010-10-14 19:34:37 -04:00
matthewjheaney
16934eb76f
separate cue-based searches
...
Change-Id: I5d98be1c9c5bc33b4ef216f48de22220f38c0f36
2010-10-13 13:44:13 -04:00
matthewjheaney
9c15c0f40b
Segment::GetCluster returns CuePoint too
...
Change-Id: Id1b865a9efdcee6b6ef68d4fb323da50f1942f2a
2010-10-12 15:29:28 -04:00
matthewjheaney
43f77d54bd
defend against badly-formatted cue points
...
Change-Id: I72bab89f0828b2c5275a4c4b3ac22ee61a173ddf
2010-10-11 19:09:27 -04:00
matthewjheaney
aec650fed7
made Cues member variables mutable
...
Change-Id: I405b845f37c9deaffd67e50752fb9b2aa7124484
2010-10-11 12:59:17 -04:00
matthewjheaney
024ad97571
set version to 1.0.0.3
...
Change-Id: I629400289383482462dac5d0b00f9f615d83db89
2010-10-08 20:19:47 -04:00
matthewjheaney
8f2a2e04d7
load cue point during find
...
Change-Id: Ied0ea43c85cba47af61c0f60698df18c58389d0c
2010-10-08 20:08:15 -04:00
matthewjheaney
9105d61514
lazy init cues
...
Change-Id: I20e923bcc4be0dd607fb66a63c4f94b96854573e
2010-10-08 19:35:32 -04:00
matthewjheaney
77f61bdd68
merged Cues::LoadCuePoint into Cues::Find
...
Change-Id: I7b90dd076418b75e54b1d77bb4a934220019e9df
2010-10-08 19:06:20 -04:00
matthewjheaney
485b6e8125
lazy load cue points as they're searched
...
Change-Id: Ifa767e579624f4da06670bf791a85cbee4336682
2010-10-08 18:26:44 -04:00
matthewjheaney
1d0c804fb9
allow cue points to be loaded incrementally
...
Change-Id: I6c10647c8885d9dcb0d6cb10dd2d6ba94a04ea38
2010-10-07 19:07:48 -04:00
matthewjheaney
b607880184
mark position of cues without parsing cues element
...
Change-Id: I351ecca9dd82be95f8ef46f967983e612846ce87
2010-10-07 14:33:38 -04:00
matthewjheaney
d2688d316d
restructured Segment::LoadCluster
...
Change-Id: Iaf792807445f3866f4ace4cc5663eb6396ac34be
2010-10-06 12:13:33 -04:00
matthewjheaney
885d2e1ef8
do not attempt to reparse cues element
...
Change-Id: Iebab4960f849fa65ecded360f73c0df8ebac4cc5
2010-10-05 20:42:28 -04:00
matthewjheaney
1cf3a81c78
allow seeking beyond end of cluster cache
...
Change-Id: I254039af3cb72039b5204f52d0dd613f7a47782d
2010-10-05 20:18:19 -04:00
matthewjheaney
6efbd56948
parse SeekHead to find Cues
...
Change-Id: I08334e48c587e08392c29dfa4118eb92eca7c25d
2010-10-05 14:12:15 -04:00
matthewjheaney
f56533b30e
changed cluster count type from size_t to long
...
Change-Id: I1957e20b7f565d8e43ee3f983eaceb67f2ddf3cd
2010-10-04 13:55:03 -04:00
Jeff Koppi
ec2b951a78
Add Block::GetOffset() accessor.
...
Change-Id: I6172c412a8b2b093a365d634e48fcd7a09363111
Added accessor for Block, to query offset value.
2010-10-01 17:21:28 -04:00
matthewjheaney
616b1c80de
set version to 1.0.0.2
...
Change-Id: Idba35e5b050bfa894696cc4cec41b623f7db4d8d
2010-10-01 12:52:49 -04:00
matthewjheaney
c35501d2c3
use NULL instead of 0 for ptr
...
Change-Id: Id203f1e2cda13476e62784caa8897a4b94e797da
2010-10-01 11:44:45 -04:00
matthewjheaney
78510a09a4
fixed bug in cluster index expansion algorithm
...
Change-Id: I61b63de2c4175c59555247a102121d37cec937cf
2010-09-30 15:56:13 -04:00
matthewjheaney
3edd0129cb
made some CuePoint member variables private
...
Change-Id: Ia33b6d8293f4892c15f11fca1035dd55a66f758c
2010-09-23 13:04:39 -04:00
matthewjheaney
5942555352
fixed more bugs and warnings in cues handling
...
Change-Id: Ifef1a18b5c7b7ad2bee84909d2cc698f32feba8e
2010-09-23 12:02:55 -04:00
matthewjheaney
0ca566d081
removed _abs64
...
Change-Id: I7814319a349e848d75ef81e325f6633131ccb5ca
2010-09-23 11:51:26 -04:00
matthewjheaney
010416f8c6
removed some obsolete code
...
Change-Id: Ic66d4fbcce06613b9ab62734a3fa235315361b44
2010-09-23 11:39:47 -04:00
matthewjheaney
3d6c676ef2
fixed bug in SearchCues
...
Change-Id: I8a6e413820ce2da7f7975825aaa056c407dcc043
2010-09-23 11:26:05 -04:00
matthewjheaney
65361858b6
added cues support
...
Change-Id: I95d6f859346ad4cdccac423ebc99b2e2c7eca8a5
2010-09-23 10:59:44 -04:00
matthewjheaney
a9cff1f923
simplified cluster loading algorithm
...
Change-Id: Iae71035aac7d9aadf2ac9b8c2a4246c506e5ddfb
2010-09-22 12:47:24 -04:00
matthewjheaney
fe56cd5929
fixed bug in AddCluster
...
Change-Id: Iab96e08de77e8ccef2f5ff717ab2bae888ca4abf
2010-09-21 16:37:19 -04:00
Hwasoo Lee
c22b286ee0
fixed bug #181 :
...
Change-Id: I5912036835046f7d6534114e83542ebcbcc019b7
2010-09-21 11:47:35 -04:00
matthewjheaney
1e9b0f5b21
smarter method for finding cluster, given a time
...
Change-Id: Ia727cc60deba87ab0a8da5d0576e7aeb7b273f74
2010-09-16 15:54:40 -04:00
matthewjheaney
b8b14eef12
GetFirstTime returns long long, not __int64
...
Change-Id: Ia7f43f799a84c9a2a7dfeb79b2e152f933aba2bd
2010-09-10 14:42:11 -04:00
matthewjheaney
a92619c7d3
mkvparser: Cluster::GetLast should load block entries
...
Change-Id: Ia8606be6c316591b1dc97bf684361dc9492e64c1
2010-09-03 16:41:28 -04:00
matthewjheaney
276009d78a
search multiple clusters for first (or next) frame
...
Change-Id: Ib4d50b89f1e3abe7b59d4adabc272faeb2b429a2
2010-09-03 16:01:36 -04:00
Hwasoo Lee
4243c5dc20
* fixed item 141 and added GetVersion()
...
Change-Id: I4a54b66f8c781150e41845b0a62e42ad376e53a4
2010-07-19 15:06:51 -04:00
Frank Galligan
a4007c1dc9
Update the handling of key frames in non-simple blocks.
...
Change-Id: I1705b20f4a9ee197c56533ae72df37531cb7ee87
2010-06-30 14:04:12 -04:00
Hwasoo Lee
8993f17fb9
removed trailing white spaces in code
...
Change-Id: Ifec57ab7278a6b63fd2465e32ba82c7805c359ab
2010-06-15 17:47:45 -04:00
Hwasoo Lee
0a8911b74c
changed headers for license
...
Change-Id: Ie09fd98548a9c3300a523b40f83d42c3de13e1c3
2010-06-15 17:43:20 -04:00
Hwasoo Lee
8ccdd10ad8
initialized AudioTrack and fixed indentation in Linux
...
Change-Id: I7ca148256f695b053318e962b06e34034b6c7cd4
2010-06-11 16:30:13 -04:00
Hwasoo Lee
5e785450d6
handled no seekhead of clusters
...
Change-Id: I901381c774772103e9f0324c8618f2e4b783deec
2010-06-11 14:30:34 -04:00
John Koleszar
d537a9471d
Initial version
2010-06-02 10:25:33 -04:00