Video avatar fixes

This commit is contained in:
Ilya Laktyushin 2020-07-15 15:27:39 +03:00
parent ab77f20c24
commit 5e1330af01
5 changed files with 11 additions and 6 deletions

View File

@ -253,7 +253,7 @@ open class GalleryControllerNode: ASDisplayNode, UIScrollViewDelegate, UIGesture
if displayThumbnailPanel {
thumbnailPanelHeight = 52.0
}
let thumbnailsFrame = CGRect(origin: CGPoint(x: 0.0, y: layout.size.height - 40.0 - panelHeight + 4.0 - layout.intrinsicInsets.bottom), size: CGSize(width: layout.size.width, height: panelHeight - 4.0))
let thumbnailsFrame = CGRect(origin: CGPoint(x: 0.0, y: layout.size.height - 40.0 - panelHeight + 4.0 - layout.intrinsicInsets.bottom + (self.areControlsHidden ? 54.0 : 0.0)), size: CGSize(width: layout.size.width, height: panelHeight - 4.0))
transition.updateFrame(node: currentThumbnailContainerNode, frame: thumbnailsFrame)
currentThumbnailContainerNode.updateLayout(size: thumbnailsFrame.size, transition: transition)

View File

@ -661,7 +661,7 @@ final class UniversalVideoGalleryItemNode: ZoomableContentGalleryItemNode {
seekable = value.duration >= 30.0
}
if playing && strongSelf.previousPlaying != true {
if playing && strongSelf.previousPlaying != true && !disablePlayerControls {
let timer = SwiftSignalKit.Timer(timeout: 3.0, repeat: false, completion: { [weak self] in
self?.updateControlsVisibility(false)
self?.controlsTimer = nil

View File

@ -445,7 +445,12 @@ const NSUInteger TGAttachmentDisplayedAssetLimit = 500;
TGMediaAssetImageType screenImageType = refresh ? TGMediaAssetImageTypeLargeThumbnail : TGMediaAssetImageTypeFastLargeThumbnail;
TGMediaAssetImageType imageType = thumbnail ? TGMediaAssetImageTypeAspectRatioThumbnail : screenImageType;
SSignal *assetSignal = [TGMediaAssetImageSignals imageForAsset:asset imageType:imageType size:imageSize];
TGMediaAsset *concreteAsset = asset;
if ([concreteAsset isKindOfClass:[TGCameraCapturedVideo class]]) {
concreteAsset = [(TGCameraCapturedVideo *)asset originalAsset];
}
SSignal *assetSignal = [TGMediaAssetImageSignals imageForAsset:concreteAsset imageType:imageType size:imageSize];
if (_editingContext == nil)
return assetSignal;

View File

@ -81,6 +81,7 @@ const CGFloat TGGifConverterMaximumSide = 720.0f;
CGFloat renderWidth = CGFloor(sourceWidth / blockSize) * blockSize;
CGFloat renderHeight = CGFloor(sourceHeight * renderWidth / sourceWidth);
CGSize renderSize = CGSizeMake(renderWidth, renderHeight);
CGSize targetSize = TGFitSizeF(CGSizeMake(renderWidth, renderHeight), CGSizeMake(TGGifConverterMaximumSide, TGGifConverterMaximumSide));
NSDictionary *videoCleanApertureSettings = @
@ -152,11 +153,11 @@ const CGFloat TGGifConverterMaximumSide = 720.0f;
if (gifProperties != NULL)
{
CVPixelBufferRef pxBuffer = [self newBufferFrom:imgRef size:targetSize withPixelBufferPool:adaptor.pixelBufferPool andAttributes:adaptor.sourcePixelBufferAttributes];
CVPixelBufferRef pxBuffer = [self newBufferFrom:imgRef size:renderSize withPixelBufferPool:adaptor.pixelBufferPool andAttributes:adaptor.sourcePixelBufferAttributes];
if (pxBuffer != NULL)
{
if (previewImage == nil) {
previewImage = TGScaleImageToPixelSize([[UIImage alloc] initWithCGImage:imgRef], targetSize);
previewImage = TGScaleImageToPixelSize([[UIImage alloc] initWithCGImage:imgRef], renderSize);
}
float frameDuration = 0.1f;
NSNumber *delayTimeUnclampedProp = CFDictionaryGetValue(gifProperties, kCGImagePropertyGIFUnclampedDelayTime);

View File

@ -1027,7 +1027,6 @@ final class PeerInfoAvatarListContainerNode: ASDisplayNode {
let indexOffset = CGFloat(i - self.currentIndex)
let itemFrame = CGRect(origin: CGPoint(x: indexOffset * size.width + self.transitionFraction * size.width - size.width / 2.0, y: -size.height / 2.0), size: size)
if wasAdded {
itemsAdded = true
addedItemNodesForAdditiveTransition.append(itemNode)