diff --git a/submodules/SSignalKit/SSignalKit/Source/SSignalKit/SQueueLocalObject.h b/submodules/SSignalKit/SSignalKit/Source/SSignalKit/SQueueLocalObject.h new file mode 100644 index 0000000000..85fdfd2c59 --- /dev/null +++ b/submodules/SSignalKit/SSignalKit/Source/SSignalKit/SQueueLocalObject.h @@ -0,0 +1,19 @@ +// +// SQueueLocalObject.h +// SSignalKit +// +// Created by Mikhail Filimonov on 13.01.2021. +// Copyright © 2021 Telegram. All rights reserved. +// + +#import +#import +NS_ASSUME_NONNULL_BEGIN + +@interface SQueueLocalObject : NSObject +-(id)initWithQueue:(SQueue *)queue generate:(id (^)(void))next; +-(void)with:(void (^)(id object))f; +@end + +NS_ASSUME_NONNULL_END + diff --git a/submodules/SSignalKit/SSignalKit/Source/SSignalKit/SQueueLocalObject.m b/submodules/SSignalKit/SSignalKit/Source/SSignalKit/SQueueLocalObject.m new file mode 100644 index 0000000000..019a50a695 --- /dev/null +++ b/submodules/SSignalKit/SSignalKit/Source/SSignalKit/SQueueLocalObject.m @@ -0,0 +1,40 @@ +// +// SQueueLocalObject.m +// SSignalKit +// +// Created by Mikhail Filimonov on 13.01.2021. +// Copyright © 2021 Telegram. All rights reserved. +// + +#import "SQueueLocalObject.h" + +@implementation SQueueLocalObject { + SQueue *queue; + id valueRef; +} +-(id)initWithQueue:(SQueue *)queue generate:(id _Nonnull (^)(void))next { + if (self = [super init]) { + self->queue = queue; + [queue dispatch:^{ + self->valueRef = next(); + }]; + } + return self; +} + +-(void)with:(void (^)(id object))f { + [self->queue dispatch:^{ + f(self->valueRef); + }]; +} + +-(void)dealloc { + __block id value = self->valueRef; + self->valueRef = nil; + [queue dispatch:^{ + value = nil; + }]; +} + +@end + diff --git a/submodules/SSignalKit/SSignalKit/Source/SSignalKit/SSignalKit.h b/submodules/SSignalKit/SSignalKit/Source/SSignalKit/SSignalKit.h index 2c6679ff51..2cc7c97980 100644 --- a/submodules/SSignalKit/SSignalKit/Source/SSignalKit/SSignalKit.h +++ b/submodules/SSignalKit/SSignalKit/Source/SSignalKit/SSignalKit.h @@ -35,3 +35,4 @@ FOUNDATION_EXPORT const unsigned char SSignalKitVersionString[]; #import #import #import +#import diff --git a/submodules/TgVoipWebrtc/Sources/OngoingCallThreadLocalContext.mm b/submodules/TgVoipWebrtc/Sources/OngoingCallThreadLocalContext.mm index f1895427c3..675e851e14 100644 --- a/submodules/TgVoipWebrtc/Sources/OngoingCallThreadLocalContext.mm +++ b/submodules/TgVoipWebrtc/Sources/OngoingCallThreadLocalContext.mm @@ -1379,7 +1379,7 @@ static void processJoinPayload(tgcalls::GroupJoinPayload &payload, void (^ _Nonn completion(remoteRenderer); } else { GLVideoView *remoteRenderer = [[GLVideoView alloc] initWithFrame:CGRectZero]; - + // [remoteRenderer setVideoContentMode:kCAGravityResizeAspectFill]; std::shared_ptr> sink = [remoteRenderer getSink]; [queue dispatch:^{