Package apple.avfoundation
Class AVSampleBufferRenderSynchronizer
- java.lang.Object
-
- org.moe.natj.general.NativeObject
-
- org.moe.natj.objc.ObjCObject
-
- apple.NSObject
-
- apple.avfoundation.AVSampleBufferRenderSynchronizer
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceAVSampleBufferRenderSynchronizer.Block_addBoundaryTimeObserverForTimesQueueUsingBlockstatic interfaceAVSampleBufferRenderSynchronizer.Block_addPeriodicTimeObserverForIntervalQueueUsingBlockstatic interfaceAVSampleBufferRenderSynchronizer.Block_removeRendererAtTimeCompletionHandler-
Nested classes/interfaces inherited from class apple.NSObject
NSObject.Function_instanceMethodForSelector_ret, NSObject.Function_methodForSelector_ret
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAVSampleBufferRenderSynchronizer(org.moe.natj.general.Pointer peer)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static booleanaccessInstanceVariablesDirectly()java.lang.ObjectaddBoundaryTimeObserverForTimesQueueUsingBlock(NSArray<? extends NSValue> times, NSObject queue, AVSampleBufferRenderSynchronizer.Block_addBoundaryTimeObserverForTimesQueueUsingBlock block)addBoundaryTimeObserverForTimes:queue:usingBlock: Requests invocation of a block when specified times are traversed during normal rendering.java.lang.ObjectaddPeriodicTimeObserverForIntervalQueueUsingBlock(CMTime interval, NSObject queue, AVSampleBufferRenderSynchronizer.Block_addPeriodicTimeObserverForIntervalQueueUsingBlock block)addPeriodicTimeObserverForInterval:queue:usingBlock: Requests invocation of a block during rendering to report changing time.voidaddRenderer(AVQueuedSampleBufferRendering renderer)addRenderer: Adds a renderer to the list of renderers under the synchronizer's control.static AVSampleBufferRenderSynchronizeralloc()static java.lang.ObjectallocWithZone(org.moe.natj.general.ptr.VoidPtr zone)static booleanautomaticallyNotifiesObserversForKey(java.lang.String key)static voidcancelPreviousPerformRequestsWithTarget(java.lang.Object aTarget)static voidcancelPreviousPerformRequestsWithTargetSelectorObject(java.lang.Object aTarget, org.moe.natj.objc.SEL aSelector, java.lang.Object anArgument)static NSArray<java.lang.String>classFallbacksForKeyedArchiver()static org.moe.natj.objc.ClassclassForKeyedUnarchiver()CMTimecurrentTime()currentTime Returns the current time of the synchronizer.static java.lang.StringdebugDescription_static()static java.lang.Stringdescription_static()static longhash_static()AVSampleBufferRenderSynchronizerinit()static NSObject.Function_instanceMethodForSelector_retinstanceMethodForSelector(org.moe.natj.objc.SEL aSelector)static NSMethodSignatureinstanceMethodSignatureForSelector(org.moe.natj.objc.SEL aSelector)static booleaninstancesRespondToSelector(org.moe.natj.objc.SEL aSelector)static booleanisSubclassOfClass(org.moe.natj.objc.Class aClass)static NSSet<java.lang.String>keyPathsForValuesAffectingValueForKey(java.lang.String key)static java.lang.Objectnew_objc()floatrate()[@property] rate Playback rate.voidremoveRendererAtTimeCompletionHandler(AVQueuedSampleBufferRendering renderer, CMTime time, AVSampleBufferRenderSynchronizer.Block_removeRendererAtTimeCompletionHandler completionHandler)removeRenderer:atTime:completionHandler: Removes a renderer from the list of renderers under the synchronizer's control.voidremoveTimeObserver(java.lang.Object observer)removeTimeObserver: Cancels a previously registered time observer.NSArray<?>renderers()[@property] renderers Array of idcurrently attached to the synchronizer. static booleanresolveClassMethod(org.moe.natj.objc.SEL sel)static booleanresolveInstanceMethod(org.moe.natj.objc.SEL sel)voidsetRate(float value)[@property] rate Playback rate.voidsetRateTime(float rate, CMTime time)setRate:time: Sets the timebase's time and rate.static voidsetVersion_static(long aVersion)static org.moe.natj.objc.Classsuperclass_static()CMTimebaseReftimebase()[@property] timebase The synchronizer's rendering timebase, which governs how time stamps are interpreted.static longversion_static()-
Methods inherited from class apple.NSObject
accessibilityActivate, accessibilityActivationPoint, accessibilityAssistiveTechnologyFocusedIdentifiers, accessibilityAttributedHint, accessibilityAttributedLabel, accessibilityAttributedUserInputLabels, accessibilityAttributedValue, accessibilityContainerType, accessibilityCustomActions, accessibilityCustomRotors, accessibilityDecrement, accessibilityDragSourceDescriptors, accessibilityDropPointDescriptors, accessibilityElementAtIndex, accessibilityElementCount, accessibilityElementDidBecomeFocused, accessibilityElementDidLoseFocus, accessibilityElementIsFocused, accessibilityElements, accessibilityElementsHidden, accessibilityFrame, accessibilityHint, accessibilityIncrement, accessibilityLabel, accessibilityLanguage, accessibilityNavigationStyle, accessibilityPath, accessibilityPerformEscape, accessibilityPerformMagicTap, accessibilityRespondsToUserInteraction, accessibilityScroll, accessibilityTextualContext, accessibilityTraits, accessibilityUserInputLabels, accessibilityValue, accessibilityViewIsModal, addObserverForKeyPathOptionsContext, attemptRecoveryFromErrorOptionIndex, attemptRecoveryFromErrorOptionIndexDelegateDidRecoverSelectorContextInfo, autoContentAccessingProxy, awakeAfterUsingCoder, awakeFromNib, class_objc, classForCoder, classForKeyedArchiver, copy, dealloc, debugDescription, description, dictionaryWithValuesForKeys, didChangeValueForKey, didChangeValueForKeyWithSetMutationUsingObjects, didChangeValuesAtIndexesForKey, doesNotRecognizeSelector, fileManagerShouldProceedAfterError, fileManagerWillProcessPath, finalize_objc, forwardingTargetForSelector, forwardInvocation, hash, indexOfAccessibilityElement, isAccessibilityElement, isEqual, isKindOfClass, isMemberOfClass, isProxy, methodForSelector, methodSignatureForSelector, mutableArrayValueForKey, mutableArrayValueForKeyPath, mutableCopy, mutableOrderedSetValueForKey, mutableOrderedSetValueForKeyPath, mutableSetValueForKey, mutableSetValueForKeyPath, observationInfo, observeValueForKeyPathOfObjectChangeContext, performSelector, performSelectorInBackgroundWithObject, performSelectorOnMainThreadWithObjectWaitUntilDone, performSelectorOnMainThreadWithObjectWaitUntilDoneModes, performSelectorOnThreadWithObjectWaitUntilDone, performSelectorOnThreadWithObjectWaitUntilDoneModes, performSelectorWithObject, performSelectorWithObjectAfterDelay, performSelectorWithObjectAfterDelayInModes, performSelectorWithObjectWithObject, prepareForInterfaceBuilder, provideImageDataBytesPerRowOrigin_Size_UserInfo, removeObserverForKeyPath, removeObserverForKeyPathContext, replacementObjectForCoder, replacementObjectForKeyedArchiver, respondsToSelector, self, setAccessibilityActivationPoint, setAccessibilityAttributedHint, setAccessibilityAttributedLabel, setAccessibilityAttributedUserInputLabels, setAccessibilityAttributedValue, setAccessibilityContainerType, setAccessibilityCustomActions, setAccessibilityCustomRotors, setAccessibilityDragSourceDescriptors, setAccessibilityDropPointDescriptors, setAccessibilityElements, setAccessibilityElementsHidden, setAccessibilityFrame, setAccessibilityHint, setAccessibilityLabel, setAccessibilityLanguage, setAccessibilityNavigationStyle, setAccessibilityPath, setAccessibilityRespondsToUserInteraction, setAccessibilityTextualContext, setAccessibilityTraits, setAccessibilityUserInputLabels, setAccessibilityValue, setAccessibilityViewIsModal, setIsAccessibilityElement, setNilValueForKey, setObservationInfo, setShouldGroupAccessibilityChildren, setValueForKey, setValueForKeyPath, setValueForUndefinedKey, setValuesForKeysWithDictionary, shouldGroupAccessibilityChildren, superclass, validateValueForKeyError, validateValueForKeyPathError, valueForKey, valueForKeyPath, valueForUndefinedKey, willChangeValueForKey, willChangeValueForKeyWithSetMutationUsingObjects, willChangeValuesAtIndexesForKey
-
-
-
-
Method Detail
-
accessInstanceVariablesDirectly
public static boolean accessInstanceVariablesDirectly()
-
addBoundaryTimeObserverForTimesQueueUsingBlock
public java.lang.Object addBoundaryTimeObserverForTimesQueueUsingBlock(NSArray<? extends NSValue> times, NSObject queue, AVSampleBufferRenderSynchronizer.Block_addBoundaryTimeObserverForTimesQueueUsingBlock block)
addBoundaryTimeObserverForTimes:queue:usingBlock: Requests invocation of a block when specified times are traversed during normal rendering. Each call to -addPeriodicTimeObserverForInterval:queue:usingBlock: should be paired with a corresponding call to -removeTimeObserver:. Releasing the observer object without a call to -removeTimeObserver: will result in undefined behavior.- Parameters:
times- The times for which the observer requests notification, supplied as an array of NSValues carrying CMTimes.queue- The serial queue onto which block should be enqueued. If you pass NULL, the main queue (obtained using dispatch_get_main_queue()) will be used. Passing a concurrent queue to this method will result in undefined behavior.block- The block to be invoked when any of the specified times is crossed during normal rendering.- Returns:
- An object conforming to the NSObject protocol. You must retain this returned value as long as you want the time observer to be invoked by the synchronizer. Pass this object to -removeTimeObserver: to cancel time observation.
-
addPeriodicTimeObserverForIntervalQueueUsingBlock
public java.lang.Object addPeriodicTimeObserverForIntervalQueueUsingBlock(CMTime interval, NSObject queue, AVSampleBufferRenderSynchronizer.Block_addPeriodicTimeObserverForIntervalQueueUsingBlock block)
addPeriodicTimeObserverForInterval:queue:usingBlock: Requests invocation of a block during rendering to report changing time. The block is invoked periodically at the interval specified, interpreted according to the timeline of the timebase. The block is also invoked whenever time jumps and whenever rendering starts or stops. If the interval corresponds to a very short interval in real time, the synchronizer may invoke the block less frequently than requested. Even so, the synchronizer will invoke the block sufficiently often for the client to update indications of the current time appropriately in its end-user interface. Each call to -addPeriodicTimeObserverForInterval:queue:usingBlock: should be paired with a corresponding call to -removeTimeObserver:. Releasing the observer object without a call to -removeTimeObserver: will result in undefined behavior.- Parameters:
interval- The interval of invocation of the block during normal rendering, according to progress of the current time of the timebase.queue- The serial queue onto which block should be enqueued. If you pass NULL, the main queue (obtained using dispatch_get_main_queue()) will be used. Passing a concurrent queue to this method will result in undefined behavior.block- The block to be invoked periodically.- Returns:
- An object conforming to the NSObject protocol. You must retain this returned value as long as you want the time observer to be invoked by the synchronizer. Pass this object to -removeTimeObserver: to cancel time observation.
-
addRenderer
public void addRenderer(AVQueuedSampleBufferRendering renderer)
addRenderer: Adds a renderer to the list of renderers under the synchronizer's control. Adds a renderer to begin operating with the synchronizer's timebase. This method can be called while rate is non-0.0.- Parameters:
renderer- An object conforming to AVQueuedSampleBufferRendering to be synchronized by this synchronizer.
-
alloc
public static AVSampleBufferRenderSynchronizer alloc()
-
allocWithZone
public static java.lang.Object allocWithZone(org.moe.natj.general.ptr.VoidPtr zone)
-
automaticallyNotifiesObserversForKey
public static boolean automaticallyNotifiesObserversForKey(java.lang.String key)
-
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()
-
init
public AVSampleBufferRenderSynchronizer init()
-
instanceMethodForSelector
public static NSObject.Function_instanceMethodForSelector_ret instanceMethodForSelector(org.moe.natj.objc.SEL aSelector)
-
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()
-
rate
public float rate()
[@property] rate Playback rate. Indicates the current rate of rendering. A value of 0.0 means "stopped"; a value of 1.0 means "play at the natural rate of the media". Must be greater than or equal to 0.0.
-
removeRendererAtTimeCompletionHandler
public void removeRendererAtTimeCompletionHandler(AVQueuedSampleBufferRendering renderer, CMTime time, AVSampleBufferRenderSynchronizer.Block_removeRendererAtTimeCompletionHandler completionHandler)
removeRenderer:atTime:completionHandler: Removes a renderer from the list of renderers under the synchronizer's control. This method can be called while rate is non-0.0. time is used to schedule future removals. If the time is in the past, the renderer will be removed immediately. kCMTimeInvalid can also be used to force immediate removal. This method removes the renderer asynchronously. The method can be called more than once, with a subsequent scheduled removal replacing a previously scheduled removal. Clients may provide an optional completionHandler block to be notified when the scheduled removal completes. If provided, completionHandler will always be called with the following values for didRemoveRenderer: - If the renderer has not been added to this synchronizer, completionHandler will be called and didRemoveRenderer will be NO. - If a removal of a particular renderer is scheduled after another removal of that same renderer has already been scheduled but not yet occurred, the previously-scheduled removal's completionHandler will be called and didRemoveRenderer will be NO. The new scheduled removal's completionHandler will not be called until it is replaced by another scheduled removal or the renderer is actually removed. - When the renderer is removed due to a scheduled removal, the completionHandler provided when that removal was scheduled will be called and didRemoveRenderer will be YES.- Parameters:
renderer- An object conforming to AVQueuedSampleBufferRendering currently synchronized by this synchronizer to no longer be synchronized by the synchronizer.time- The time on the timebase's timeline at which the renderer should be removed.completionHandler- Optional. A block called when the renderer is removed from the synchronizer. If provided, this block will always be called with didRemoveRenderer indicating whether the renderer was removed by this scheduled removal.
-
removeTimeObserver
public void removeTimeObserver(java.lang.Object observer)
removeTimeObserver: Cancels a previously registered time observer. Upon return, the caller is guaranteed that no new time observer blocks will begin executing. Depending on the calling thread and the queue used to add the time observer, an in-flight block may continue to execute after this method returns. You can guarantee synchronous time observer removal by enqueuing the call to -removeTimeObserver: on that queue. Alternatively, call dispatch_sync(queue, ^{}) after -removeTimeObserver: to wait for any in-flight blocks to finish executing. -removeTimeObserver: should be used to explicitly cancel each time observer added using -addPeriodicTimeObserverForInterval:queue:usingBlock: and -addBoundaryTimeObserverForTimes:queue:usingBlock:.- Parameters:
observer- An object returned by a previous call to -addPeriodicTimeObserverForInterval:queue:usingBlock: or -addBoundaryTimeObserverForTimes:queue:usingBlock:.
-
renderers
public NSArray<?> renderers()
[@property] renderers Array of idcurrently attached to the synchronizer. A list of renderers added to and not removed from the synchronizer. The list also includes renderers that have been scheduled to be removed but have not yet been removed. This property is not KVO observable.
-
resolveClassMethod
public static boolean resolveClassMethod(org.moe.natj.objc.SEL sel)
-
resolveInstanceMethod
public static boolean resolveInstanceMethod(org.moe.natj.objc.SEL sel)
-
setRate
public void setRate(float value)
[@property] rate Playback rate. Indicates the current rate of rendering. A value of 0.0 means "stopped"; a value of 1.0 means "play at the natural rate of the media". Must be greater than or equal to 0.0.
-
setRateTime
public void setRateTime(float rate, CMTime time)setRate:time: Sets the timebase's time and rate. Sets the timebase's time to time and then sets the rendering rate to rate. A rate value of 0.0 means "stopped"; a rate value of 1.0 means "play at the natural rate of the media". Use kCMTimeInvalid for time to not modify the timebase's time.- Parameters:
rate- A new timebase rate to set. Must be greater than or equal to 0.0time- A new time to set. Must be greater than or equal to kCMTimeZero, or kCMTimeInvalid
-
setVersion_static
public static void setVersion_static(long aVersion)
-
superclass_static
public static org.moe.natj.objc.Class superclass_static()
-
timebase
public CMTimebaseRef timebase()
[@property] timebase The synchronizer's rendering timebase, which governs how time stamps are interpreted. By default, this timebase will be driven by the clock of an added AVSampleBufferAudioRenderer. If no AVSampleBufferAudioRenderer has been added, the master clock will be the host time clock (mach_absolute_time with the appropriate timescale conversion; this is the same as Core Animation's CACurrentMediaTime). The timebase is a read-only timebase. Use the rate property and corresponding methods to adjust the timebase.
-
version_static
public static long version_static()
-
currentTime
public CMTime currentTime()
currentTime Returns the current time of the synchronizer. Returns the current time of the synchronizer. Not key-value observable; use -addPeriodicTimeObserverForInterval:queue:usingBlock: instead.- Returns:
- A CMTime
-
-