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 { if displayThumbnailPanel {
thumbnailPanelHeight = 52.0 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) transition.updateFrame(node: currentThumbnailContainerNode, frame: thumbnailsFrame)
currentThumbnailContainerNode.updateLayout(size: thumbnailsFrame.size, transition: transition) currentThumbnailContainerNode.updateLayout(size: thumbnailsFrame.size, transition: transition)

View File

@ -661,7 +661,7 @@ final class UniversalVideoGalleryItemNode: ZoomableContentGalleryItemNode {
seekable = value.duration >= 30.0 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 let timer = SwiftSignalKit.Timer(timeout: 3.0, repeat: false, completion: { [weak self] in
self?.updateControlsVisibility(false) self?.updateControlsVisibility(false)
self?.controlsTimer = nil self?.controlsTimer = nil

View File

@ -445,7 +445,12 @@ const NSUInteger TGAttachmentDisplayedAssetLimit = 500;
TGMediaAssetImageType screenImageType = refresh ? TGMediaAssetImageTypeLargeThumbnail : TGMediaAssetImageTypeFastLargeThumbnail; TGMediaAssetImageType screenImageType = refresh ? TGMediaAssetImageTypeLargeThumbnail : TGMediaAssetImageTypeFastLargeThumbnail;
TGMediaAssetImageType imageType = thumbnail ? TGMediaAssetImageTypeAspectRatioThumbnail : screenImageType; 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) if (_editingContext == nil)
return assetSignal; return assetSignal;

View File

@ -81,6 +81,7 @@ const CGFloat TGGifConverterMaximumSide = 720.0f;
CGFloat renderWidth = CGFloor(sourceWidth / blockSize) * blockSize; CGFloat renderWidth = CGFloor(sourceWidth / blockSize) * blockSize;
CGFloat renderHeight = CGFloor(sourceHeight * renderWidth / sourceWidth); CGFloat renderHeight = CGFloor(sourceHeight * renderWidth / sourceWidth);
CGSize renderSize = CGSizeMake(renderWidth, renderHeight);
CGSize targetSize = TGFitSizeF(CGSizeMake(renderWidth, renderHeight), CGSizeMake(TGGifConverterMaximumSide, TGGifConverterMaximumSide)); CGSize targetSize = TGFitSizeF(CGSizeMake(renderWidth, renderHeight), CGSizeMake(TGGifConverterMaximumSide, TGGifConverterMaximumSide));
NSDictionary *videoCleanApertureSettings = @ NSDictionary *videoCleanApertureSettings = @
@ -152,11 +153,11 @@ const CGFloat TGGifConverterMaximumSide = 720.0f;
if (gifProperties != NULL) 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 (pxBuffer != NULL)
{ {
if (previewImage == nil) { if (previewImage == nil) {
previewImage = TGScaleImageToPixelSize([[UIImage alloc] initWithCGImage:imgRef], targetSize); previewImage = TGScaleImageToPixelSize([[UIImage alloc] initWithCGImage:imgRef], renderSize);
} }
float frameDuration = 0.1f; float frameDuration = 0.1f;
NSNumber *delayTimeUnclampedProp = CFDictionaryGetValue(gifProperties, kCGImagePropertyGIFUnclampedDelayTime); NSNumber *delayTimeUnclampedProp = CFDictionaryGetValue(gifProperties, kCGImagePropertyGIFUnclampedDelayTime);

View File

@ -1027,7 +1027,6 @@ final class PeerInfoAvatarListContainerNode: ASDisplayNode {
let indexOffset = CGFloat(i - self.currentIndex) 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) 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 { if wasAdded {
itemsAdded = true itemsAdded = true
addedItemNodesForAdditiveTransition.append(itemNode) addedItemNodesForAdditiveTransition.append(itemNode)