VideoPlayerValue { … final Duration duration ; final Duration position ; final Caption caption ; final List<DurationRange> buffered ; final bool isPlaying ; final bool isLooping ; final bool isBuffering ; final double volume ; final double playbackSpeed ; final String? errorDescription ; final Size size ; final bool isInitialized ; bool get hasError => errorDescription != null ; … }
VideoPlayerValue { … final Duration duration ; final Duration position ; final Caption caption ; final List<DurationRange> buffered ; final bool isPlaying ; final bool isLooping ; final bool isBuffering ; final double volume ; final double playbackSpeed ; final String? errorDescription ; final Size size ; final bool isInitialized ; bool get hasError => errorDescription != null ; … }
VideoPlayerValue { … final Duration duration ; final Duration position ; final Caption caption ; final List<DurationRange> buffered ; final bool isPlaying ; final bool isLooping ; final bool isBuffering ; final double volume ; final double playbackSpeed ; final String? errorDescription ; final Size size ; final bool isInitialized ; bool get hasError => errorDescription != null ; … }
the texture into a `CVPixelBuffer`. */ - (CVPixelBufferRef _Nullable)copyPixelBuffer ; /** * Called when the texture is unregistered. * * Called on the raster thread. */ @optional - (void)onTextureUnregistered:(NSObject<FlutterTexture>*)texture ; @end FlutterTexture
the texture into a `CVPixelBuffer`. */ - (CVPixelBufferRef _Nullable)copyPixelBuffer ; /** * Called when the texture is unregistered. * * Called on the raster thread. */ @optional - (void)onTextureUnregistered:(NSObject<FlutterTexture>*)texture ; @end FlutterTexture
the texture into a `CVPixelBuffer`. */ - (CVPixelBufferRef _Nullable)copyPixelBuffer ; /** * Called when the texture is unregistered. * * Called on the raster thread. */ @optional - (void)onTextureUnregistered:(NSObject<FlutterTexture>*)texture ; @end FlutterTexture
the texture into a `CVPixelBuffer`. */ - (CVPixelBufferRef _Nullable)copyPixelBuffer ; /** * Called when the texture is unregistered. * * Called on the raster thread. */ @optional - (void)onTextureUnregistered:(NSObject<FlutterTexture>*)texture ; @end FlutterTexture - (void)onTextureUnregistered:(NSObject<FlutterTexture>*)texture { dispatch_async(dispatch_get_main_queue(), ^ { [self dispose] ; }) ; }
for usage in Flutter and returns an id that can be used to reference * that texture when calling into Flutter with channels. Textures must be registered on the * platform thread. */ - (int64_t)registerTexture:(NSObject<FlutterTexture>*)texture ; /** * Notifies Flutter that the content of the previously registered texture has been updated. * * This will trigger a call to `-[FlutterTexture copyPixelBuffer]` on the raster thread. */ - (void)textureFrameAvailable:(int64_t)textureId ; /** * Unregisters a `FlutterTexture` that has previously regeistered with `registerTexture:`. Textures * must be unregistered on the the platform thread. * * @param textureId The result that was previously returned from `registerTexture:`. */ - (void)unregisterTexture:(int64_t)textureId ; @end FlutterTextureRegistry
for usage in Flutter and returns an id that can be used to reference * that texture when calling into Flutter with channels. Textures must be registered on the * platform thread. */ - (int64_t)registerTexture:(NSObject<FlutterTexture>*)texture ; /** * Notifies Flutter that the content of the previously registered texture has been updated. * * This will trigger a call to `-[FlutterTexture copyPixelBuffer]` on the raster thread. */ - (void)textureFrameAvailable:(int64_t)textureId ; /** * Unregisters a `FlutterTexture` that has previously regeistered with `registerTexture:`. Textures * must be unregistered on the the platform thread. * * @param textureId The result that was previously returned from `registerTexture:`. */ - (void)unregisterTexture:(int64_t)textureId ; @end FlutterTextureRegistry
for usage in Flutter and returns an id that can be used to reference * that texture when calling into Flutter with channels. Textures must be registered on the * platform thread. */ - (int64_t)registerTexture:(NSObject<FlutterTexture>*)texture ; /** * Notifies Flutter that the content of the previously registered texture has been updated. * * This will trigger a call to `-[FlutterTexture copyPixelBuffer]` on the raster thread. */ - (void)textureFrameAvailable:(int64_t)textureId ; /** * Unregisters a `FlutterTexture` that has previously regeistered with `registerTexture:`. Textures * must be unregistered on the the platform thread. * * @param textureId The result that was previously returned from `registerTexture:`. */ - (void)unregisterTexture:(int64_t)textureId ; @end FlutterTextureRegistry … int64_t textureId = [_registry registerTexture:player] ; …
for usage in Flutter and returns an id that can be used to reference * that texture when calling into Flutter with channels. Textures must be registered on the * platform thread. */ - (int64_t)registerTexture:(NSObject<FlutterTexture>*)texture ; /** * Notifies Flutter that the content of the previously registered texture has been updated. * * This will trigger a call to `-[FlutterTexture copyPixelBuffer]` on the raster thread. */ - (void)textureFrameAvailable:(int64_t)textureId ; /** * Unregisters a `FlutterTexture` that has previously regeistered with `registerTexture:`. Textures * must be unregistered on the the platform thread. * * @param textureId The result that was previously returned from `registerTexture:`. */ - (void)unregisterTexture:(int64_t)textureId ; @end FlutterTextureRegistry … int64_t textureId = [_registry registerTexture:player] ; … textureId͕ฦΔ
for usage in Flutter and returns an id that can be used to reference * that texture when calling into Flutter with channels. Textures must be registered on the * platform thread. */ - (int64_t)registerTexture:(NSObject<FlutterTexture>*)texture ; /** * Notifies Flutter that the content of the previously registered texture has been updated. * * This will trigger a call to `-[FlutterTexture copyPixelBuffer]` on the raster thread. */ - (void)textureFrameAvailable:(int64_t)textureId ; /** * Unregisters a `FlutterTexture` that has previously regeistered with `registerTexture:`. Textures * must be unregistered on the the platform thread. * * @param textureId The result that was previously returned from `registerTexture:`. */ - (void)unregisterTexture:(int64_t)textureId ; @end FlutterTextureRegistry
for usage in Flutter and returns an id that can be used to reference * that texture when calling into Flutter with channels. Textures must be registered on the * platform thread. */ - (int64_t)registerTexture:(NSObject<FlutterTexture>*)texture ; /** * Notifies Flutter that the content of the previously registered texture has been updated. * * This will trigger a call to `-[FlutterTexture copyPixelBuffer]` on the raster thread. */ - (void)textureFrameAvailable:(int64_t)textureId ; /** * Unregisters a `FlutterTexture` that has previously regeistered with `registerTexture:`. Textures * must be unregistered on the the platform thread. * * @param textureId The result that was previously returned from `registerTexture:`. */ - (void)unregisterTexture:(int64_t)textureId ; @end FlutterTextureRegistry • FlutterʹTexture͕ߋ৽͞Εͨͱ͑Δ • FlutterTexture.copyPixcelBu ff er()͕ݺͼ͞ΕΔ
for usage in Flutter and returns an id that can be used to reference * that texture when calling into Flutter with channels. Textures must be registered on the * platform thread. */ - (int64_t)registerTexture:(NSObject<FlutterTexture>*)texture ; /** * Notifies Flutter that the content of the previously registered texture has been updated. * * This will trigger a call to `-[FlutterTexture copyPixelBuffer]` on the raster thread. */ - (void)textureFrameAvailable:(int64_t)textureId ; /** * Unregisters a `FlutterTexture` that has previously regeistered with `registerTexture:`. Textures * must be unregistered on the the platform thread. * * @param textureId The result that was previously returned from `registerTexture:`. */ - (void)unregisterTexture:(int64_t)textureId ; @end FlutterTextureRegistry _displayLink = [CADisplayLink displayLinkWithTarget:frameUpdate r selector:@selector(onDisplayLink:)] ; . .. - (void)onDisplayLink:(CADisplayLink*)link { [_registry textureFrameAvailable:_textureId] ; }
for usage in Flutter and returns an id that can be used to reference * that texture when calling into Flutter with channels. Textures must be registered on the * platform thread. */ - (int64_t)registerTexture:(NSObject<FlutterTexture>*)texture ; /** * Notifies Flutter that the content of the previously registered texture has been updated. * * This will trigger a call to `-[FlutterTexture copyPixelBuffer]` on the raster thread. */ - (void)textureFrameAvailable:(int64_t)textureId ; /** * Unregisters a `FlutterTexture` that has previously regeistered with `registerTexture:`. Textures * must be unregistered on the the platform thread. * * @param textureId The result that was previously returned from `registerTexture:`. */ - (void)unregisterTexture:(int64_t)textureId ; @end FlutterTextureRegistry _displayLink = [CADisplayLink displayLinkWithTarget:frameUpdate r selector:@selector(onDisplayLink:)] ; . .. - (void)onDisplayLink:(CADisplayLink*)link { [_registry textureFrameAvailable:_textureId] ; }
for usage in Flutter and returns an id that can be used to reference * that texture when calling into Flutter with channels. Textures must be registered on the * platform thread. */ - (int64_t)registerTexture:(NSObject<FlutterTexture>*)texture ; /** * Notifies Flutter that the content of the previously registered texture has been updated. * * This will trigger a call to `-[FlutterTexture copyPixelBuffer]` on the raster thread. */ - (void)textureFrameAvailable:(int64_t)textureId ; /** * Unregisters a `FlutterTexture` that has previously regeistered with `registerTexture:`. Textures * must be unregistered on the the platform thread. * * @param textureId The result that was previously returned from `registerTexture:`. */ - (void)unregisterTexture:(int64_t)textureId ; @end FlutterTextureRegistry _displayLink = [CADisplayLink displayLinkWithTarget:frameUpdate r selector:@selector(onDisplayLink:)] ; . .. - (void)onDisplayLink:(CADisplayLink*)link { [_registry textureFrameAvailable:_textureId] ; }
for usage in Flutter and returns an id that can be used to reference * that texture when calling into Flutter with channels. Textures must be registered on the * platform thread. */ - (int64_t)registerTexture:(NSObject<FlutterTexture>*)texture ; /** * Notifies Flutter that the content of the previously registered texture has been updated. * * This will trigger a call to `-[FlutterTexture copyPixelBuffer]` on the raster thread. */ - (void)textureFrameAvailable:(int64_t)textureId ; /** * Unregisters a `FlutterTexture` that has previously regeistered with `registerTexture:`. Textures * must be unregistered on the the platform thread. * * @param textureId The result that was previously returned from `registerTexture:`. */ - (void)unregisterTexture:(int64_t)textureId ; @end FlutterTextureRegistry
for usage in Flutter and returns an id that can be used to reference * that texture when calling into Flutter with channels. Textures must be registered on the * platform thread. */ - (int64_t)registerTexture:(NSObject<FlutterTexture>*)texture ; /** * Notifies Flutter that the content of the previously registered texture has been updated. * * This will trigger a call to `-[FlutterTexture copyPixelBuffer]` on the raster thread. */ - (void)textureFrameAvailable:(int64_t)textureId ; /** * Unregisters a `FlutterTexture` that has previously regeistered with `registerTexture:`. Textures * must be unregistered on the the platform thread. * * @param textureId The result that was previously returned from `registerTexture:`. */ - (void)unregisterTexture:(int64_t)textureId ; @end FlutterTextureRegistry - (void)dispose:(FLTTextureMessage*)input error:(FlutterError**)error { … [_registry unregisterTexture:input.textureId.intValue];
registers a SurfaceTexture managed by the Flutter engine . * * @return A SurfaceTextureEntry . * / SurfaceTextureEntry createSurfaceTexture() ; /** A registry entry for a managed SurfaceTexture. * / interface SurfaceTextureEntry { /** @return The managed SurfaceTexture. * / SurfaceTexture surfaceTexture() ; /** @return The identity of this SurfaceTexture. * / long id() ; /** Deregisters and releases this SurfaceTexture. * / void release() ; } } TextureRegistry
registers a SurfaceTexture managed by the Flutter engine . * * @return A SurfaceTextureEntry . * / SurfaceTextureEntry createSurfaceTexture() ; /** A registry entry for a managed SurfaceTexture. * / interface SurfaceTextureEntry { /** @return The managed SurfaceTexture. * / SurfaceTexture surfaceTexture() ; /** @return The identity of this SurfaceTexture. * / long id() ; /** Deregisters and releases this SurfaceTexture. * / void release() ; } } TextureRegistry
registers a SurfaceTexture managed by the Flutter engine . * * @return A SurfaceTextureEntry . * / SurfaceTextureEntry createSurfaceTexture() ; /** A registry entry for a managed SurfaceTexture. * / interface SurfaceTextureEntry { /** @return The managed SurfaceTexture. * / SurfaceTexture surfaceTexture() ; /** @return The identity of this SurfaceTexture. * / long id() ; /** Deregisters and releases this SurfaceTexture. * / void release() ; } } TextureRegistry
registers a SurfaceTexture managed by the Flutter engine . * * @return A SurfaceTextureEntry . * / SurfaceTextureEntry createSurfaceTexture() ; /** A registry entry for a managed SurfaceTexture. * / interface SurfaceTextureEntry { /** @return The managed SurfaceTexture. * / SurfaceTexture surfaceTexture() ; /** @return The identity of this SurfaceTexture. * / long id() ; /** Deregisters and releases this SurfaceTexture. * / void release() ; } } TextureRegistry
registers a SurfaceTexture managed by the Flutter engine . * * @return A SurfaceTextureEntry . * / SurfaceTextureEntry createSurfaceTexture() ; /** A registry entry for a managed SurfaceTexture. * / interface SurfaceTextureEntry { /** @return The managed SurfaceTexture. * / SurfaceTexture surfaceTexture() ; /** @return The identity of this SurfaceTexture. * / long id() ; /** Deregisters and releases this SurfaceTexture. * / void release() ; } } TextureRegistry textureId͕ฦΔ