mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Video avatar fixes
This commit is contained in:
parent
ab77f20c24
commit
5e1330af01
@ -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)
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
@ -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)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user