Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(22)

Side by Side Diff: source/libvpx/third_party/libwebm/mkvparser.hpp

Issue 1339513003: libvpx: Pull from upstream (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libvpx.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The WebM project authors. All Rights Reserved. 1 // Copyright (c) 2012 The WebM project authors. All Rights Reserved.
2 // 2 //
3 // Use of this source code is governed by a BSD-style license 3 // Use of this source code is governed by a BSD-style license
4 // that can be found in the LICENSE file in the root of the source 4 // that can be found in the LICENSE file in the root of the source
5 // tree. An additional intellectual property rights grant can be found 5 // tree. An additional intellectual property rights grant can be found
6 // in the file PATENTS. All contributing project authors may 6 // in the file PATENTS. All contributing project authors may
7 // be found in the AUTHORS file in the root of the source tree. 7 // be found in the AUTHORS file in the root of the source tree.
8 8
9 #ifndef MKVPARSER_HPP 9 #ifndef MKVPARSER_HPP
10 #define MKVPARSER_HPP 10 #define MKVPARSER_HPP
11 11
12 #include <cstddef>
13 #include <cstdio>
12 #include <cstdlib> 14 #include <cstdlib>
13 #include <cstdio>
14 #include <cstddef>
15 15
16 namespace mkvparser { 16 namespace mkvparser {
17 17
18 const int E_PARSE_FAILED = -1;
18 const int E_FILE_FORMAT_INVALID = -2; 19 const int E_FILE_FORMAT_INVALID = -2;
19 const int E_BUFFER_NOT_FULL = -3; 20 const int E_BUFFER_NOT_FULL = -3;
20 21
21 class IMkvReader { 22 class IMkvReader {
22 public: 23 public:
23 virtual int Read(long long pos, long len, unsigned char* buf) = 0; 24 virtual int Read(long long pos, long len, unsigned char* buf) = 0;
24 virtual int Length(long long* total, long long* available) = 0; 25 virtual int Length(long long* total, long long* available) = 0;
25 26
26 protected: 27 protected:
27 virtual ~IMkvReader(); 28 virtual ~IMkvReader();
28 }; 29 };
29 30
31 template<typename Type> Type* SafeArrayAlloc(unsigned long long num_elements,
32 unsigned long long element_size);
30 long long GetUIntLength(IMkvReader*, long long, long&); 33 long long GetUIntLength(IMkvReader*, long long, long&);
31 long long ReadUInt(IMkvReader*, long long, long&); 34 long long ReadUInt(IMkvReader*, long long, long&);
35 long long ReadID(IMkvReader* pReader, long long pos, long& len);
32 long long UnserializeUInt(IMkvReader*, long long pos, long long size); 36 long long UnserializeUInt(IMkvReader*, long long pos, long long size);
33 37
34 long UnserializeFloat(IMkvReader*, long long pos, long long size, double&); 38 long UnserializeFloat(IMkvReader*, long long pos, long long size, double&);
35 long UnserializeInt(IMkvReader*, long long pos, long long size, 39 long UnserializeInt(IMkvReader*, long long pos, long long size,
36 long long& result); 40 long long& result);
37 41
38 long UnserializeString(IMkvReader*, long long pos, long long size, char*& str); 42 long UnserializeString(IMkvReader*, long long pos, long long size, char*& str);
39 43
40 long ParseElementHeader(IMkvReader* pReader, 44 long ParseElementHeader(IMkvReader* pReader,
41 long long& pos, // consume id and size fields 45 long long& pos, // consume id and size fields
(...skipping 784 matching lines...) Expand 10 before | Expand all | Expand 10 after
826 const BlockEntry* GetBlock(const CuePoint*, 830 const BlockEntry* GetBlock(const CuePoint*,
827 const CuePoint::TrackPosition*) const; 831 const CuePoint::TrackPosition*) const;
828 832
829 bool LoadCuePoint() const; 833 bool LoadCuePoint() const;
830 long GetCount() const; // loaded only 834 long GetCount() const; // loaded only
831 // long GetTotal() const; //loaded + preloaded 835 // long GetTotal() const; //loaded + preloaded
832 bool DoneParsing() const; 836 bool DoneParsing() const;
833 837
834 private: 838 private:
835 bool Init() const; 839 bool Init() const;
836 void PreloadCuePoint(long&, long long) const; 840 bool PreloadCuePoint(long&, long long) const;
837 841
838 mutable CuePoint** m_cue_points; 842 mutable CuePoint** m_cue_points;
839 mutable long m_count; 843 mutable long m_count;
840 mutable long m_preload_count; 844 mutable long m_preload_count;
841 mutable long long m_pos; 845 mutable long long m_pos;
842 }; 846 };
843 847
844 class Cluster { 848 class Cluster {
845 friend class Segment; 849 friend class Segment;
846 850
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
992 Tags* m_pTags; 996 Tags* m_pTags;
993 Cluster** m_clusters; 997 Cluster** m_clusters;
994 long m_clusterCount; // number of entries for which m_index >= 0 998 long m_clusterCount; // number of entries for which m_index >= 0
995 long m_clusterPreloadCount; // number of entries for which m_index < 0 999 long m_clusterPreloadCount; // number of entries for which m_index < 0
996 long m_clusterSize; // array size 1000 long m_clusterSize; // array size
997 1001
998 long DoLoadCluster(long long&, long&); 1002 long DoLoadCluster(long long&, long&);
999 long DoLoadClusterUnknownSize(long long&, long&); 1003 long DoLoadClusterUnknownSize(long long&, long&);
1000 long DoParseNext(const Cluster*&, long long&, long&); 1004 long DoParseNext(const Cluster*&, long long&, long&);
1001 1005
1002 void AppendCluster(Cluster*); 1006 bool AppendCluster(Cluster*);
1003 void PreloadCluster(Cluster*, ptrdiff_t); 1007 bool PreloadCluster(Cluster*, ptrdiff_t);
1004 1008
1005 // void ParseSeekHead(long long pos, long long size); 1009 // void ParseSeekHead(long long pos, long long size);
1006 // void ParseSeekEntry(long long pos, long long size); 1010 // void ParseSeekEntry(long long pos, long long size);
1007 // void ParseCues(long long); 1011 // void ParseCues(long long);
1008 1012
1009 const BlockEntry* GetBlock(const CuePoint&, const CuePoint::TrackPosition&); 1013 const BlockEntry* GetBlock(const CuePoint&, const CuePoint::TrackPosition&);
1010 }; 1014 };
1011 1015
1012 } // end namespace mkvparser 1016 } // end namespace mkvparser
1013 1017
1014 inline long mkvparser::Segment::LoadCluster() { 1018 inline long mkvparser::Segment::LoadCluster() {
1015 long long pos; 1019 long long pos;
1016 long size; 1020 long size;
1017 1021
1018 return LoadCluster(pos, size); 1022 return LoadCluster(pos, size);
1019 } 1023 }
1020 1024
1021 #endif // MKVPARSER_HPP 1025 #endif // MKVPARSER_HPP
OLDNEW
« no previous file with comments | « source/libvpx/third_party/libwebm/mkvmuxer.hpp ('k') | source/libvpx/third_party/libwebm/mkvparser.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698