Tag Parser  6.3.0
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
matroskaid.cpp
Go to the documentation of this file.
1 #include "./ebmlid.h"
2 #include "./matroskaid.h"
3 
4 namespace Media {
5 
9 namespace MatroskaIds {
10 
11 }
12 
16 namespace MatroskaTrackType {
17 
18 }
19 
24 const char *matroskaIdName(uint32 matroskaId)
25 {
26  using namespace EbmlIds;
27  using namespace MatroskaIds;
28 
29  switch(matroskaId) {
30  // top-level IDs
31  case Header: return "header";
32  case Version: return "version";
33  case ReadVersion: return "read version";
34  case MaxIdLength: return "max id length";
35  case MaxSizeLength: return "max size length";
36  case DocType: return "document type";
37  case DocTypeVersion: return "document version";
38  case DocTypeReadVersion: return "document read version";
39  case Void: return "void";
40  case Crc32: return "CRC-32";
41  case Segment: return "segment";
42  case SegmentInfo: return "segment info";
43  case Tracks: return "tracks";
44  case Cues: return "cues";
45  case Tags: return "tags";
46  case SeekHead: return "seek head";
47  case Cluster: return "cluster";
48  case Attachments: return "attachments";
49  case Chapters: return "chapters";
50 
51  // IDs in the SeekHead master
52  case Seek: return "seek";
53 
54  // IDs in the Seek master
55  case SeekID: return "seek id";
56  case SeekPosition: return "seek position";
57 
58  // IDs in the SegmentInfo master
59  case TimeCodeScale: return "time scale code";
60  case Duration: return "duration";
61  case WrittingApp: return "writing application";
62  case MuxingApp: return "muxing application";
63  case DateUTC: return "date UTC";
64  case SegmentUID: return "unique segment ID";
65  case SegmentFileName: return "segment file name";
66  case PrevUId: return "previous unique id";
67  case PrevFileName: return "previous file name";
68  case NexUId: return "next unique ID";
69  case NexFileName: return "next file name";
70  case Title: return "title";
71  case SegmentFamily: return "segment family";
72  case ChapterTranslate: return "chapter translate";
73 
74  // IDs in ChapterTranslate master
75  case ChapterTranslateEditionUID: return "chapter translate edition UID";
76  case ChapterTranslateCodec: return "chapter translate codec";
77  case ChapterTranslateID: return "chapter translate ID";
78 
79  // IDs in the Tracks master
80  case TrackEntry: return "track entry";
81 
82  // IDs in the TrackEntry master
83  case TrackNumber: return "track number";
84  case TrackUID: return "unique track id";
85  case TrackType: return "track type";
86  case TrackAudio: return "audio track";
87  case TrackVideo: return "video track";
88  case ContentEncodings: return "content encodings";
89  case CodecID: return "codec id";
90  case CodecPrivate: return "codec private";
91  case CodecName: return "codec name";
92  case TrackName: return "track name";
93  case TrackLanguage: return "track language";
94  case TrackFlagEnabled: return "track enabled";
95  case TrackFlagDefault: return "default track";
96  case TrackFlagForced: return "forced track";
97  case TrackFlagLacing: return "track lacing";
98  case MinCache: return "track minimum cache";
99  case MaxCache: return "track maximum cache";
100  case DefaultDuration: return "track default duration";
101  case TrackTimeCodeScale: return "track time code scale";
102  case MaxBlockAdditionId: return "max block addition ID";
103  case AttachmentLink: return "track attachment link";
104  case TrackOverlay: return "track overlay";
105  case TrackTranslate: return "track translate";
106  case TrackOffset: return "track offset";
107  case CodecSettings: return "codec settings";
108  case CodecInfoUrl: return "codec info url";
109  case CodecDownloadUrl: return "codec download url";
110  case CodecDecodeAll: return "codec decode all";
111 
112  // IDs in the TrackTranslate master
113  case TrackTranslateEditionUID: return "track translate edition UID";
114  case TrackTranslateCodec: return "track translate codec";
115  case TrackTranslateTrackID: return "track translate ID";
116 
117  // IDs in the TrackVideo master
118  case FrameRate: return "video frame rate";
119  case DisplayWidth: return "video display width";
120  case DisplayHeight: return "video display height";
121  case DisplayUnit: return "video display unit";
122  case PixelWidth: return "video pixel width";
123  case PixelHeight: return "video pixel height";
124  case PixelCropBottom: return "video pixel crop bottom";
125  case PixelCropTop: return "video pixel crop top";
126  case PixelCropLeft: return "video pixel crop left";
127  case PixelCropRight: return "video pixel crop right";
128  case FlagInterlaced: return "video flag interlaced";
129  case StereoMode: return "video stereo mode";
130  case AspectRatioType: return "video aspect ratio type";
131  case ColorSpace: return "video color space";
132  case GammaValue: return "video gamma value";
133 
134  // IDs in the TrackAudio master
135  case SamplingFrequency: return "audio sampling frequence";
136  case BitDepth: return "audio bit depth";
137  case Channels: return "audio channels";
138  case ChannelsPositions: return "audio channel positions";
139  case OutputSamplingFrequency: return "audio output sample frequence";
140 
141  // IDs in the TrackOperation master
142  case TrackCombinePlanes: return "track combine planes";
143  case TrackJoinBlocks: return "track join blocks";
144 
145  // IDs in the TrackCombinePlanes master
146  case TrackPlane: return "track plane";
147 
148  // IDs in the TrackPlane master
149  case TrackPlaneUID: return "track plane UID";
150  case TrackPlaneType: return "track plane type";
151 
152  // IDs in the TrackJoinBlocks master
153  case TrackJoinUID: return "track join UID";
154 
155  // IDs in the ContentEncoding master
156  case ContentEncodingOrder: return "content encoding order";
157  case ContentEncodingScope: return "content encoding scope";
158  case ContentEncodingType: return "content encoding type";
159  case ContentCompression: return "content encoding compression";
160  case ContentEncryption: return "content encoding encryption";
161 
162  // IDs in the ContentEncryption master
163  case ContentEncAlgo: return "content encryption algorithmus";
164  case ContentEncKeyID: return "content encryption key ID";
165  case ContentSignature: return "content encryption signature";
166  case ContentSigKeyID: return "content encryption signature key ID";
167  case ContentSigAlgo: return "content encryption signature algorithmus";
168  case ContentSigHashAlgo: return "content encryption signature hash algorithmus";
169 
170  // IDs in the Tags master
171  case Tag: return "tag";
172 
173  // IDs in the Tag master
174  case SimpleTag: return "simple tag";
175  case Targets: return "targets";
176 
177  // IDs in the SimpleTag master
178  case TagName: return "tag name";
179  case TagString: return "tag string";
180  case TagLanguage: return "tag language";
181  case TagDefault: return "tag default";
182  case TagBinary: return "tag binary";
183 
184  // IDs in the Targets master
185  case TargetTypeValue: return "target type value";
186  case TargetType: return "target type";
187  case TagTrackUId: return "tag track UID";
188  case TagEditionUId: return "tag edition UID";
189  case TagChapterUId: return "tag chapter UID";
190  case TagAttachmentUId: return "tag attachment UID";
191 
192  // IDs in the Cues master
193  case CuePoint: return "cue point";
194 
195  // IDs in the CuePoint master
196  case CueTime: return "cue time";
197  case CueTrackPositions: return "cue track positions";
198 
199  // IDs in the CueTrackPositions master
200  case CueTrack: return "cue track";
201  case CueClusterPosition: return "cue cluster position";
202  case CueRelativePosition: return "cue relative position";
203  case CueDuration: return "cue duration";
204  case CueBlockNumber: return "cue block number";
205  case CueCodecState: return "cue codec state";
206  case CueReference: return "cue reference";
207 
208  // IDs in the CueReference master
209  case CueRefTime: return "cue reference time";
210  case CueRefCluster: return "cue reference cluster";
211  case CueRefNumber: return "cue reference number";
212  case CueRefCodecState: return "cue reference codec state";
213 
214  // IDs in the Attachments master
215  case AttachedFile: return "attached file";
216 
217  // IDs in the AttachedFile master
218  case FileDescription: return "file description";
219  case FileName: return "file name";
220  case FileMimeType: return "file mime type";
221  case FileData: return "file data";
222  case FileUID: return "file UID";
223  case FileReferral: return "file referral";
224  case FileUsedStartTime: return "file used start time";
225  case FileUsedEndTime: return "file used end time";
226 
227  // IDs in the Chapters master
228  case EditionEntry: return "edition entry";
229 
230  // IDs in the EditionEntry master
231  case EditionUID: return "edition UID";
232  case EditionFlagHidden: return "edition flag hidden";
233  case EditionFlagDefault: return "edition flag default";
234  case EditionFlagOrdered: return "edition flag ordered";
235  case ChapterAtom: return "chapter atom";
236 
237  // IDs in the ChapterAtom master
238  case ChapterUID: return "chapter UID";
239  case ChapterStringUID: return "chapter string UID";
240  case ChapterTimeStart: return "chapter time start";
241  case ChapterTimeEnd: return "chapter time end";
242  case ChapterFlagHidden: return "chapter flag hidden";
243  case ChapterFlagEnabled: return "chapter flag enabled";
244  case ChapterSegmentUID: return "chapter segment UID";
245  case ChapterSegmentEditionUID: return "chapter segment edition UID";
246  case ChapterPhysicalEquiv: return "chapter physical equiv";
247  case ChapterTrack: return "chapter track";
248  case ChapterDisplay: return "chapter display";
249  case ChapProcess: return "chapter process";
250 
251  // IDs in the ChaptgerTrack master
252  case ChapterTrackNumber: return "chapter track number";
253 
254  // IDs in the ChapterDisplay master
255  case ChapString: return "chap string";
256  case ChapLanguage: return "chap language";
257  case ChapCountry: return "chap country";
258 
259  // IDs in the ChapProcess master
260  case ChapProcessCodecID: return "chap process ID";
261  case ChapProcessPrivate: return "chap process private";
262  case ChapProcessCommand: return "chap process command";
263 
264  // IDs in the ChapProcessCommand master
265  case ChapProcessTime: return "chap process time";
266  case ChapProcessData: return "chap process data";
267 
268  // IDs in the Cluster master
269  case Timecode: return "timecode";
270  case SilentTracks: return "silent tracks";
271  case Position: return "position";
272  case PrevSize: return "previous size";
273  case SimpleBlock: return "simple block";
274  case BlockGroup: return "block group";
275  case EncryptedBlock: return "encrypted block";
276 
277  // IDs in the SilentTracks master
278  case SilentTrackNumber: return "silent track number";
279 
280  // IDs in the BlockGroup master
281  case Block: return "block";
282  case BlockVirtual: return "block virtual";
283  case BlockAdditions: return "block additions";
284  case BlockDuration: return "block duration";
285  case ReferencePriority: return "reference priority";
286  case ReferenceBlock: return "reference block";
287  case ReferenceVirtual: return "reference virtual";
288  case CodecState: return "codec state";
289  case DiscardPadding: return "discard padding";
290  case Slices: return "slices";
291  case ReferenceFrame: return "reference frame";
292 
293  // IDs in the BlockAdditions master
294  case BlockMore: return "block more";
295 
296  // IDs in the BlockMore master
297  case BlockAddID: return "block add ID";
298  case BlockAdditional: return "block additional";
299 
300  // IDs in the Slices master
301  case TimeSlice: return "time slice";
302 
303  // IDs in the TimeSlice master
304  case LaceNumber: return "lace number";
305  case FrameNumber: return "frame number";
306  case BlockAdditionID: return "block addition ID";
307  case Delay: return "delay";
308  case SliceDuration: return "slice duration";
309 
310  // IDs in the ReferenceFrame master
311  case ReferenceOffset: return "reference offset";
312  case ReferenceTimeCode: return "reference time code";
313 
314  default: return "";
315  }
316 }
317 
318 
319 }
TAG_PARSER_EXPORT const char * matroskaIdName(uint32 matroskaId)
Returns a string for the specified matroskaId if known; otherwise returns an empty string...
Definition: matroskaid.cpp:24
Contains all classes and functions of the TagInfo library.
Definition: exceptions.h:9