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

Side by Side Diff: media/filters/webm_parser.h

Issue 7203002: Adding ChunkDemuxer implementation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: More cleanup & commenting Created 9 years, 6 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 #ifndef MEDIA_FILTERS_WEBM_PARSER_H_
scherkus (not reviewing) 2011/06/22 17:31:09 nit: add space before
5 #define MEDIA_FILTERS_WEBM_PARSER_H_
6
7 #include <string>
8
9 #include "base/basictypes.h"
10
11 namespace media {
scherkus (not reviewing) 2011/06/22 17:31:09 I don't see any reason why this needs to be inside
acolwell GONE FROM CHROMIUM 2011/06/23 16:51:28 Done. Moved to webm folder.
12
13 const int kWebMIdAspectRatioType = 0x54B3;
scherkus (not reviewing) 2011/06/22 17:31:09 typically initialize these in .cc would it make s
acolwell GONE FROM CHROMIUM 2011/06/23 16:51:28 Done. Moved to webm_constants.h
14 const int kWebMIdAudio = 0xE1;
15 const int kWebMIdBitDepth = 0x6264;
16 const int kWebMIdBlock = 0xA1;
17 const int kWebMIdBlockGroup = 0xA0;
18 const int kWebMIdChannels = 0x9F;
19 const int kWebMIdCluster = 0x1f43b675;
20 const int kWebMIdCodecID = 0x86;
21 const int kWebMIdCodecName = 0x258688;
22 const int kWebMIdCodecPrivate = 0x63A2;
23 const int kWebMIdDateUTC = 0x4461;
24 const int kWebMIdDefaultDuration = 0x23E383;
25 const int kWebMIdDisplayHeight = 0x54BA;
26 const int kWebMIdDisplayUnit = 0x54B2;
27 const int kWebMIdDisplayWidth = 0x54B0;
28 const int kWebMIdDuration = 0x4489;
29 const int kWebMIdFlagDefault = 0x88;
30 const int kWebMIdFlagEnabled = 0xB9;
31 const int kWebMIdFlagForced = 0x55AA;
32 const int kWebMIdFlagInterlaced = 0x9A;
33 const int kWebMIdFlagLacing = 0x9C;
34 const int kWebMIdInfo = 0x1549A966;
35 const int kWebMIdLanguage = 0x22B59C;
36 const int kWebMIdMuxingApp = 0x4D80;
37 const int kWebMIdName = 0x536E;
38 const int kWebMIdOutputSamplingFrequency = 0x78B5;
39 const int kWebMIdPixelCropBottom = 0x54AA;
40 const int kWebMIdPixelCropLeft = 0x54CC;
41 const int kWebMIdPixelCropRight = 0x54DD;
42 const int kWebMIdPixelCropTop = 0x54BB;
43 const int kWebMIdPixelHeight = 0xBA;
44 const int kWebMIdPixelWidth = 0xB0;
45 const int kWebMIdSamplingFrequency = 0xB5;
46 const int kWebMIdSegmentUID = 0x73A4;
47 const int kWebMIdSimpleBlock = 0xA3;
48 const int kWebMIdStereoMode = 0x53B8;
49 const int kWebMIdTimecode = 0xE7;
50 const int kWebMIdTimecodeScale = 0x2AD7B1;
51 const int kWebMIdTitle = 0x7BA9;
52 const int kWebMIdTrackEntry = 0xAE;
53 const int kWebMIdTrackNumber = 0xD7;
54 const int kWebMIdTrackType = 0x83;
55 const int kWebMIdTrackUID = 0x73C5;
56 const int kWebMIdTracks = 0x1654AE6B;
57 const int kWebMIdVideo = 0xE0;
58 const int kWebMIdWritingApp = 0x5741;
59
60 // Interface for receiving WebM parser events.
61 //
62 // Each method is called when an element of the specified type is parsed.
63 // The ID of the element that was parsed is given along with the value
64 // stored in the element. List elements generate calls at the start and
65 // end of the list. Any pointers passed to these methods are only guarenteed
scherkus (not reviewing) 2011/06/22 17:31:09 guaranteed
acolwell GONE FROM CHROMIUM 2011/06/23 16:51:28 Done.
66 // to be valid for the life of that call. Once the call returns the pointer
67 // may become invalid. Each method returns a bool that indicates whether the
scherkus (not reviewing) 2011/06/22 17:31:09 nit: previous sentence says pointers are only guar
acolwell GONE FROM CHROMIUM 2011/06/23 16:51:28 Done.
68 // parsed data is valid. If false is returned then the parse is immediately
69 // terminated and an error is reported by the parser.
70 class WebMParserClient {
71 public:
72 virtual ~WebMParserClient();
73
74 virtual bool OnListStart(int id) = 0;
75 virtual bool OnListEnd(int id) = 0;
76 virtual bool OnUInt(int id, int64 val) = 0;
77 virtual bool OnFloat(int id, double val) = 0;
78 virtual bool OnBinary(int id, const uint8* data, int size) = 0;
79 virtual bool OnString(int id, const std::string& str) = 0;
80 virtual bool OnSimpleBlock(int track_num, int timecode,
81 int flags,
82 const uint8* data, int size) = 0;
83 };
84
85 // Parses a buffer that contains INFO & TRACKS elements.
86 int webm_parse_headers(WebMParserClient* client,
scherkus (not reviewing) 2011/06/22 17:31:09 this looks like a non-trivial method -- Perhaps Pa
acolwell GONE FROM CHROMIUM 2011/06/23 16:51:28 Done.
87 const uint8* buf, int size);
88
89 // Parses a buffer that contains a CLUSTER element.
90 int webm_parse_cluster(WebMParserClient* client,
scherkus (not reviewing) 2011/06/22 17:31:09 docs for these methods? I notice they return -1 -
acolwell GONE FROM CHROMIUM 2011/06/23 16:51:28 I've added comments to explain the return value. T
91 const uint8* buf, int size);
92 } // namespace media
93
94 #endif // MEDIA_FILTERS_WEBM_PARSER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698