File tree 1 file changed +8
-0
lines changed 1 file changed +8
-0
lines changed Original file line number Diff line number Diff line change @@ -16,6 +16,7 @@ @implementation FlutterRTCVideoRenderer {
16
16
CVPixelBufferRef _pixelBufferRef;
17
17
RTCVideoRotation _rotation;
18
18
FlutterEventChannel* _eventChannel;
19
+ bool _isFirstFrameRendered;
19
20
}
20
21
21
22
@synthesize textureId = _textureId;
@@ -26,6 +27,7 @@ - (instancetype)initWithTextureRegistry:(id<FlutterTextureRegistry>)registry
26
27
messenger : (NSObject <FlutterBinaryMessenger>*)messenger {
27
28
self = [super init ];
28
29
if (self){
30
+ _isFirstFrameRendered = false ;
29
31
_frameSize = CGSizeZero ;
30
32
_renderSize = CGSizeZero ;
31
33
_rotation = -1 ;
@@ -207,6 +209,12 @@ - (void)renderFrame:(RTCVideoFrame *)frame {
207
209
dispatch_async (dispatch_get_main_queue (), ^{
208
210
FlutterRTCVideoRenderer *strongSelf = weakSelf;
209
211
[strongSelf.registry textureFrameAvailable: strongSelf.textureId];
212
+ if (!strongSelf->_isFirstFrameRendered ) {
213
+ if (strongSelf.eventSink ) {
214
+ strongSelf.eventSink (@{@" event" :@" didFirstFrameRendered" });
215
+ strongSelf->_isFirstFrameRendered = true ;
216
+ }
217
+ }
210
218
});
211
219
}
212
220
You can’t perform that action at this time.
0 commit comments