Class AVSampleBufferVideoRenderer

    • Constructor Detail

      • AVSampleBufferVideoRenderer

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

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • automaticallyNotifiesObserversForKey

        public static boolean automaticallyNotifiesObserversForKey​(@NotNull
                                                                   @NotNull java.lang.String key)
      • cancelPreviousPerformRequestsWithTarget

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

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

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

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

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

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

        public void enqueueSampleBuffer​(@NotNull
                                        @NotNull CMSampleBufferRef sampleBuffer)
        Description copied from interface: AVQueuedSampleBufferRendering
        enqueueSampleBuffer: Sends a sample buffer in order to render its contents. Video-specific notes: If sampleBuffer has the kCMSampleAttachmentKey_DoNotDisplay attachment set to kCFBooleanTrue, the frame will be decoded but not displayed. Otherwise, if sampleBuffer has the kCMSampleAttachmentKey_DisplayImmediately attachment set to kCFBooleanTrue, the decoded image will be displayed as soon as possible, replacing all previously enqueued images regardless of their timestamps. Otherwise, the decoded image will be displayed at sampleBuffer's output presentation timestamp, as interpreted by the timebase. To schedule the removal of previous images at a specific timestamp, enqueue a marker sample buffer containing no samples, with the kCMSampleBufferAttachmentKey_EmptyMedia attachment set to kCFBooleanTrue. IMPORTANT NOTE: attachments with the kCMSampleAttachmentKey_ prefix must be set via CMSampleBufferGetSampleAttachmentsArray and CFDictionarySetValue. Attachments with the kCMSampleBufferAttachmentKey_ prefix must be set via CMSetAttachment. The combination of either a non-NULL controlTimebase or an AVSampleBufferRenderSynchronizer with the use of kCMSampleAttachmentKey_DisplayImmediately as an attachment to the CMSampleBuffers that are enqueued for display is not recommended.
        Specified by:
        enqueueSampleBuffer in interface AVQueuedSampleBufferRendering
      • error

        @Nullable
        public @Nullable NSError error()
        [@property] error If the video renderer's status is AVQueuedSampleBufferRenderingStatusFailed, this describes the error that caused the failure. The value of this property is an NSError that describes what caused the video renderer to no longer be able to enqueue sample buffers. If the status is not AVQueuedSampleBufferRenderingStatusFailed, the value of this property is nil.
      • flush

        public void flush()
        Description copied from interface: AVQueuedSampleBufferRendering
        flush Instructs the receiver to discard pending enqueued sample buffers. Additional sample buffers can be appended after -flush. Video-specific notes: It is not possible to determine which sample buffers have been decoded, so the next frame passed to enqueueSampleBuffer: should be an IDR frame (also known as a key frame or sync sample).
        Specified by:
        flush in interface AVQueuedSampleBufferRendering
      • flushWithRemovalOfDisplayedImageCompletionHandler

        public void flushWithRemovalOfDisplayedImageCompletionHandler​(boolean removeDisplayedImage,
                                                                      @Nullable
                                                                      @Nullable AVSampleBufferVideoRenderer.Block_flushWithRemovalOfDisplayedImageCompletionHandler handler)
        flushWithRemovalOfDisplayedImage:completionHandler: Instructs the video renderer to discard pending enqueued sample buffers and call the provided block when complete. A flush resets decoder state. The next frame passed to enqueueSampleBuffer: should be an IDR frame (also known as a key frame or sync sample).
        Parameters:
        removeDisplayedImage - Set YES to remove any currently displayed image, NO to preserve any current image.
        handler - The handler to invoke when flush operation is complete. May be nil.
      • hasSufficientMediaDataForReliablePlaybackStart

        public boolean hasSufficientMediaDataForReliablePlaybackStart()
        Description copied from interface: AVQueuedSampleBufferRendering
        [@property] hasSufficientMediaDataForReliablePlaybackStart Indicates whether the enqueued media data meets the renderer's preroll level. Clients should fetch the value of this property to learn if the renderer has had enough media data enqueued to start playback reliably. Starting playback when this property is NO may prevent smooth playback following an immediate start. API-Since: 14.5
        Specified by:
        hasSufficientMediaDataForReliablePlaybackStart in interface AVQueuedSampleBufferRendering
      • 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)
      • isReadyForMoreMediaData

        public boolean isReadyForMoreMediaData()
        Description copied from interface: AVQueuedSampleBufferRendering
        [@property] readyForMoreMediaData Indicates the readiness of the receiver to accept more sample buffers. An object conforming to AVQueuedSampleBufferRendering keeps track of the occupancy levels of its internal queues for the benefit of clients that enqueue sample buffers from non-real-time sources -- i.e., clients that can supply sample buffers faster than they are consumed, and so need to decide when to hold back. Clients enqueueing sample buffers from non-real-time sources may hold off from generating or obtaining more sample buffers to enqueue when the value of readyForMoreMediaData is NO. It is safe to call enqueueSampleBuffer: when readyForMoreMediaData is NO, but it is a bad idea to enqueue sample buffers without bound. To help with control of the non-real-time supply of sample buffers, such clients can use -requestMediaDataWhenReadyOnQueue:usingBlock in order to specify a block that the receiver should invoke whenever it's ready for sample buffers to be appended. The value of readyForMoreMediaData will often change from NO to YES asynchronously, as previously supplied sample buffers are decoded and rendered. This property is not key value observable.
        Specified by:
        isReadyForMoreMediaData in interface AVQueuedSampleBufferRendering
      • isSubclassOfClass

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

        @NotNull
        public static @NotNull NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey​(@NotNull
                                                                                             @NotNull java.lang.String key)
      • requestMediaDataWhenReadyOnQueueUsingBlock

        public void requestMediaDataWhenReadyOnQueueUsingBlock​(@NotNull
                                                               @NotNull dispatch_queue_t queue,
                                                               @NotNull
                                                               AVQueuedSampleBufferRendering.Block_requestMediaDataWhenReadyOnQueueUsingBlock block)
        Description copied from interface: AVQueuedSampleBufferRendering
        requestMediaDataWhenReadyOnQueue:usingBlock: Instructs the target to invoke a client-supplied block repeatedly, at its convenience, in order to gather sample buffers for playback. The block should enqueue sample buffers to the receiver either until the receiver's readyForMoreMediaData property becomes NO or until there is no more data to supply. When the receiver has decoded enough of the media data it has received that it becomes ready for more media data again, it will invoke the block again in order to obtain more. If this method is called multiple times, only the last call is effective. Call stopRequestingMediaData to cancel this request. Each call to requestMediaDataWhenReadyOnQueue:usingBlock: should be paired with a corresponding call to stopRequestingMediaData:. Releasing the AVQueuedSampleBufferRendering object without a call to stopRequestingMediaData will result in undefined behavior.
        Specified by:
        requestMediaDataWhenReadyOnQueueUsingBlock in interface AVQueuedSampleBufferRendering
      • requiresFlushToResumeDecoding

        public boolean requiresFlushToResumeDecoding()
        [@property] requiresFlushToResumeDecoding Indicates that the receiver is in a state where it requires a call to -flush to continue decoding frames. When the application enters a state where use of video decoder resources is not permissible, the value of this property changes to YES along with the video renderer's status changing to AVQueuedSampleBufferRenderingStatusFailed. To resume rendering sample buffers using the video renderer after this property's value is YES, clients must first reset the video renderer by calling flush or flushWithRemovalOfDisplayedImage:completionHandler:. Clients can track changes to this property via AVSampleBufferVideoRendererRequiresFlushToResumeDecodingDidChangeNotification. This property is not key value observable.
      • 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)
      • status

        public long status()
        [@property] status The ability of the video renderer to be used for enqueueing sample buffers. The value of this property is an AVQueuedSampleBufferRenderingStatus that indicates whether the receiver can be used for enqueueing and rendering sample buffers. When the value of this property is AVQueuedSampleBufferRenderingStatusFailed, clients can check the value of the error property to determine the failure. To resume rendering sample buffers using the video renderer after a failure, clients must first reset the status to AVQueuedSampleBufferRenderingStatusUnknown. This can be achieved by invoking -flush on the video renderer. This property is key value observable.
      • superclass_static

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

        @NotNull
        public @NotNull CMTimebaseRef timebase()
        Description copied from interface: AVQueuedSampleBufferRendering
        [@property] timebase The renderer's timebase, which governs how time stamps are interpreted. The timebase is used to interpret time stamps. The timebase is read-only. Use the AVSampleBufferRenderSynchronizer to set the rate or time.
        Specified by:
        timebase in interface AVQueuedSampleBufferRendering
      • useStoredAccessor

        @Deprecated
        public static boolean useStoredAccessor()
        Deprecated.
      • version_static

        public static long version_static()