Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
82d5333
Extract FVPFrameUpdater and FVPVideoPlayer from plugin file to separa…
FirentisTFW Nov 21, 2024
a2d3d9f
Add docs for FVPFrameUpdater and FVPVideoPlayer interfaces
FirentisTFW Nov 21, 2024
a74c720
Remove unused imports and #pragma statements
FirentisTFW Nov 21, 2024
9092b71
Add empty lines at the end of files
FirentisTFW Nov 21, 2024
add5719
Bump version to 2.6.4 and update changelog
FirentisTFW Nov 21, 2024
9587ad0
Move GLKit import from header file to source file
FirentisTFW Nov 21, 2024
83cec0c
Add FVPVideoPlayerPlugin_Test import to plugin file
FirentisTFW Nov 22, 2024
99123db
Fix parameter type in interface constructor
FirentisTFW Nov 22, 2024
9545fda
Separate plugin and factory classes by pragma mark
FirentisTFW Nov 25, 2024
75b5ab9
Add nullability type specifiers to FVPVideoPlayer interface
FirentisTFW Nov 25, 2024
5ec766f
Make properties not needed in header of FVPVideoPlayer private
FirentisTFW Dec 2, 2024
c958a4a
Use nonnull macro for the whole header file
FirentisTFW Dec 2, 2024
0a707a5
Make updatePlayingState private for FVPVideoPlayer
FirentisTFW Dec 2, 2024
0055ea3
Make texture registry private for FVPFrameUpdater
FirentisTFW Dec 2, 2024
717315e
Move code from Plugin_Test file to different files
FirentisTFW Dec 2, 2024
489f2a9
Make changelog description more general
FirentisTFW Dec 4, 2024
599adc8
Add a doc comment for FVPDefaultAVFactory
FirentisTFW Dec 4, 2024
513961c
Make lastKnownAvailableTime property of FVPFrameUpdater readonly
FirentisTFW Dec 4, 2024
ff11b63
Add _Test.h file for FVPVideoPlayer
FirentisTFW Dec 4, 2024
7bb02d4
Add back a doc comment for disposeSansEventChannel
FirentisTFW Dec 4, 2024
da9048c
Add non-null macros for consistency
FirentisTFW Dec 4, 2024
d174f30
Adjust imports to follow the style guide
FirentisTFW Dec 4, 2024
8151a35
Move FlutterStreamHandler and FlutterTexture conformance to the main …
FirentisTFW Dec 4, 2024
591141d
Add a blank line between methods
FirentisTFW Dec 4, 2024
ae10006
Move all init methods to the beginning of the class
FirentisTFW Dec 4, 2024
faaaeb6
Remove nullable and nonnull annotations from properties in player imp…
FirentisTFW Dec 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Make properties not needed in header of FVPVideoPlayer private
  • Loading branch information
FirentisTFW committed Dec 2, 2024
commit 5ec766f11b1f8614015e090b8fbe87d3378341fc
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,31 @@
static void *playbackLikelyToKeepUpContext = &playbackLikelyToKeepUpContext;
static void *rateContext = &rateContext;

@interface FVPVideoPlayer ()
/// The AVPlayerItemVideoOutput associated with this video player.
@property(readonly, nonatomic, nonnull) AVPlayerItemVideoOutput *videoOutput;
/// The plugin registrar, to obtain view information from.
@property(nonatomic, readonly) NSObject<FlutterPluginRegistrar> *registrar;
/// The CALayer associated with the Flutter view this plugin is associated with, if any.
@property(nonatomic, readonly, nullable) CALayer *flutterViewLayer;
/// The Flutter event sink used to send events to the Flutter engine.
@property(nonatomic, nonnull) FlutterEventSink eventSink;
/// The preferred transform for the video. It can be used to handle the rotation of the video.
@property(nonatomic) CGAffineTransform preferredTransform;
/// Indicates whether the video player is currently playing.
@property(nonatomic, readonly) BOOL isPlaying;
/// Indicates whether the video player has been initialized.
@property(nonatomic, readonly) BOOL isInitialized;
/// The updater that drives callbacks to the engine to indicate that a new frame is ready.
@property(nonatomic, nullable) FVPFrameUpdater *frameUpdater;
/// The display link that drives frameUpdater.
@property(nonatomic, nullable) FVPDisplayLink *displayLink;
/// Whether a new frame needs to be provided to the engine regardless of the current play/pause
/// state (e.g., after a seek while paused). If YES, the display link should continue to run until
/// the next frame is successfully provided.
@property(nonatomic, assign) BOOL waitingForFrame;
@end

@implementation FVPVideoPlayer
- (instancetype)initWithAsset:(NSString *)asset
frameUpdater:(FVPFrameUpdater *)frameUpdater
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,34 +18,12 @@
/// It provides methods to control playback, adjust volume, handle seeking, and
/// notify the Flutter engine about new video frames.
@interface FVPVideoPlayer ()
/// The AVPlayerItemVideoOutput associated with this video player.
@property(readonly, nonatomic, nonnull) AVPlayerItemVideoOutput *videoOutput;
/// The plugin registrar, to obtain view information from.
@property(nonatomic, weak, nullable) NSObject<FlutterPluginRegistrar> *registrar;
/// The CALayer associated with the Flutter view this plugin is associated with, if any.
@property(nonatomic, readonly, nullable) CALayer *flutterViewLayer;
/// The Flutter event channel used to communicate with the Flutter engine.
@property(nonatomic, nonnull) FlutterEventChannel *eventChannel;
/// The Flutter event sink used to send events to the Flutter engine.
@property(nonatomic, nonnull) FlutterEventSink eventSink;
/// The preferred transform for the video. It can be used to handle the rotation of the video.
@property(nonatomic) CGAffineTransform preferredTransform;
/// Indicates whether the video player has been disposed.
@property(nonatomic, readonly) BOOL disposed;
/// Indicates whether the video player is currently playing.
@property(nonatomic, readonly) BOOL isPlaying;
/// Indicates whether the video player is set to loop.
@property(nonatomic) BOOL isLooping;
/// Indicates whether the video player has been initialized.
@property(nonatomic, readonly) BOOL isInitialized;
/// The updater that drives callbacks to the engine to indicate that a new frame is ready.
@property(nonatomic, nullable) FVPFrameUpdater *frameUpdater;
/// The display link that drives frameUpdater.
@property(nonatomic, nullable) FVPDisplayLink *displayLink;
/// Whether a new frame needs to be provided to the engine regardless of the current play/pause
/// state (e.g., after a seek while paused). If YES, the display link should continue to run until
/// the next frame is successfully provided.
@property(nonatomic, assign) BOOL waitingForFrame;

NS_ASSUME_NONNULL_BEGIN

Expand Down