Class AVOutputSettingsAssistant

  • All Implemented Interfaces:
    NSObject

    public class AVOutputSettingsAssistant
    extends NSObject
    AVOutputSettingsAssistant A class, each instance of which specifies a set of parameters for configuring objects that use output settings dictionaries, for example AVAssetWriter & AVAssetWriterInput, so that the resulting media file conforms to some specific criteria Instances of AVOutputSettingsAssistant are typically created using a string constant representing a specific preset configuration, such as AVOutputSettingsPreset1280x720. Once you have an instance, its properties can be used as a guide for creating and configuring an AVAssetWriter object and one or more AVAssetWriterInput objects. If all the suggested properties are respected, the resulting media file will conform to the criteria implied by the preset. Alternatively, the properties of an instance can be used as a "base" configuration which can be customized to suit your individual needs. The recommendations made by an instance get better as you tell it more about the format of your source data. For example, if you set the sourceVideoFormat property, the recommendation made by the videoSettings property will ensure that your video frames are not scaled up from a smaller size.
    • Constructor Detail

      • AVOutputSettingsAssistant

        protected AVOutputSettingsAssistant​(org.moe.natj.general.Pointer peer)
    • Method Detail

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • allocWithZone

        public static java.lang.Object allocWithZone​(org.moe.natj.general.ptr.VoidPtr zone)
      • automaticallyNotifiesObserversForKey

        public static boolean automaticallyNotifiesObserversForKey​(java.lang.String key)
      • availableOutputSettingsPresets

        public static NSArray<java.lang.String> availableOutputSettingsPresets()
        availableOutputSettingsPresets Returns the list of presets that can be used to create an instance of AVOutputSettingsAssistant Each preset in the returned list can be passed in to +outputSettingsAssistantWithPreset: to create a new instance of AVOutputSettingsAssistant. On iOS, the returned array may be different between different device models.
        Returns:
        An NSArray of NSString objects, each of which is a preset identifier
      • cancelPreviousPerformRequestsWithTarget

        public static void cancelPreviousPerformRequestsWithTarget​(java.lang.Object aTarget)
      • cancelPreviousPerformRequestsWithTargetSelectorObject

        public static void cancelPreviousPerformRequestsWithTargetSelectorObject​(java.lang.Object aTarget,
                                                                                 org.moe.natj.objc.SEL aSelector,
                                                                                 java.lang.Object anArgument)
      • classFallbacksForKeyedArchiver

        public static NSArray<java.lang.String> classFallbacksForKeyedArchiver()
      • classForKeyedUnarchiver

        public static org.moe.natj.objc.Class classForKeyedUnarchiver()
      • debugDescription_static

        public static java.lang.String debugDescription_static()
      • description_static

        public static java.lang.String description_static()
      • hash_static

        public static long hash_static()
      • instanceMethodSignatureForSelector

        public static NSMethodSignature instanceMethodSignatureForSelector​(org.moe.natj.objc.SEL aSelector)
      • instancesRespondToSelector

        public static boolean instancesRespondToSelector​(org.moe.natj.objc.SEL aSelector)
      • isSubclassOfClass

        public static boolean isSubclassOfClass​(org.moe.natj.objc.Class aClass)
      • keyPathsForValuesAffectingValueForKey

        public static NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey​(java.lang.String key)
      • new_objc

        public static java.lang.Object new_objc()
      • outputSettingsAssistantWithPreset

        public static AVOutputSettingsAssistant outputSettingsAssistantWithPreset​(java.lang.String presetIdentifier)
        outputSettingsAssistantWithPreset: Returns an instance of AVOutputSettingsAssistant corresponding to the given preset The properties of the returned object can be used as a guide for creating and configuring an AVAssetWriter object and one or more AVAssetWriterInput objects. If all the suggested properties are respected in creating the AVAssetWriter, the resulting media file will conform to the criteria implied by the preset. Use +availableOutputSettingsPresets to get a list of presets identifiers that can be used with this method.
        Parameters:
        presetIdentifier - The string identifier, for example AVOutputSettingsPreset1280x720, for the desired preset
        Returns:
        An instance of AVOutputSettingsAssistant with properties corresponding to the given preset, or nil if there is no such available preset.
      • resolveClassMethod

        public static boolean resolveClassMethod​(org.moe.natj.objc.SEL sel)
      • resolveInstanceMethod

        public static boolean resolveInstanceMethod​(org.moe.natj.objc.SEL sel)
      • setVersion_static

        public static void setVersion_static​(long aVersion)
      • superclass_static

        public static org.moe.natj.objc.Class superclass_static()
      • version_static

        public static long version_static()
      • audioSettings

        public NSDictionary<java.lang.String,​?> audioSettings()
        [@property] audioSettings A dictionary of key/value pairs, as specified in AVAudioSettings.h, to be used when e.g. creating an instance of AVAssetWriterInput The value of this property may change as a result of setting a new value for the sourceAudioFormat property.
      • outputFileType

        public java.lang.String outputFileType()
        [@property] outputFileType A UTI indicating the type of file to be written, to be used when e.g. creating an instance of AVAssetWriter Use UTTypeCopyPreferredTagWithClass / kUTTagClassFilenameExtension to get a suitable file extension for a given file type.
      • setSourceAudioFormat

        public void setSourceAudioFormat​(CMFormatDescriptionRef value)
        [@property] sourceAudioFormat A CMAudioFormatDescription object describing the format of you audio data Setting this property will allow the receiver to make a more informed recommendation for the audio settings that should be used. After setting this property, you should re-query the audioSettings property to get the new recommendation. The default value is NULL, which means that the receiver does not know anything about the format of your audio data. If you set a non-NULL value for this property, and are using the receiver to initialize an AVAssetWriterInput, the same format description should be used to initialize the AVAssetWriterInput, along with the dictionary from the audioSettings property.
      • setSourceVideoAverageFrameDuration

        public void setSourceVideoAverageFrameDuration​(CMTime value)
        [@property] sourceVideoAverageFrameDuration A CMTime describing the average frame duration (reciprocal of average frame rate) of your video data Setting this property will allow the receiver to make a more informed recommendation for the video settings that should be used. After setting this property, you should re-query the videoSettings property to get the new recommendation. The default value is 1/30, which means that the receiver is assuming that your source video has an average frame rate of 30fps. It is an error to set this property to a value that is not positive or not numeric. See CMTIME_IS_NUMERIC.
      • setSourceVideoFormat

        public void setSourceVideoFormat​(CMFormatDescriptionRef value)
        [@property] sourceVideoFormat A CMVideoFormatDescription object describing the format of your video data Setting this property will allow the receiver to make a more informed recommendation for the video settings that should be used. After setting this property, you should re-query the videoSettings property to get the new recommendation. The default value is NULL, which means that the receiver does not know anything about the format of your video data. If you set a non-NULL value for this property, and are using the receiver to initialize an AVAssetWriterInput, the same format description should be used to initialize the AVAssetWriterInput, along with the dictionary from the videoSettings property.
      • setSourceVideoMinFrameDuration

        public void setSourceVideoMinFrameDuration​(CMTime value)
        [@property] sourceVideoMinFrameDuration A CMTime describing the minimum frame duration (reciprocal of the maximum frame rate) of your video data Setting this property will allow the receiver to make a more informed recommendation for the video settings that should be used. After setting this property, you should re-query the videoSettings property to get the new recommendation. If your source of video data is an instance of AVAssetReaderOutput, you can discover the minimum frame duration of your source asset using the AVAssetTrack.minFrameDuration property. The default value is 1/30, which means that the receiver is assuming that your source video has a maximum frame rate of 30fps. It is an error to set this property to a value that is not positive or not numeric. See CMTIME_IS_NUMERIC.
      • sourceAudioFormat

        public CMFormatDescriptionRef sourceAudioFormat()
        [@property] sourceAudioFormat A CMAudioFormatDescription object describing the format of you audio data Setting this property will allow the receiver to make a more informed recommendation for the audio settings that should be used. After setting this property, you should re-query the audioSettings property to get the new recommendation. The default value is NULL, which means that the receiver does not know anything about the format of your audio data. If you set a non-NULL value for this property, and are using the receiver to initialize an AVAssetWriterInput, the same format description should be used to initialize the AVAssetWriterInput, along with the dictionary from the audioSettings property.
      • sourceVideoAverageFrameDuration

        public CMTime sourceVideoAverageFrameDuration()
        [@property] sourceVideoAverageFrameDuration A CMTime describing the average frame duration (reciprocal of average frame rate) of your video data Setting this property will allow the receiver to make a more informed recommendation for the video settings that should be used. After setting this property, you should re-query the videoSettings property to get the new recommendation. The default value is 1/30, which means that the receiver is assuming that your source video has an average frame rate of 30fps. It is an error to set this property to a value that is not positive or not numeric. See CMTIME_IS_NUMERIC.
      • sourceVideoFormat

        public CMFormatDescriptionRef sourceVideoFormat()
        [@property] sourceVideoFormat A CMVideoFormatDescription object describing the format of your video data Setting this property will allow the receiver to make a more informed recommendation for the video settings that should be used. After setting this property, you should re-query the videoSettings property to get the new recommendation. The default value is NULL, which means that the receiver does not know anything about the format of your video data. If you set a non-NULL value for this property, and are using the receiver to initialize an AVAssetWriterInput, the same format description should be used to initialize the AVAssetWriterInput, along with the dictionary from the videoSettings property.
      • sourceVideoMinFrameDuration

        public CMTime sourceVideoMinFrameDuration()
        [@property] sourceVideoMinFrameDuration A CMTime describing the minimum frame duration (reciprocal of the maximum frame rate) of your video data Setting this property will allow the receiver to make a more informed recommendation for the video settings that should be used. After setting this property, you should re-query the videoSettings property to get the new recommendation. If your source of video data is an instance of AVAssetReaderOutput, you can discover the minimum frame duration of your source asset using the AVAssetTrack.minFrameDuration property. The default value is 1/30, which means that the receiver is assuming that your source video has a maximum frame rate of 30fps. It is an error to set this property to a value that is not positive or not numeric. See CMTIME_IS_NUMERIC.
      • videoSettings

        public NSDictionary<java.lang.String,​?> videoSettings()
        [@property] videoSettings A dictionary of key/value pairs, as specified in AVVideoSettings.h, to be used when e.g. creating an instance of AVAssetWriterInput The value of this property may change as a result of setting a new value for the sourceVideoFormat property.