52 Commits

Author SHA1 Message Date
AlexeyZavar e85518b3fa Merge tag 'v7.0.4' into dev 2026-07-23 16:05:24 +03:00
John Preston d90c0784d9 Fix rotation reading when sending video.
Fixes #30093.
2026-07-10 14:04:30 +04:00
cumdev1337 665a2887e6 fix: embed portrait 4K 2026-05-12 11:08:44 +04:00
John Preston 9eda44ca31 Improve checks for video frame sizes. 2026-05-01 00:15:20 +07:00
AlexeyZavar d9c6e3a322 Merge tag 'v6.7.4' into dev 2026-04-07 19:39:36 +03:00
John Preston eeafe97614 More strict checks in ffmpeg decodiing. 2026-04-07 12:53:33 +07:00
AlexeyZavar dfc6718bea fix: app restart & crashes on macOS 2026-03-19 00:54:55 +03:00
Ilya Fedin 63bad22ac4 Remove some ffmpeg version conditionals
The previous commit uses a FFmpeg 6.1+ API making all those conditionals broken
2025-10-06 11:37:40 +04:00
Robert-André Mauchin 3358673ba4 Add compatibility with FFMPEG 7.0
avio: Constify data pointees of write callbacks

avutil: remove deprecated FF_API_PKT_DURATION

Ref: https://github.com/FFmpeg/FFmpeg/commit/2a68d945cd74265bb71c3d38b7a2e7f7d7e87be5
     https://github.com/FFmpeg/FFmpeg/commit/02aea61d69d8f81bc285e2131bf25f96a3e27feb
     https://github.com/FFmpeg/FFmpeg/commit/b8fef7e9c520b3923b32813b6a82c154c74402dc
2024-05-14 14:39:29 +04:00
23rd 88b20f6700 Fixed indents in some files. 2023-12-16 20:25:01 +00:00
John Preston aba84a6010 Update API scheme on layer 160: Duration. 2023-07-20 07:20:10 +04:00
John Preston 5f027d7c87 Check FindDecoder result in GIFs renderer. 2023-02-03 09:51:06 +04:00
23rd 57c50c8655 Optimized includes of attach_prepare.h. 2022-11-22 00:26:48 +00:00
John Preston 749fb52113 Implement animated spoilers. 2022-09-18 16:52:30 +04:00
Alexander Kernozhitsky a5bd4ef6f7 Fix code style 2022-09-04 08:04:02 +04:00
Alexander Kernozhitsky 21b0454461 Remove duplicate line
Co-authored-by: darkkeks <darkkeks@rambler.ru>
2022-09-04 08:04:02 +04:00
Alexander Kernozhitsky ca4b5edf21 Correct FFmpeg API usage
FFmpeg docs say that you must return AVERROR_EOF from the read callback, not zero. Still, Telegram just propagates the return value from IODevice::read() call, which returns zero in case of EOF.

I don't know whether this commit has any effect on the upstream build, but it fixes a bug in Debian build of Telegram, which is using FFmpeg 5.1 instead of 4.4. Still, it's also useful in the upstream, as it makes work with FFmpeg more correct.
2022-09-04 08:04:02 +04:00
John Preston f8e22210e7 Move Webm sticker to UnwrappedMedia. 2022-08-04 13:35:34 +03:00
John Preston 91c84d63de Force libvpx_vp9 decoder for VP9 videos.
Webm stickers depend on decoder support for alpha channel.
2022-01-28 19:10:07 +03:00
John Preston 8e749173de Render webm stickers in StickersListWidget. 2022-01-28 19:10:07 +03:00
John Preston 20dbf18106 Init webm player for sticker set thumbnails. 2022-01-28 19:10:07 +03:00
John Preston 044c7f3ce9 Generate opaque good thumbnails for non-sticker Webm. 2022-01-28 19:10:07 +03:00
John Preston 846cabeda5 Premultiply YUVA alpha in FFMpegReaderImplementation. 2022-01-28 19:10:07 +03:00
John Preston 8b7d2c880e Support rendering Webm videos with alpha. 2022-01-28 19:10:07 +03:00
John Preston 3ff17a8789 Refactor image transformation interfaces. 2022-01-21 15:33:44 +03:00
Ilya Fedin 847c01d605 Add Qt 6 support
Tested only on Linux so far
2021-10-21 13:15:00 +04:00
John Preston 8069fdd873 Use base/random.h instead of openssl::RandomValue. 2021-09-15 13:42:22 +03:00
Ilya Fedin 79cc797aff Fix -Wunused-variable warnings 2021-07-13 21:43:34 +03:00
John Preston 547251f67c Fix deprecation warnings when building with FFmpeg 4.2. 2020-11-06 11:21:34 +03:00
John Preston 74d2313784 Build Linux version with Qt 5.15.1 in CentOS 7 docker. 2020-11-06 11:21:34 +03:00
John Preston 8b96f4c214 Move Media::Clip::Reader and FileLocation to td_ui. 2020-10-30 18:32:18 +03:00
John Preston b3b11bd9e7 Move PreparedFile/PreparedList to td_ui. 2020-10-30 18:32:18 +03:00
Ilya Fedin 6e42d54632 Remove forgotten sws_scale check
It should been removed in 7d29f9ce17, but was forgotten
2020-10-29 17:40:36 +03:00
John Preston c61f3a0aba Fix sending of thumbnailed inline result GIFs. 2020-06-01 18:09:31 +04:00
John Preston 581a21dbd9 Use Media::Streaming in EditCaptionBox. 2020-06-01 18:09:31 +04:00
John Preston 33f4946242 Start using document bytes from DocumentMedia. 2020-06-01 18:09:30 +04:00
John Preston 735f7709b9 Fix sending videos larger than 720p. 2020-03-29 12:42:51 +04:00
John Preston 01c79f917e Add limits on video frame size.
Any video that starts streaming is limited to 4K.
Any in-chat streaming is limited to full hd.
Any GIF panel animation is limited to 720p.
2020-03-27 20:36:05 +04:00
John Preston 775d5b6dcc Use 64 byte alignment for ffmpeg frames.
Fixes #7225.
2020-02-17 16:44:08 +04:00
John Preston f51f133832 Send packets for processing in batches. 2019-12-19 18:14:05 +03:00
John Preston 0c713a930a Remove app.h / facades.h from precompiled header. 2019-10-01 23:59:46 +03:00
John Preston 6343221d7b Remove many includes from stdafx.pch. 2019-09-06 19:31:07 +03:00
John Preston 556f36ba7e Fix transparent animated GIFs. 2019-07-04 13:12:58 +02:00
John Preston 56e137b20f Move some common code to lib_ffmpeg. 2019-07-01 17:57:35 +02:00
23rd fb847135b5 Added ability to edit GIFs.
- Added to Media::Clip::MakeReader new constructor to create
 animated preview with remoteContent.
2019-04-09 17:17:31 +04:00
John Preston db631acf80 Remove old animations code. 2019-04-02 14:33:54 +04:00
John Preston 8171828c2a Fix build on GCC. 2019-03-11 12:08:09 +04:00
John Preston fde8dd9607 Play streaming audio in player. 2019-03-11 12:08:08 +04:00
John Preston 64f2f330f6 Render first frame when starting streaming. 2019-03-11 11:49:21 +04:00
John Preston 473e30e594 Basic code for media streaming + testing on music. 2019-03-11 11:49:21 +04:00