objc2_av_foundation/generated/AVMediaFormat.rs
1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use objc2_foundation::*;
4
5use crate::*;
6
7/// [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediatype?language=objc)
8// NS_TYPED_EXTENSIBLE_ENUM
9pub type AVMediaType = NSString;
10
11extern "C" {
12 /// [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediatypevideo?language=objc)
13 pub static AVMediaTypeVideo: Option<&'static AVMediaType>;
14}
15
16extern "C" {
17 /// [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediatypeaudio?language=objc)
18 pub static AVMediaTypeAudio: Option<&'static AVMediaType>;
19}
20
21extern "C" {
22 /// [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediatypetext?language=objc)
23 pub static AVMediaTypeText: Option<&'static AVMediaType>;
24}
25
26extern "C" {
27 /// [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediatypeclosedcaption?language=objc)
28 pub static AVMediaTypeClosedCaption: Option<&'static AVMediaType>;
29}
30
31extern "C" {
32 /// [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediatypesubtitle?language=objc)
33 pub static AVMediaTypeSubtitle: Option<&'static AVMediaType>;
34}
35
36extern "C" {
37 /// [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediatypetimecode?language=objc)
38 pub static AVMediaTypeTimecode: Option<&'static AVMediaType>;
39}
40
41extern "C" {
42 /// [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediatypemetadata?language=objc)
43 pub static AVMediaTypeMetadata: Option<&'static AVMediaType>;
44}
45
46extern "C" {
47 /// [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediatypemuxed?language=objc)
48 pub static AVMediaTypeMuxed: Option<&'static AVMediaType>;
49}
50
51extern "C" {
52 /// [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediatypehaptic?language=objc)
53 pub static AVMediaTypeHaptic: Option<&'static AVMediaType>;
54}
55
56/// [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avvideorange?language=objc)
57// NS_TYPED_ENUM
58pub type AVVideoRange = NSString;
59
60extern "C" {
61 /// Indicates that the video range as SDR
62 ///
63 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avvideorangesdr?language=objc)
64 pub static AVVideoRangeSDR: Option<&'static AVVideoRange>;
65}
66
67extern "C" {
68 /// Indicates that the video range as HLG
69 ///
70 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avvideorangehlg?language=objc)
71 pub static AVVideoRangeHLG: Option<&'static AVVideoRange>;
72}
73
74extern "C" {
75 /// Indicates that the video range as PQ
76 ///
77 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avvideorangepq?language=objc)
78 pub static AVVideoRangePQ: Option<&'static AVVideoRange>;
79}
80
81extern "C" {
82 /// mediaType of AVCaptureInputPorts that provide AVMetadataObjects.
83 ///
84 /// Prior to iOS 9.0, camera AVCaptureDeviceInputs provide metadata (detected faces and barcodes) to an
85 /// AVCaptureMetadataOutput through an AVCaptureInputPort whose mediaType is AVMediaTypeMetadata. The
86 /// AVCaptureMetadataOutput presents metadata to the client as an array of AVMetadataObjects, which are
87 /// defined by Apple and not externally subclassable. Starting in iOS 9.0, clients may record arbitrary
88 /// metadata to a movie file using the AVCaptureMovieFileOutput. The movie file output consumes metadata
89 /// in a different format than the AVCaptureMetadataOutput, namely it accepts CMSampleBuffers of type
90 /// 'meta'. Starting in iOS 9.0, two types of AVCaptureInput can produce suitable metadata for the
91 /// movie file output.
92 ///
93 /// <ul>
94 /// <li>
95 /// The camera AVCaptureDeviceInput now presents an additional AVCaptureInputPort for recording detected
96 /// faces to a movie file. When linked on or after iOS 9, ports that deliver AVCaptureMetadataObjects have a
97 /// mediaType of AVMediaTypeMetadataObject rather than AVMediaTypeMetadata. Input ports that deliver CMSampleBuffer
98 /// metadata have a mediaType of AVMediaTypeMetadata.
99 /// </li>
100 ///
101 /// <li>
102 /// New to iOS 9 is the AVCaptureMetadataInput, which allows clients to record arbitrary metadata to a movie
103 /// file. Clients package metadata as an AVTimedMetadataGroup, the AVCaptureMetadataInput presents a port of mediaType
104 /// AVMediaTypeMetadata, and when connected to a movie file output, transforms the timed metadata group's AVMetadataItems
105 /// into CMSampleBuffers which can be written to the movie file.
106 /// </li>
107 /// </ul>
108 ///
109 /// When linked on or after iOS 9, AVCaptureInputPorts with a mediaType of AVMediaTypeMetadata are handled
110 /// specially by the AVCaptureSession. When inputs and outputs are added to the session, the session does
111 /// not form connections implicitly between eligible AVCaptureOutputs and input ports of type AVMediaTypeMetadata.
112 /// If clients want to record a particular kind of metadata to a movie, they must manually form connections
113 /// between a AVMediaTypeMetadata port and the movie file output using AVCaptureSession's -addConnection API.
114 ///
115 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediatypemetadataobject?language=objc)
116 pub static AVMediaTypeMetadataObject: Option<&'static AVMediaType>;
117}
118
119extern "C" {
120 /// [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediatypedepthdata?language=objc)
121 pub static AVMediaTypeDepthData: Option<&'static AVMediaType>;
122}
123
124extern "C" {
125 /// This media type is used only to identify the track type. An Auxiliary Picture track is not intended to be displayed; as such, the track_in_movie flag in TrackHeaderBox of these tracks will be 0.
126 /// A track with this media type contain video samples the media type of the format description of which is AVMediaTypeVideo.
127 ///
128 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediatypeauxiliarypicture?language=objc)
129 pub static AVMediaTypeAuxiliaryPicture: Option<&'static AVMediaType>;
130}
131
132/// [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristic?language=objc)
133// NS_TYPED_EXTENSIBLE_ENUM
134pub type AVMediaCharacteristic = NSString;
135
136extern "C" {
137 /// A media characteristic that indicates that a track or media selection option includes visual content.
138 ///
139 /// AVMediaTypeVideo, AVMediaTypeSubtitle, AVMediaTypeClosedCaption are examples of media types with the characteristic AVMediaCharacteristicVisual.
140 /// Also see -[AVAssetTrack hasMediaCharacteristic:] and -[AVMediaSelectionOption hasMediaCharacteristic:].
141 ///
142 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristicvisual?language=objc)
143 pub static AVMediaCharacteristicVisual: Option<&'static AVMediaCharacteristic>;
144}
145
146extern "C" {
147 /// A media characteristic that indicates that a track or media selection option includes audible content.
148 ///
149 /// AVMediaTypeAudio is a media type with the characteristic AVMediaCharacteristicAudible.
150 /// Also see -[AVAssetTrack hasMediaCharacteristic:] and -[AVMediaSelectionOption hasMediaCharacteristic:].
151 ///
152 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristicaudible?language=objc)
153 pub static AVMediaCharacteristicAudible: Option<&'static AVMediaCharacteristic>;
154}
155
156extern "C" {
157 /// A media characteristic that indicates that a track or media selection option includes legible content.
158 ///
159 /// AVMediaTypeSubtitle and AVMediaTypeClosedCaption are examples of media types with the characteristic AVMediaCharacteristicLegible.
160 /// Also see -[AVAssetTrack hasMediaCharacteristic:] and -[AVMediaSelectionOption hasMediaCharacteristic:].
161 ///
162 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristiclegible?language=objc)
163 pub static AVMediaCharacteristicLegible: Option<&'static AVMediaCharacteristic>;
164}
165
166extern "C" {
167 /// A media characteristic that indicates that a track or media selection option includes content that's frame-based.
168 ///
169 /// Frame-based content typically comprises discrete media samples that, once rendered, can remain current for indefinite periods of time without additional processing in support of "time-stretching". Further, any dependencies between samples are always explicitly signalled, so that the operations required to render any single sample can readily be performed on demand. AVMediaTypeVideo is the most common type of frame-based media. AVMediaTypeAudio is the most common counterexample.
170 /// Also see -[AVAssetTrack hasMediaCharacteristic:] and -[AVMediaSelectionOption hasMediaCharacteristic:].
171 ///
172 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristicframebased?language=objc)
173 pub static AVMediaCharacteristicFrameBased: Option<&'static AVMediaCharacteristic>;
174}
175
176extern "C" {
177 /// A media characteristic that indicates that a track uses a wide gamut color space and therefore may make use of colors that cannot be accurately represented otherwise.
178 ///
179 /// A wide color space such as AVVideo*_P3_D65 contains additional dynamic range that may benefit from special treatment when compositing. Care should be taken to avoid clamping. Non-wide spaces include AVVideo*_ITU_R_709_2 and AVVideo*_SMPTE_C.
180 ///
181 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristicuseswidegamutcolorspace?language=objc)
182 pub static AVMediaCharacteristicUsesWideGamutColorSpace: Option<&'static AVMediaCharacteristic>;
183}
184
185extern "C" {
186 /// A media characteristic that indicates that a track contains HDR video.
187 ///
188 /// HDR video contains extended dynamic range that requires explicit support when compositing.
189 /// The value of this characteristic is
190 /// @
191 /// “public.contains-hdr-video".
192 /// Note for content authors: the presence of this characteristic is strictly inferred from the format description of the associated track.
193 ///
194 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristiccontainshdrvideo?language=objc)
195 pub static AVMediaCharacteristicContainsHDRVideo: Option<&'static AVMediaCharacteristic>;
196}
197
198extern "C" {
199 /// A media characteristic that indicates that a track contains an alpha channel.
200 ///
201 /// To determine whether alpha is straight or pre-multiplied, look for the format description extension with key kCMFormatDescriptionExtension_AlphaChannelMode.
202 ///
203 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristiccontainsalphachannel?language=objc)
204 pub static AVMediaCharacteristicContainsAlphaChannel: Option<&'static AVMediaCharacteristic>;
205}
206
207extern "C" {
208 /// A media characteristic that indicates that a track or media selection option includes content that's marked by the content author as intrinsic to the presentation of the asset.
209 ///
210 /// Example: an option that presents the main program audio for the presentation, regardless of locale, would typically have this characteristic.
211 /// The value of this characteristic is
212 /// "
213 /// public.main-program-content".
214 /// Note for content authors: the presence of this characteristic for a media option is inferred; any option that does not have the characteristic AVMediaCharacteristicIsAuxiliaryContent is considered to have the characteristic AVMediaCharacteristicIsMainProgramContent.
215 ///
216 /// Also see -[AVAssetTrack hasMediaCharacteristic:] and -[AVMediaSelectionOption hasMediaCharacteristic:].
217 ///
218 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristicismainprogramcontent?language=objc)
219 pub static AVMediaCharacteristicIsMainProgramContent: Option<&'static AVMediaCharacteristic>;
220}
221
222extern "C" {
223 /// A media characteristic that indicates that a track or media selection option includes content that's marked by the content author as auxiliary to the presentation of the asset.
224 ///
225 /// The value of this characteristic is
226 /// "
227 /// public.auxiliary-content".
228 /// Example: an option that presents audio media containing commentary on the presentation would typically have this characteristic.
229 /// Note for content authors: for QuickTime movie and .m4v files a media option is considered to have the characteristic AVMediaCharacteristicIsAuxiliaryContent if it's explicitly tagged with that characteristic or if, as a member of an alternate track group, its associated track is excluded from autoselection.
230 /// See the discussion of the tagging of tracks with media characteristics below.
231 ///
232 /// Also see -[AVAssetTrack hasMediaCharacteristic:] and -[AVMediaSelectionOption hasMediaCharacteristic:].
233 ///
234 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristicisauxiliarycontent?language=objc)
235 pub static AVMediaCharacteristicIsAuxiliaryContent: Option<&'static AVMediaCharacteristic>;
236}
237
238extern "C" {
239 /// A media characteristic that indicates that a track or media selection option includes content that's marked by the content author as original to the principal production of the media, as opposed to supplementary or derivative content created by means of language translation or by other means.
240 ///
241 /// The value of this characteristic is
242 /// "
243 /// public.original-content".
244 /// Example: an option that presents audio media with dialog in the principal language of the production may be tagged with this characteristic; audio media containing dialog dubbed in a language other than the principal language of the production typically would not be tagged with this characteristic.
245 /// Note for content authors: for QuickTime movie and .m4v files and for HTTP Live Streaming, a media option is considered to have the characteristic AVMediaCharacteristicIsOriginalContent only if it's explicitly tagged with the characteristic.
246 /// See the discussion of the tagging of tracks with media characteristics below.
247 ///
248 /// Also see -[AVAssetTrack hasMediaCharacteristic:] and -[AVMediaSelectionOption hasMediaCharacteristic:].
249 ///
250 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristicisoriginalcontent?language=objc)
251 pub static AVMediaCharacteristicIsOriginalContent: Option<&'static AVMediaCharacteristic>;
252}
253
254extern "C" {
255 /// A media characteristic that indicates that a track or media selection option presents only forced subtitles.
256 ///
257 /// Media options with forced-only subtitles are typically selected when 1) the user has not selected a legible option with an accessibility characteristic or an auxiliary purpose and 2) its locale matches the locale of the selected audible media selection option.
258 /// The value of this characteristic is
259 /// "
260 /// public.subtitles.forced-only".
261 /// Note for content authors: the presence of this characteristic for a legible media option may be inferred from the format description of the associated track that presents the subtitle media, if the format description carries sufficient information to indicate the presence or absence of forced and non-forced subtitles. If the format description does not carry this information, the legible media option can be explicitly tagged with the characteristic.
262 ///
263 /// Also see -[AVAssetTrack hasMediaCharacteristic:] and -[AVMediaSelectionOption hasMediaCharacteristic:].
264 ///
265 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristiccontainsonlyforcedsubtitles?language=objc)
266 pub static AVMediaCharacteristicContainsOnlyForcedSubtitles:
267 Option<&'static AVMediaCharacteristic>;
268}
269
270extern "C" {
271 /// A media characteristic that indicates that a track or media selection option includes legible content in the language of its specified locale that:
272 /// - transcribes spoken dialog and
273 /// - identifies speakers whenever other visual cues are insufficient for a viewer to determine who is speaking.
274 ///
275 /// Legible tracks provided for accessibility purposes are typically tagged both with this characteristic as well as with AVMediaCharacteristicDescribesMusicAndSoundForAccessibility.
276 ///
277 /// A legible track provided for accessibility purposes that's associated with an audio track that has no spoken dialog can be tagged with this characteristic, because it trivially meets these requirements.
278 ///
279 /// The value of this characteristic is
280 /// "
281 /// public.accessibility.transcribes-spoken-dialog".
282 ///
283 /// Note for content authors: for QuickTime movie and .m4v files a media option is considered to have the characteristic AVMediaCharacteristicTranscribesSpokenDialogForAccessibility only if it's explicitly tagged with that characteristic.
284 /// See the discussion of the tagging of tracks with media characteristics below.
285 ///
286 /// Also see -[AVAssetTrack hasMediaCharacteristic:] and -[AVMediaSelectionOption hasMediaCharacteristic:].
287 ///
288 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristictranscribesspokendialogforaccessibility?language=objc)
289 pub static AVMediaCharacteristicTranscribesSpokenDialogForAccessibility:
290 Option<&'static AVMediaCharacteristic>;
291}
292
293extern "C" {
294 /// A media characteristic that indicates that a track or media selection option includes legible content in the language of its specified locale that:
295 /// - describes music and
296 /// - describes sound other than spoken dialog, such as sound effects and significant silences, occurring in program audio.
297 ///
298 /// Legible tracks provided for accessibility purposes are typically tagged both with this characteristic as well as with AVMediaCharacteristicTranscribesSpokenDialogForAccessibility.
299 ///
300 /// A legible track provided for accessibility purposes that's associated with an audio track without music and without sound other than spoken dialog -- lacking even significant silences -- can be tagged with this characteristic, because it trivially meets these requirements.
301 ///
302 /// The value of this characteristic is
303 /// "
304 /// public.accessibility.describes-music-and-sound".
305 ///
306 /// Note for content authors: for QuickTime movie and .m4v files a media option is considered to have the characteristic AVMediaCharacteristicDescribesMusicAndSoundForAccessibility only if it's explicitly tagged with that characteristic.
307 /// See the discussion of the tagging of tracks with media characteristics below.
308 ///
309 /// Also see -[AVAssetTrack hasMediaCharacteristic:] and -[AVMediaSelectionOption hasMediaCharacteristic:].
310 ///
311 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristicdescribesmusicandsoundforaccessibility?language=objc)
312 pub static AVMediaCharacteristicDescribesMusicAndSoundForAccessibility:
313 Option<&'static AVMediaCharacteristic>;
314}
315
316extern "C" {
317 /// A media characteristic that indicates that a track or media selection option includes audio that has been prepared or otherwise processed to heighten the intelligibility of speech.
318 ///
319 /// The value of this characteristic is
320 /// "
321 /// public.accessibility.enhances-speech-intelligibility".
322 ///
323 /// Note for content authors: for QuickTime movie and .m4v files a media option is considered to have the characteristic AVMediaCharacteristicEnhancesSpeechIntelligibility only if it's explicitly tagged with that characteristic.
324 /// See the discussion of the tagging of tracks with media characteristics below.
325 ///
326 /// Also see -[AVAssetTrack hasMediaCharacteristic:] and -[AVMediaSelectionOption hasMediaCharacteristic:].
327 ///
328 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristicenhancesspeechintelligibility?language=objc)
329 pub static AVMediaCharacteristicEnhancesSpeechIntelligibility:
330 Option<&'static AVMediaCharacteristic>;
331}
332
333extern "C" {
334 /// A media characteristic that indicates that a track or media selection option provides legible content in the language of its specified locale that has been edited for ease of reading.
335 ///
336 /// The value of this characteristic is
337 /// "
338 /// public.easy-to-read".
339 ///
340 /// Closed caption tracks that carry "easy reader" captions (per the CEA-608 specification) should be tagged with this characteristic. Subtitle tracks can also be tagged with this characteristic, where appropriate.
341 ///
342 /// Note for content authors: for QuickTime movie and .m4v files a track is considered to have the characteristic AVMediaCharacteristicEasyToRead only if it's explicitly tagged with that characteristic.
343 /// See the discussion of the tagging of tracks with media characteristics below.
344 ///
345 /// Also see -[AVAssetTrack hasMediaCharacteristic:] and -[AVMediaSelectionOption hasMediaCharacteristic:].
346 ///
347 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristiceasytoread?language=objc)
348 pub static AVMediaCharacteristicEasyToRead: Option<&'static AVMediaCharacteristic>;
349}
350
351extern "C" {
352 /// A media characteristic that indicates that a track or media selection option provides descriptions of the visual portion of the presentation that are sufficient to comprehend essential information that it depicts, such as action and setting.
353 ///
354 /// See -[AVAssetTrack hasMediaCharacteristic:] and -[AVMediaSelectionOption hasMediaCharacteristic:].
355 /// The value of this characteristic is
356 /// "
357 /// public.accessibility.describes-video".
358 /// Note for content authors: for QuickTime movie and .m4v files a media option is considered to have the characteristic AVMediaCharacteristicDescribesVideoForAccessibility only if it's explicitly tagged with that characteristic.
359 /// See the discussion of the tagging of tracks with media characteristics below.
360 ///
361 /// Also see -[AVAssetTrack hasMediaCharacteristic:] and -[AVMediaSelectionOption hasMediaCharacteristic:].
362 ///
363 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristicdescribesvideoforaccessibility?language=objc)
364 pub static AVMediaCharacteristicDescribesVideoForAccessibility:
365 Option<&'static AVMediaCharacteristic>;
366}
367
368extern "C" {
369 /// A media characteristic that indicates that a track or media selection option contains a language or dialect translation of originally or previously produced content, intended to be used as a substitute for that content by users who prefer its designated language.
370 ///
371 /// See -[AVAssetTrack hasMediaCharacteristic:] and -[AVMediaSelectionOption hasMediaCharacteristic:].
372 /// The value of this characteristic is
373 /// "
374 /// public.translation".
375 /// Note for content authors: for QuickTime movie and .m4v files a media option is considered to have the characteristic AVMediaCharacteristicLanguageTranslation only if it's explicitly tagged with that characteristic.
376 /// See the discussion of the tagging of tracks with media characteristics below.
377 ///
378 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristiclanguagetranslation?language=objc)
379 pub static AVMediaCharacteristicLanguageTranslation: Option<&'static AVMediaCharacteristic>;
380}
381
382extern "C" {
383 /// A media characteristic that indicates that a track or media selection option contains a language or dialect translation of originally or previously produced content, created by substituting most or all of the dialog in a previous mix of audio content with dialog spoken in its designated language.
384 ///
385 /// Tracks to which this characteristic is assigned should typically also be assigned the characteristic AVMediaCharacteristicLanguageTranslation.
386 /// See -[AVAssetTrack hasMediaCharacteristic:] and -[AVMediaSelectionOption hasMediaCharacteristic:].
387 /// The value of this characteristic is
388 /// "
389 /// public.translation.dubbed".
390 /// Note for content authors: for QuickTime movie and .m4v files a media option is considered to have the characteristic AVMediaCharacteristicDubbedTranslation only if it's explicitly tagged with that characteristic.
391 /// See the discussion of the tagging of tracks with media characteristics below.
392 ///
393 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristicdubbedtranslation?language=objc)
394 pub static AVMediaCharacteristicDubbedTranslation: Option<&'static AVMediaCharacteristic>;
395}
396
397extern "C" {
398 /// A media characteristic that indicates that a track or media selection option contains a language translation of originally or previously produced content, created by adding, in its designated language, a verbal interpretation of dialog and translations of other important information to a new mix of the audio content.
399 ///
400 /// Tracks to which this characteristic is assigned should typically also be assigned the characteristic AVMediaCharacteristicLanguageTranslation.
401 /// See -[AVAssetTrack hasMediaCharacteristic:] and -[AVMediaSelectionOption hasMediaCharacteristic:].
402 /// The value of this characteristic is
403 /// "
404 /// public.translation.voice-over".
405 /// Note for content authors: for QuickTime movie and .m4v files a media option is considered to have the characteristic AVMediaCharacteristicVoiceOverTranslation only if it's explicitly tagged with that characteristic.
406 /// See the discussion of the tagging of tracks with media characteristics below.
407 ///
408 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristicvoiceovertranslation?language=objc)
409 pub static AVMediaCharacteristicVoiceOverTranslation: Option<&'static AVMediaCharacteristic>;
410}
411
412extern "C" {
413 /// A media characteristic that indicates that a track or media selection option includes haptic content that's marked by the content author as providing minimal tactile stimulation.
414 ///
415 /// Example: an option that presents low strength haptics feedback when user is actively attending the device, would typically have this characteristic.
416 /// See -[AVAssetTrack hasMediaCharacteristic:] and -[AVMediaSelectionOption hasMediaCharacteristic:].
417 /// The value of this characteristic is
418 /// "
419 /// public.haptics.minimal".
420 /// Note for content authors: for QuickTime movie and MPEG-4 files a track is considered to have the characteristic AVMediaCharacteristicTactileMinimal only if it's explicitly tagged with that characteristic.
421 /// See the discussion of the tagging of tracks with media characteristics below.
422 ///
423 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristictactileminimal?language=objc)
424 pub static AVMediaCharacteristicTactileMinimal: Option<&'static AVMediaCharacteristic>;
425}
426
427extern "C" {
428 /// A media characteristic that indicates that a track contains stereoscopic video captured in a multiview compression format.
429 ///
430 /// Stereoscopic video contains two views with one view for the left eye and one view for the right eye. Multiview video contains more than one view (not necessarily stereoscopic) in the same compressed video sample. The combination of stereoscopic and multiview indicates that multiview carriage is used to carry at least two stereoscopic views. It does not imply that there might not be more than two views. Access to the two stereo views may require opt-in to retrieve both views. Accessing only one of the left or right stereoscopic views as a fallback for playback or compositing where stereoscopic rendering is not supported may itself not be supported.
431 /// The value of this characteristic is
432 /// @
433 /// “public.contains-stereo-multiview-video".
434 /// Note for content authors: the presence of this characteristic is strictly inferred from the format description of the associated track.
435 ///
436 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristiccontainsstereomultiviewvideo?language=objc)
437 pub static AVMediaCharacteristicContainsStereoMultiviewVideo:
438 Option<&'static AVMediaCharacteristic>;
439}
440
441extern "C" {
442 /// A media characteristic that indicates that the stereoscopic video track carries additional information related to the stereoscopic video.
443 ///
444 /// This is not an indication that the encoded video carries stereoscopic views. It instead indicates that it carries additional information that may influence the interpretation of those views and contribute to a better experience.
445 /// The value of this characteristic is
446 /// @
447 /// “com.apple.quicktime.video.stereo-metadata".
448 /// Note for content authors: the presence of this characteristic is strictly inferred from the format description of the associated track.
449 ///
450 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristiccarriesvideostereometadata?language=objc)
451 pub static AVMediaCharacteristicCarriesVideoStereoMetadata:
452 Option<&'static AVMediaCharacteristic>;
453}
454
455extern "C" {
456 /// A media characteristic that indicates the video track carries information related to the horizontal field of view.
457 ///
458 /// This media characteristic is currently synthesized if the CMVideoFormatDescription includes a kCMFormatDescriptionExtension_HorizontalFieldOfView extension. This is not an indication that the field of view is expanded beyond or more narrow than typical horizontal fields of view.
459 /// The value of this characteristic is
460 /// @
461 /// “public.indicates-horizontal-field-of-view".
462 /// Note for content authors: the presence of this characteristic is strictly inferred from the format description of the associated track.
463 ///
464 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristicindicateshorizontalfieldofview?language=objc)
465 pub static AVMediaCharacteristicIndicatesHorizontalFieldOfView:
466 Option<&'static AVMediaCharacteristic>;
467}
468
469extern "C" {
470 /// A media characteristic that indicates the video track carries information related to how it should be projected for display.
471 ///
472 /// This media characteristic is currently synthesized if the CMVideoFormatDescription specifies a non-rectilinear projection. To determine which kind of projection is indicated, look for the format description extension with key kCMFormatDescriptionExtension_ProjectionKind.
473 /// The value of this characteristic is
474 /// @
475 /// “public.indicates-non-rectilinear-projection".
476 /// Note for content authors: the presence of this characteristic is strictly inferred from the format description of the associated track.
477 ///
478 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristicindicatesnonrectilinearprojection?language=objc)
479 pub static AVMediaCharacteristicIndicatesNonRectilinearProjection:
480 Option<&'static AVMediaCharacteristic>;
481}
482
483extern "C" {
484 /// A media characteristic that indicates that a track was generated in an automated fashion by a machine.
485 ///
486 /// This media characteristic can be used to distinguish machine generated content from human authored content.
487 /// The value of this characteristic is
488 /// @
489 /// “public.machine-generated".
490 ///
491 /// Note for content authors: for QuickTime movie and .m4v files and for HTTP Live Streaming, a media option is considered to have the characteristic AVMediaCharacteristicIsOriginalContent only if it's explicitly tagged with the characteristic.
492 /// See the discussion of the tagging of tracks with media characteristics below.
493 ///
494 /// Also see -[AVAssetTrack hasMediaCharacteristic:] and -[AVMediaSelectionOption hasMediaCharacteristic:].
495 ///
496 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediacharacteristicmachinegenerated?language=objc)
497 pub static AVMediaCharacteristicMachineGenerated: Option<&'static AVMediaCharacteristic>;
498}
499
500/// [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletype?language=objc)
501// NS_TYPED_EXTENSIBLE_ENUM
502pub type AVFileType = NSString;
503
504extern "C" {
505 /// A UTI for the QuickTime movie file format.
506 ///
507 /// The value of this UTI is
508 /// "
509 /// com.apple.quicktime-movie".
510 /// Files are identified with the .mov and .qt extensions.
511 ///
512 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypequicktimemovie?language=objc)
513 pub static AVFileTypeQuickTimeMovie: Option<&'static AVFileType>;
514}
515
516extern "C" {
517 /// A UTI for the MPEG-4 file format.
518 ///
519 /// The value of this UTI is
520 /// "
521 /// public.mpeg-4".
522 /// Files are identified with the .mp4 extension.
523 ///
524 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypempeg4?language=objc)
525 pub static AVFileTypeMPEG4: Option<&'static AVFileType>;
526}
527
528extern "C" {
529 /// The value of this UTI is
530 /// "
531 /// com.apple.m4v-video".
532 /// Files are identified with the .m4v extension.
533 ///
534 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypeapplem4v?language=objc)
535 pub static AVFileTypeAppleM4V: Option<&'static AVFileType>;
536}
537
538extern "C" {
539 /// The value of this UTI is
540 /// "
541 /// com.apple.m4a-audio".
542 /// Files are identified with the .m4a extension.
543 ///
544 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypeapplem4a?language=objc)
545 pub static AVFileTypeAppleM4A: Option<&'static AVFileType>;
546}
547
548extern "C" {
549 /// A UTI for the 3GPP file format.
550 ///
551 /// The value of this UTI is
552 /// "
553 /// public.3gpp".
554 /// Files are identified with the .3gp, .3gpp, and .sdv extensions.
555 ///
556 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletype3gpp?language=objc)
557 pub static AVFileType3GPP: Option<&'static AVFileType>;
558}
559
560extern "C" {
561 /// A UTI for the 3GPP file format.
562 ///
563 /// The value of this UTI is
564 /// "
565 /// public.3gpp2".
566 /// Files are identified with the .3g2, .3gp2 extensions.
567 ///
568 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletype3gpp2?language=objc)
569 pub static AVFileType3GPP2: Option<&'static AVFileType>;
570}
571
572extern "C" {
573 /// A UTI for the CoreAudio file format.
574 ///
575 /// The value of this UTI is
576 /// "
577 /// com.apple.coreaudio-format".
578 /// Files are identified with the .caf extension.
579 ///
580 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypecoreaudioformat?language=objc)
581 pub static AVFileTypeCoreAudioFormat: Option<&'static AVFileType>;
582}
583
584extern "C" {
585 /// A UTI for the WAVE audio file format.
586 ///
587 /// The value of this UTI is
588 /// "
589 /// com.microsoft.waveform-audio".
590 /// Files are identified with the .wav, .wave, and .bwf extensions.
591 ///
592 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypewave?language=objc)
593 pub static AVFileTypeWAVE: Option<&'static AVFileType>;
594}
595
596extern "C" {
597 /// A UTI for the AIFF audio file format.
598 ///
599 /// The value of this UTI is
600 /// "
601 /// public.aiff-audio".
602 /// Files are identified with the .aif and .aiff extensions.
603 ///
604 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypeaiff?language=objc)
605 pub static AVFileTypeAIFF: Option<&'static AVFileType>;
606}
607
608extern "C" {
609 /// A UTI for the AIFC audio file format.
610 ///
611 /// The value of this UTI is
612 /// "
613 /// public.aifc-audio".
614 /// Files are identified with the .aifc and .cdda extensions.
615 ///
616 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypeaifc?language=objc)
617 pub static AVFileTypeAIFC: Option<&'static AVFileType>;
618}
619
620extern "C" {
621 /// A UTI for the adaptive multi-rate audio file format.
622 ///
623 /// The value of this UTI is
624 /// "
625 /// org.3gpp.adaptive-multi-rate-audio".
626 /// Files are identified with the .amr extension.
627 ///
628 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypeamr?language=objc)
629 pub static AVFileTypeAMR: Option<&'static AVFileType>;
630}
631
632extern "C" {
633 /// A UTI for the MPEG layer 3 audio file format.
634 ///
635 /// The value of this UTI is
636 /// "
637 /// public.mp3".
638 /// Files are identified with the .mp3 extension.
639 ///
640 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypempeglayer3?language=objc)
641 pub static AVFileTypeMPEGLayer3: Option<&'static AVFileType>;
642}
643
644extern "C" {
645 /// A UTI for the Sun/NeXT audio file format.
646 ///
647 /// The value of this UTI is
648 /// "
649 /// public.au-audio".
650 /// Files are identified with the .au and .snd extensions.
651 ///
652 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypesunau?language=objc)
653 pub static AVFileTypeSunAU: Option<&'static AVFileType>;
654}
655
656extern "C" {
657 /// A UTI for the AC-3 audio file format.
658 ///
659 /// The value of this UTI is
660 /// "
661 /// public.ac3-audio".
662 /// Files are identified with the .ac3 extension.
663 ///
664 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypeac3?language=objc)
665 pub static AVFileTypeAC3: Option<&'static AVFileType>;
666}
667
668extern "C" {
669 /// A UTI for the enhanced AC-3 audio file format.
670 ///
671 /// The value of this UTI is
672 /// "
673 /// public.enhanced-ac3-audio".
674 /// Files are identified with the .eac3 extension.
675 ///
676 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypeenhancedac3?language=objc)
677 pub static AVFileTypeEnhancedAC3: Option<&'static AVFileType>;
678}
679
680extern "C" {
681 /// A UTI for the JPEG (JFIF) format.
682 ///
683 /// The value of this UTI is
684 /// "
685 /// public.jpeg".
686 /// Files are identified with the .jpg or .jpeg extension.
687 ///
688 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypejpeg?language=objc)
689 pub static AVFileTypeJPEG: Option<&'static AVFileType>;
690}
691
692extern "C" {
693 /// A UTI for the Adobe digital negative file format.
694 ///
695 /// The value of this UTI is
696 /// "
697 /// com.adobe.raw-image".
698 /// Files are identified with the .dng extension.
699 ///
700 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypedng?language=objc)
701 pub static AVFileTypeDNG: Option<&'static AVFileType>;
702}
703
704extern "C" {
705 /// A UTI for the high efficiency image file format containing HEVC compressed images.
706 ///
707 /// The value of this UTI is
708 /// "
709 /// public.heic".
710 /// Files are identified with the .heic extension.
711 ///
712 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypeheic?language=objc)
713 pub static AVFileTypeHEIC: Option<&'static AVFileType>;
714}
715
716extern "C" {
717 /// A UTI for the high efficiency image file format containing H.264 compressed images.
718 ///
719 /// The value of this UTI is
720 /// "
721 /// public.avci".
722 /// Files are identified with the .avci extension.
723 ///
724 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypeavci?language=objc)
725 pub static AVFileTypeAVCI: Option<&'static AVFileType>;
726}
727
728extern "C" {
729 /// A UTI for the high efficiency image file format containing images compressed with any codec.
730 ///
731 /// The value of this UTI is
732 /// "
733 /// public.heif".
734 /// Files are identified with the .heif extension.
735 ///
736 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypeheif?language=objc)
737 pub static AVFileTypeHEIF: Option<&'static AVFileType>;
738}
739
740extern "C" {
741 /// A UTI for the tagged image file format.
742 ///
743 /// The value of this UTI is
744 /// "
745 /// public.tiff".
746 /// Files are identified with the .tiff or .tif extension.
747 ///
748 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypetiff?language=objc)
749 pub static AVFileTypeTIFF: Option<&'static AVFileType>;
750}
751
752extern "C" {
753 /// A UTI for the Apple iTT caption file format
754 ///
755 /// The value of this UTI is
756 /// "
757 /// com.apple.itunes-timed-text".
758 /// Files are identified with the .itt extension.
759 ///
760 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypeappleitt?language=objc)
761 pub static AVFileTypeAppleiTT: Option<&'static AVFileType>;
762}
763
764extern "C" {
765 /// A UTI for the Scenarist closed caption file format
766 ///
767 /// The value of this UTI is
768 /// "
769 /// com.scenarist.closed-caption".
770 /// Files are identified with the .scc extension.
771 ///
772 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypescc?language=objc)
773 pub static AVFileTypeSCC: Option<&'static AVFileType>;
774}
775
776extern "C" {
777 /// A UTI for the Apple Haptics Audio Pattern file format.
778 ///
779 /// The value of this UTI is
780 /// "
781 /// public.haptics-content".
782 /// Files are identified with the .ahap extension.
783 ///
784 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypeahap?language=objc)
785 pub static AVFileTypeAHAP: Option<&'static AVFileType>;
786}
787
788extern "C" {
789 /// A UTI for the Digital Imaging and Communications in Medicine (DICOM) file format.
790 ///
791 /// The value of this UTI is
792 /// "
793 /// org.nema.dicom".
794 /// Files are identified with the .dcm extension.
795 ///
796 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypedicom?language=objc)
797 pub static AVFileTypeDICOM: Option<&'static AVFileType>;
798}
799
800extern "C" {
801 /// A UTI for streaming key delivery content keys
802 ///
803 /// The value of this UTI is
804 /// "
805 /// com.apple.streamingkeydelivery.contentkey".
806 ///
807 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avstreamingkeydeliverycontentkeytype?language=objc)
808 pub static AVStreamingKeyDeliveryContentKeyType: Option<&'static NSString>;
809}
810
811extern "C" {
812 /// A UTI for persistent streaming key delivery content keys
813 ///
814 /// The value of this UTI is
815 /// "
816 /// com.apple.streamingkeydelivery.persistentcontentkey".
817 ///
818 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avstreamingkeydeliverypersistentcontentkeytype?language=objc)
819 pub static AVStreamingKeyDeliveryPersistentContentKeyType: Option<&'static NSString>;
820}
821
822/// [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypeprofile?language=objc)
823// NS_TYPED_ENUM
824pub type AVFileTypeProfile = NSString;
825
826extern "C" {
827 /// Apple HTTP Live Streaming profile
828 ///
829 /// The profile that is suitable for Apple HTTP Live Streaming.
830 ///
831 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypeprofilempeg4applehls?language=objc)
832 pub static AVFileTypeProfileMPEG4AppleHLS: Option<&'static AVFileTypeProfile>;
833}
834
835extern "C" {
836 /// CMAF compliant profile
837 ///
838 /// The profile that is compliance with CMAF format.
839 ///
840 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avfiletypeprofilempeg4cmafcompliant?language=objc)
841 pub static AVFileTypeProfileMPEG4CMAFCompliant: Option<&'static AVFileTypeProfile>;
842}