~ubuntu-branches/ubuntu/karmic/moon/karmic

« back to all changes in this revision

Viewing changes to src/asf/asf-guids.h

  • Committer: Bazaar Package Importer
  • Author(s): Jo Shields
  • Date: 2009-02-14 12:01:08 UTC
  • Revision ID: james.westby@ubuntu.com-20090214120108-06539vb25vhbd8bn
Tags: upstream-1.0
ImportĀ upstreamĀ versionĀ 1.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * asf-guids.h: 
 
3
 *
 
4
 * Contact:
 
5
 *   Moonlight List (moonlight-list@lists.ximian.com)
 
6
 *
 
7
 * Copyright 2007 Novell, Inc. (http://www.novell.com)
 
8
 *
 
9
 * See the LICENSE file included with the distribution for details.
 
10
 */
 
11
 
 
12
#ifndef _ASF_GUIDS_MOONLIGHT_H
 
13
#define _ASF_GUIDS_MOONLIGHT_H
 
14
 
 
15
struct asf_guid {
 
16
        asf_dword a;
 
17
        asf_word b;
 
18
        asf_word c;
 
19
        asf_byte d [8];
 
20
};
 
21
 
 
22
enum ASFTypes {
 
23
        ASF_NONE = 0,
 
24
        ASF_HEADER,
 
25
        ASF_DATA,
 
26
        ASF_INDEX,
 
27
        ASF_SIMPLE_INDEX,
 
28
        ASF_MEDIA_OBJECT_INDEX,
 
29
        ASF_TIMECODE_INDEX,
 
30
        
 
31
        ASF_FILE_PROPERTIES,
 
32
        ASF_STREAM_PROPERTIES,
 
33
        ASF_HEADER_EXTENSION,
 
34
        ASF_CODEC_LIST,
 
35
        ASF_SCRIPT_COMMAND,
 
36
        ASF_MARKER,
 
37
        ASF_BITRATE_MUTUAL_EXCLUSION,
 
38
        ASF_ERROR_CORRECTION,
 
39
        ASF_CONTENT_DESCRIPTION,
 
40
        ASF_EXTENDED_CONTENT_DESCRIPTION,
 
41
        ASF_CONTENT_BRANDING,
 
42
        ASF_STREAM_BITRATE_PROPERTIES,
 
43
        ASF_CONTENT_ENCRYPTION,
 
44
        ASF_EXTENDED_CONTENT_ENCRYPTION,
 
45
        ASF_DIGITAL_SIGNATURE,
 
46
        ASF_PADDING,
 
47
        
 
48
        ASF_EXTENDED_STREAM_PROPERTIES,
 
49
        ASF_ADVANCED_MUTUAL_EXCLUSION,
 
50
        ASF_GROUP_MUTUAL_EXCLUSION,
 
51
        ASF_STREAM_PRIORITIZATION,
 
52
        ASF_BANDWIDTH_SHARING,
 
53
        ASF_LANGUAGE_LIST,
 
54
        ASF_METADATA,
 
55
        ASF_METADATA_LIBRARY,
 
56
        ASF_INDEX_PARAMETERS,
 
57
        ASF_MEDIA_OBJECT_INDEX_PARAMETERS,
 
58
        ASF_TIMECODE_INDEX_PARAMETERS,
 
59
        ASF_COMPATIBILITY,
 
60
        ASF_ADVANCED_CONTENT_ENCRYPTION,
 
61
        
 
62
        ASF_MEDIA_AUDIO,
 
63
        ASF_MEDIA_VIDEO,
 
64
        ASF_MEDIA_COMMAND,
 
65
        ASF_MEDIA_JFIF,
 
66
        ASF_MEDIA_DEGRADABLE_JPEG,
 
67
        ASF_FILE_TRANSFER,
 
68
        ASF_BINARY,
 
69
        
 
70
        ASF_WEBSTREAM_MEDIA_SUBTYPE,
 
71
        ASF_WEBSTREAM_FORMAT,
 
72
        
 
73
        ASF_NO_ERROR_CORRECTION,
 
74
        ASF_AUDIO_STREAD,
 
75
        
 
76
        ASF_RESERVED1,
 
77
        
 
78
        ASF_DRM,
 
79
        
 
80
        ASF_RESERVED2,
 
81
        
 
82
        ASF_RESERVED3,
 
83
        
 
84
        ASF_RESERVED4,
 
85
        
 
86
        ASF_MUTEX_LANGUAGE,
 
87
        ASF_MUTEX_BITRATE,
 
88
        ASF_MUTEX_UNKNOWN,
 
89
        
 
90
        ASF_BANDWIDTH_SHARING_EXCLUSIVE,
 
91
        ASF_BANDWIDTH_SHARING_PARTIAL,
 
92
        
 
93
        ASF_PAYLOAD_TIMECODE,
 
94
        ASF_PAYLOAD_FILENAME,
 
95
        ASF_PAYLOAD_CONTENT_TYPE,
 
96
        ASF_PAYLOAD_PIXEL_ASPECT_RATIO,
 
97
        ASF_PAYLOAD_SAMPLE_DURATION,
 
98
        ASF_PAYLOAD_ENCRYPTION_SAMPLE_ID,
 
99
        
 
100
        ASF_LAST_TYPE
 
101
};
 
102
 
 
103
 
 
104
extern asf_guid asf_guids_empty;
 
105
 
 
106
/* Top level object guids */
 
107
 
 
108
extern asf_guid asf_guids_header;
 
109
extern asf_guid asf_guids_data;
 
110
extern asf_guid asf_guids_index;
 
111
extern asf_guid asf_guids_simple_index;
 
112
extern asf_guid asf_guids_media_object_index;
 
113
extern asf_guid asf_guids_timecode_index;
 
114
 
 
115
/* Header object guids */
 
116
extern asf_guid asf_guids_file_properties;
 
117
extern asf_guid asf_guids_stream_properties;
 
118
extern asf_guid asf_guids_header_extension;
 
119
extern asf_guid asf_guids_codec_list;
 
120
extern asf_guid asf_guids_script_command;
 
121
extern asf_guid asf_guids_marker;
 
122
extern asf_guid asf_guids_bitrate_mutual_exclusion;
 
123
extern asf_guid asf_guids_error_correction;
 
124
extern asf_guid asf_guids_content_description;
 
125
extern asf_guid asf_guids_extended_content_description;
 
126
extern asf_guid asf_guids_content_branding;
 
127
extern asf_guid asf_guids_stream_bitrate_properties;
 
128
extern asf_guid asf_guids_content_encryption;
 
129
extern asf_guid asf_guids_extended_content_encryption;
 
130
extern asf_guid asf_guids_digital_signature;
 
131
extern asf_guid asf_guids_padding;
 
132
 
 
133
/* Header extension object guids */
 
134
extern asf_guid asf_guids_extended_stream_properties;
 
135
extern asf_guid asf_guids_advanced_mutual_exclusion;
 
136
extern asf_guid asf_guids_group_mutual_exclusion;
 
137
extern asf_guid asf_guids_stream_prioritization;
 
138
extern asf_guid asf_guids_bandwidth_sharing;
 
139
extern asf_guid asf_guids_language_list;
 
140
extern asf_guid asf_guids_metadata;
 
141
extern asf_guid asf_guids_metadata_library;
 
142
extern asf_guid asf_guids_index_parameters;
 
143
extern asf_guid asf_guids_media_object_index_parameters;
 
144
extern asf_guid asf_guids_timecode_index_parameters;
 
145
extern asf_guid asf_guids_compatibility;
 
146
extern asf_guid asf_guids_advanced_content_encryption;
 
147
 
 
148
/* Stream properties object, stream type guids */
 
149
extern asf_guid asf_guids_media_audio;
 
150
extern asf_guid asf_guids_media_video;
 
151
extern asf_guid asf_guids_media_command;
 
152
extern asf_guid asf_guids_media_jfif;
 
153
extern asf_guid asf_guids_media_degradable_jpeg;
 
154
extern asf_guid asf_guids_file_transfer;
 
155
extern asf_guid asf_guids_binary;
 
156
 
 
157
/* Web stream type-specific data guids */
 
158
extern asf_guid asf_guids_webstream_media_subtype;
 
159
extern asf_guid asf_guids_webstream_format;
 
160
 
 
161
/* Stream properties, object error correction type guids */
 
162
extern asf_guid asf_guids_no_error_correction;
 
163
extern asf_guid asf_guids_audio_stread;
 
164
 
 
165
/* Header extension object guids */
 
166
extern asf_guid asf_guids_reserved1;
 
167
 
 
168
/* Advanced content encryption object system id guids */
 
169
extern asf_guid asf_guids_drm;
 
170
// drm = Content_Encryption_System_Windows_Media_DRM_Network_Devides in the spec
 
171
// Figured it was somewhat long, so it got abbreviated 
 
172
 
 
173
/* Codec list object guids */
 
174
extern asf_guid asf_guids_reserved2;
 
175
 
 
176
/* Script command object guids */ 
 
177
extern asf_guid asf_guids_reserved3;
 
178
 
 
179
/* Marker object guids */
 
180
extern asf_guid asf_guids_reserved4;
 
181
 
 
182
/* Mutual exclusion object exclusion type guids */
 
183
extern asf_guid asf_guids_mutex_language;
 
184
extern asf_guid asf_guids_mutex_bitrate;
 
185
extern asf_guid asf_guids_mutex_unknown;
 
186
 
 
187
/* Bandwidth sharing object guids */
 
188
extern asf_guid asf_guids_bandwidth_sharing_exclusive;
 
189
extern asf_guid asf_guids_bandwidth_sharing_partial;
 
190
 
 
191
/* Standard payload extension system guids */
 
192
extern asf_guid asf_guids_payload_timecode;
 
193
extern asf_guid asf_guids_payload_filename;
 
194
extern asf_guid asf_guids_payload_content_type;
 
195
extern asf_guid asf_guids_payload_pixel_aspect_ratio;
 
196
extern asf_guid asf_guids_payload_sample_duration;
 
197
extern asf_guid asf_guids_payload_encryption_sample_id;
 
198
 
 
199
G_BEGIN_DECLS
 
200
/* Misc funtions */
 
201
bool asf_guid_compare (const asf_guid* a, const asf_guid* b);
 
202
ASFTypes asf_get_guid_type (const asf_guid* guid);
 
203
const char* asf_guid_get_name (const asf_guid* guid);
 
204
const char* asf_type_get_name (ASFTypes type);
 
205
char* asf_guid_tostring (const asf_guid* obj);
 
206
bool asf_guid_validate (const asf_guid* guid_actual, const asf_guid* guid_expected, ASFParser* parser);
 
207
G_END_DECLS
 
208
 
 
209
#endif