Commit Graph

220 Commits

Author SHA1 Message Date
23rd 100695d3bd Hardened native frame conversion with null storage and stride checks. 2026-05-18 10:36:53 +03:00
23rd 4ff510f3a4 Gated NativeTexture path on supported CVPixelBuffer pixel formats. 2026-05-18 10:36:53 +03:00
23rd 906ff74d19 Wrapped CVPixelBuffer lock in RAII guard to survive exceptions. 2026-05-18 10:36:53 +03:00
23rd 15aba3e545 Fixed garbage frames in chat inline video on macOS zero-copy path. 2026-05-18 10:36:53 +03:00
23rd 6a0c1af46b Added zero-copy Metal video decode with CVPixelBuffer native textures. 2026-05-18 10:36:52 +03:00
John Preston 9eda44ca31 Improve checks for video frame sizes. 2026-05-01 00:15:20 +07:00
John Preston 9878ee6fa7 Improve work on original video quality. 2026-04-19 22:19:47 +07:00
cumdev1337 827ec824d1 Bring back original video quality option 2026-04-19 17:03:38 +07:00
23rd 418233fa2e Added frame-by-frame stepping hotkeys to media view on paused video. 2026-04-14 09:16:15 +03:00
John Preston eeafe97614 More strict checks in ffmpeg decodiing. 2026-04-07 12:53:33 +07:00
23rd eca8dfb0ec Renamed rpl::start_with_ with rpl::on_. 2025-12-10 21:28:33 +03:00
John Preston 03df5b8546 rpl::type_erased() -> rpl::type_erased. 2025-12-10 14:27:05 +04:00
John Preston 188d65d700 Improve streaming of large files. 2024-12-20 21:07:20 +04:00
John Preston 0971485367 Support quality change in PiP. 2024-11-01 14:15:28 +04:00
John Preston d6ac883efa Implement adaptive quality selection. 2024-10-31 18:04:17 +04:00
John Preston 37dddda1a0 Save preferred video quality to settings. 2024-10-31 18:04:16 +04:00
John Preston 3f2f3ebd51 Allow switching video quality. 2024-10-31 18:04:16 +04:00
John Preston 6cfa053328 Add recorded round video preview. 2024-10-24 13:26:45 +04:00
John Preston 3c931b11d6 Clear CacheHelper::waiting mutex in time.
I hope this fixes crashes in streaming semaphore usage.

CacheHelper::waiting points to Context::_semaphore, so it
should be cleared before Context is destroyed, not later.
2023-09-18 12:40:02 +04:00
John Preston d567282430 Preload stories in the sources lists. 2023-07-20 07:20:14 +04:00
John Preston e7ccf5d8ad Fix possible std::clamp contract violation. 2023-07-20 07:20:13 +04:00
John Preston aba84a6010 Update API scheme on layer 160: Duration. 2023-07-20 07:20:10 +04:00
John Preston b71d72ca7c Allow showing stories in different contexts. 2023-07-20 07:20:10 +04:00
John Preston 1f1e543df7 Fix good thumbnail generation in sibling stories. 2023-07-20 07:20:10 +04:00
John Preston 2c17f41c61 Beta version 4.6.12: Compare speed values safely. 2023-03-17 21:18:56 +04:00
John Preston 1eff68813d Reuse new speed change control for video. 2023-03-15 13:36:40 +04:00
John Preston 5ca7b95cdb Implement new voice speed change control design. 2023-03-14 17:30:50 +04:00
John Preston 9c74c04738 Implement audio speed using libavfilter. 2023-03-08 16:10:36 +04:00
John Preston 5cba1cdc64 Fix blurred background for small images.
Fixes #25707.
2023-01-12 11:45:45 +04:00
John Preston b3858d5d97 Fix streamed media downloading.
Fixes #8500.
2022-12-26 14:24:07 +04:00
23rd 2acedca6b7 Replaced some qstr with u""_q literal. 2022-11-29 14:12:50 +03:00
John Preston 644ec1f599 Remove base::Observable / base::Variable. 2022-11-11 11:43:24 +04:00
John Preston 8268e9f872 Support new rounding for GIFs / videos. 2022-11-01 19:25:35 +04:00
John Preston fc3810fd7f Improve scaling / expanding for photos.
Fixes #25061.
2022-09-19 17:44:59 +04:00
John Preston 749fb52113 Implement animated spoilers. 2022-09-18 16:52:30 +04:00
John Preston d6ba092697 Make GIFs and videos with captions larger. 2022-09-05 19:03:52 +04:00
Alexander Kernozhitsky a5bd4ef6f7 Fix code style 2022-09-04 08:04:02 +04:00
Alexander Kernozhitsky c6c2a44e9d Patch the remaining uses or FFmpeg APIs 2022-09-04 08:04:02 +04:00
John Preston 184ebc865c Fix downloading videos of size > INT_MAX to disk. 2022-08-16 08:56:30 +03:00
John Preston 2499955496 Support custom emoji in the message input field. 2022-07-26 20:12:08 +03:00
John Preston 60d998bf36 Fix build on Linux. 2022-06-14 21:27:50 +04:00
John Preston 88393eb77b Fixed streaming for big files. 2022-05-19 17:27:03 +04:00
John Preston 6dedf7c63e Update API scheme to layer 143. 2022-05-19 17:27:02 +04:00
John Preston dd9e317257 Recover after a streaming error. 2022-03-30 14:08:36 +04:00
John Preston e8748986bf Fix fallback to software decoding in FFmpeg. 2022-03-30 12:22:50 +04:00
John Preston 41eb223bbf Render NV12 in OpenGL from hwaccel without swscale. 2022-03-23 10:03:43 +04:00
John Preston 0dca556843 Use FFmpeg hardware acceleration in media viewer / PiP. 2022-03-23 10:03:38 +04:00
23rd c9ebec1cf0 Removed base/observer.h from main pch.
Removed unused inheritances from base::Subscriber.
2022-03-15 18:02:30 +03:00
Nicholas Guriev 436622ad7c Fix build against FFmpeg v5.0
It has been released on January 17th. This patch keeps source compatibility
with older versions.
2022-02-28 20:22:18 +03:00
John Preston 95e806cb89 Play webm stickers only once if looping is disabled. 2022-02-10 19:11:21 +03:00