5 * Moonlight List (moonlight-list@lists.ximian.com)
7 * Copyright 2007 Novell, Inc. (http://www.novell.com)
9 * See the LICENSE file included with the distribution for details.
12 #ifndef _ASF_GUIDS_MOONLIGHT_H
13 #define _ASF_GUIDS_MOONLIGHT_H
28 ASF_MEDIA_OBJECT_INDEX
,
32 ASF_STREAM_PROPERTIES
,
37 ASF_BITRATE_MUTUAL_EXCLUSION
,
39 ASF_CONTENT_DESCRIPTION
,
40 ASF_EXTENDED_CONTENT_DESCRIPTION
,
42 ASF_STREAM_BITRATE_PROPERTIES
,
43 ASF_CONTENT_ENCRYPTION
,
44 ASF_EXTENDED_CONTENT_ENCRYPTION
,
45 ASF_DIGITAL_SIGNATURE
,
48 ASF_EXTENDED_STREAM_PROPERTIES
,
49 ASF_ADVANCED_MUTUAL_EXCLUSION
,
50 ASF_GROUP_MUTUAL_EXCLUSION
,
51 ASF_STREAM_PRIORITIZATION
,
52 ASF_BANDWIDTH_SHARING
,
57 ASF_MEDIA_OBJECT_INDEX_PARAMETERS
,
58 ASF_TIMECODE_INDEX_PARAMETERS
,
60 ASF_ADVANCED_CONTENT_ENCRYPTION
,
66 ASF_MEDIA_DEGRADABLE_JPEG
,
70 ASF_WEBSTREAM_MEDIA_SUBTYPE
,
73 ASF_NO_ERROR_CORRECTION
,
90 ASF_BANDWIDTH_SHARING_EXCLUSIVE
,
91 ASF_BANDWIDTH_SHARING_PARTIAL
,
95 ASF_PAYLOAD_CONTENT_TYPE
,
96 ASF_PAYLOAD_PIXEL_ASPECT_RATIO
,
97 ASF_PAYLOAD_SAMPLE_DURATION
,
98 ASF_PAYLOAD_ENCRYPTION_SAMPLE_ID
,
104 extern asf_guid asf_guids_empty
;
106 /* Top level object guids */
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
;
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
;
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
;
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
;
157 /* Web stream type-specific data guids */
158 extern asf_guid asf_guids_webstream_media_subtype
;
159 extern asf_guid asf_guids_webstream_format
;
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
;
165 /* Header extension object guids */
166 extern asf_guid asf_guids_reserved1
;
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
173 /* Codec list object guids */
174 extern asf_guid asf_guids_reserved2
;
176 /* Script command object guids */
177 extern asf_guid asf_guids_reserved3
;
179 /* Marker object guids */
180 extern asf_guid asf_guids_reserved4
;
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
;
187 /* Bandwidth sharing object guids */
188 extern asf_guid asf_guids_bandwidth_sharing_exclusive
;
189 extern asf_guid asf_guids_bandwidth_sharing_partial
;
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
;
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
);