-
Notifications
You must be signed in to change notification settings - Fork 395
/
CMVideoFormatDescription.java
125 lines (121 loc) · 6.29 KB
/
CMVideoFormatDescription.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
/*
* Copyright (C) 2014 Trillian Mobile AB
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.robovm.apple.coremedia;
/*<imports>*/
import java.io.*;
import java.nio.*;
import java.util.*;
import org.robovm.objc.*;
import org.robovm.objc.annotation.*;
import org.robovm.objc.block.*;
import org.robovm.rt.*;
import org.robovm.rt.bro.*;
import org.robovm.rt.bro.annotation.*;
import org.robovm.rt.bro.ptr.*;
import org.robovm.apple.foundation.*;
import org.robovm.apple.corefoundation.*;
import org.robovm.apple.dispatch.*;
import org.robovm.apple.coreaudio.*;
import org.robovm.apple.coreanimation.*;
import org.robovm.apple.coregraphics.*;
import org.robovm.apple.corevideo.*;
import org.robovm.apple.audiotoolbox.*;
/*</imports>*/
/*<javadoc>*/
/*</javadoc>*/
/*<annotations>*/@Library("CoreMedia")/*</annotations>*/
/*<visibility>*/public/*</visibility>*/ class /*<name>*/CMVideoFormatDescription/*</name>*/
extends /*<extends>*/CMFormatDescription/*</extends>*/
/*<implements>*//*</implements>*/ {
/*<ptr>*/public static class CMVideoFormatDescriptionPtr extends Ptr<CMVideoFormatDescription, CMVideoFormatDescriptionPtr> {}/*</ptr>*/
/*<bind>*/static { Bro.bind(CMVideoFormatDescription.class); }/*</bind>*/
/*<constants>*//*</constants>*/
/*<constructors>*//*</constructors>*/
/*<properties>*//*</properties>*/
/*<members>*//*</members>*/
public static CMVideoFormatDescription create(CMVideoCodecType codecType, int width, int height, NSDictionary<NSString, ?> extensions) {
CMVideoFormatDescriptionPtr ptr = new CMVideoFormatDescriptionPtr();
create(null, codecType, width, height, extensions, ptr);
return ptr.get();
}
public static CMVideoFormatDescription create(CVImageBuffer imageBuffer) {
CMVideoFormatDescriptionPtr ptr = new CMVideoFormatDescriptionPtr();
create(null, imageBuffer, ptr);
return ptr.get();
}
/*<methods>*/
/**
* @since Available in iOS 4.0 and later.
*/
@Bridge(symbol="CMVideoFormatDescriptionCreate", optional=true)
protected static native int create(CFAllocator allocator, CMVideoCodecType codecType, int width, int height, NSDictionary<NSString, ?> extensions, CMVideoFormatDescription.CMVideoFormatDescriptionPtr outDesc);
/**
* @since Available in iOS 4.0 and later.
*/
@Bridge(symbol="CMVideoFormatDescriptionCreateForImageBuffer", optional=true)
protected static native int create(CFAllocator allocator, CVImageBuffer imageBuffer, CMVideoFormatDescription.CMVideoFormatDescriptionPtr outDesc);
/**
* @since Available in iOS 7.0 and later.
*/
@Bridge(symbol="CMVideoFormatDescriptionCreateFromH264ParameterSets", optional=true)
protected static native int create(CFAllocator allocator, @MachineSizedUInt long parameterSetCount, BytePtr.BytePtrPtr parameterSetPointers, MachineSizedUIntPtr parameterSetSizes, int NALUnitHeaderLength, CMFormatDescription.CMFormatDescriptionPtr formatDescriptionOut);
/**
* @since Available in iOS 7.0 and later.
*/
@Bridge(symbol="CMVideoFormatDescriptionGetH264ParameterSetAtIndex", optional=true)
protected static native int getH264ParameterSetAtIndex(CMFormatDescription videoDesc, @MachineSizedUInt long parameterSetIndex, BytePtr.BytePtrPtr parameterSetPointerOut, MachineSizedUIntPtr parameterSetSizeOut, MachineSizedUIntPtr parameterSetCountOut, IntPtr NALUnitHeaderLengthOut);
/**
* @since Available in iOS 4.0 and later.
*/
@Bridge(symbol="CMVideoFormatDescriptionGetDimensions", optional=true)
public native @ByVal CMVideoDimensions getDimensions();
/**
* @since Available in iOS 4.0 and later.
*/
@Bridge(symbol="CMVideoFormatDescriptionGetPresentationDimensions", optional=true)
public native @ByVal CGSize getPresentationDimensions(boolean usePixelAspectRatio, boolean useCleanAperture);
/**
* @since Available in iOS 4.0 and later.
*/
@Bridge(symbol="CMVideoFormatDescriptionGetCleanAperture", optional=true)
public native @ByVal CGRect getCleanAperture(boolean originIsAtTopLeft);
/**
* @since Available in iOS 4.0 and later.
*/
@Bridge(symbol="CMVideoFormatDescriptionGetExtensionKeysCommonWithImageBuffers", optional=true)
public static native NSArray<?> getExtensionKeysCommonWithImageBuffers();
/**
* @since Available in iOS 4.0 and later.
*/
@Bridge(symbol="CMVideoFormatDescriptionMatchesImageBuffer", optional=true)
public native boolean matchesImageBuffer(CVImageBuffer imageBuffer);
/**
* @since Available in iOS 8.0 and later.
*/
@Bridge(symbol="CMVideoFormatDescriptionCreateFromBigEndianImageDescriptionData", optional=true)
protected static native int create(CFAllocator allocator, BytePtr imageDescriptionData, @MachineSizedUInt long imageDescriptionSize, int imageDescriptionStringEncoding, String imageDescriptionFlavor, CMVideoFormatDescription.CMVideoFormatDescriptionPtr videoFormatDescriptionOut);
/**
* @since Available in iOS 8.0 and later.
*/
@Bridge(symbol="CMVideoFormatDescriptionCreateFromBigEndianImageDescriptionBlockBuffer", optional=true)
protected static native int create(CFAllocator allocator, CMBlockBuffer imageDescriptionBlockBuffer, int imageDescriptionStringEncoding, String imageDescriptionFlavor, CMVideoFormatDescription.CMVideoFormatDescriptionPtr videoFormatDescriptionOut);
/**
* @since Available in iOS 8.0 and later.
*/
@Bridge(symbol="CMVideoFormatDescriptionCopyAsBigEndianImageDescriptionBlockBuffer", optional=true)
public static native int copyAsBigEndianImageDescriptionBlockBuffer(CFAllocator allocator, CMVideoFormatDescription videoFormatDescription, int imageDescriptionStringEncoding, String imageDescriptionFlavor, CMBlockBuffer.CMBlockBufferPtr imageDescriptionBlockBufferOut);
/*</methods>*/
}