Compare commits

..

7 Commits

Author SHA1 Message Date
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
2 changed files with 767 additions and 374 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -545,7 +545,7 @@ public:
Segment*, Segment*,
long, long,
long long off, long long off,
long long element_start, //long long element_start,
long long element_size); long long element_size);
Cluster(); //EndOfStream Cluster(); //EndOfStream
@@ -567,12 +567,20 @@ public:
const CuePoint::TrackPosition&) const; const CuePoint::TrackPosition&) const;
const BlockEntry* GetMaxKey(const VideoTrack*) const; const BlockEntry* GetMaxKey(const VideoTrack*) const;
static bool HasBlockEntries(const Segment*, long long); // static bool HasBlockEntries(const Segment*, long long);
static long HasBlockEntries(
const Segment*,
long long idoff,
long long& pos,
long& size);
long GetEntryCount() const; long GetEntryCount() const;
void Load() const; void Load() const;
long Load(long long& pos, long& size) const;
void LoadBlockEntries() const; void LoadBlockEntries() const;
long LoadBlockEntries(long long& pos, long& size) const;
protected: protected:
Cluster( Cluster(
@@ -588,7 +596,7 @@ public:
mutable long long m_pos; mutable long long m_pos;
mutable long long m_size; mutable long long m_size;
const long long m_element_start; const long long m_element_start;
const long long m_element_size; mutable long long m_element_size;
private: private:
mutable long long m_timecode; mutable long long m_timecode;
@@ -637,10 +645,12 @@ public:
long long& pos, long long& pos,
long& size); long& size);
#if 0
//This pair parses one cluster, but only changes the state of the //This pair parses one cluster, but only changes the state of the
//segment object when the cluster is actually added to the index. //segment object when the cluster is actually added to the index.
long ParseCluster(long long& cluster_pos, long long& new_pos) const; long ParseCluster(long long& cluster_pos, long long& new_pos) const;
bool AddCluster(long long cluster_pos, long long new_pos); bool AddCluster(long long cluster_pos, long long new_pos);
#endif
const SeekHead* GetSeekHead() const; const SeekHead* GetSeekHead() const;
const Tracks* GetTracks() const; const Tracks* GetTracks() const;