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
John Preston
4bef1e9f59
Use unreliable video duration if open with audio.
2022-02-01 16:51:51 +03:00
John Preston
2f9c39fe53
Support selecting Webm stickers.
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
d18e28978a
Cache good thumbnail in Webp for Webm stickers.
2022-01-28 19:10:07 +03:00
John Preston
079772a399
Correctly preserve first frame alpha in video streaming.
2022-01-28 19:10:07 +03:00
John Preston
2e39befd7c
Don't trust AVFormatContext duration in Webm video.
...
It reports some strange numbers like 1000, which is 1ms.
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
19ce1edc16
Use base::SafeRound instead of std::round.
...
Previous assertion violations because of NaN from std::round were
in video streaming, see commits 27d58ba07b
, 8f5830d520
.
Now the crashes happened in the ConvertScale() call from a background
thread when preparing an image from clipboard for sending to a chat.
2021-09-27 12:13:57 +04:00
23rd
e6f0c176f7
Moved AudioMsgId to separated file.
2021-09-01 01:23:20 +03:00
John Preston
beff635e45
Colorize bubbles according to a custom chat theme.
2021-08-30 20:32:57 +03:00
John Preston
2694cb76a7
Remove crash debug information from streaming.
2021-08-25 11:24:32 +03:00
John Preston
7948fc509e
Remove (incorrect) checks for double casts.
2021-08-24 18:11:47 +03:00
John Preston
2d6155fc85
Throw fp exceptions in Windows 32 bit build.
2021-08-24 17:43:31 +03:00
John Preston
8f5830d520
Workaround both std::round-s in video streaming.
2021-08-24 12:42:27 +03:00
John Preston
e8f1373edc
Add some checks for NAN in video playback.
2021-08-23 20:29:40 +03:00
John Preston
27d58ba07b
Try to do a non-failed double->crl::time cast.
...
A crash on some old CPUs show, that in video frame processing
sometimes a cast from double to crl::time fails, writing to
the resulting crl::time value INT64_MIN (0x8000000000000000).
This is shown in crash logs, with lines like:
...,rounded:104,casted:-9223372036854775808,...
where logs are written like:
...
).arg(std::round(adjust * _options.speed)
).arg(crl::time(std::round(adjust * _options.speed))
...
I don't know what to do and how to workaround this. Trying other casts.
2021-08-23 17:58:59 +03:00
John Preston
868015da25
Add extensive video playback crash logs.
2021-08-23 12:17:40 +03:00
John Preston
3136c0586e
Add some more assertions to debug a crash.
2021-08-21 09:33:20 +03:00
John Preston
3d36e501a1
Add some assertions to debug a crash in video playback.
2021-08-20 18:42:13 +03:00
Ilya Fedin
79cc797aff
Fix -Wunused-variable warnings
2021-07-13 21:43:34 +03:00
John Preston
4ff9e90153
Add some assertions and logging for a crash debugging.
2021-06-24 10:49:01 +04:00
John Preston
fba116f0d5
Implement custom OpenGL renderer for PiP.
2021-06-10 10:12:37 +04:00
John Preston
607263b8be
Fix seek / cancel of video playback in media viewer.
2021-06-09 09:19:28 +04:00
John Preston
f6f0b02333
Render YUV420 video in media viewer.
2021-06-09 09:19:28 +04:00
John Preston
9144f4ea7b
Fix streaming frames prepare.
2021-05-24 22:45:15 +04:00
Ilya Fedin
c0c10689a1
Get rid of deprecated ranges::view usage
2021-03-13 19:14:58 +03:00
Ilya Fedin
a986d7a3d6
Fix checking cover stream on seeking
2021-01-22 17:05:43 +04:00
John Preston
7ab919e249
Allow skipping more bad packets after a good one.
2020-12-14 19:56:24 +04:00
John Preston
ce91caa820
Fix build on macOS.
2020-09-29 19:03:23 +03:00
John Preston
f0e1d2fd02
'base::optional_variant<' -> 'std::variant<v::null_t,'
2020-09-29 19:03:19 +03:00
John Preston
734d834a20
Replace mapbox variant with std::variant.
2020-09-29 19:03:19 +03:00
Ilya Fedin
7d29f9ce17
Don't check sws_scale return value
...
To workaround ffmpeg bug: https://gitlab.alpinelinux.org/alpine/aports/-/issues/11722
2020-08-31 12:01:43 +04:00
John Preston
16177eae2b
Simplify frame presentation.
2020-08-11 18:21:40 +04:00
John Preston
8c45b5e0f8
Show video userpics in media viewer.
2020-07-25 11:24:11 +04:00
John Preston
2df5972f68
Raise file size limit to 2000 MB.
2020-07-08 10:07:01 +04:00
John Preston
a33c9479a5
Revert pausing in processQueuedPackets.
2020-06-29 16:44:48 +04:00
John Preston
57249c6ea0
Fix a case of huge memory consumption in streaming.
2020-06-29 12:42:56 +04:00
23rd
e318a7d65f
Simplified ranges::find_if with ranges::any_of and ranges::none_of.
2020-06-23 21:53:43 +04:00
John Preston
357caf8007
Keep separate MTP::Config's for separate accounts.
2020-06-23 21:53:41 +04:00
John Preston
fb322b5fc5
Use empty Storage::Cache::Key as nullopt.
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
7db53599e8
Use Data::DocumentMedia to store good thumbnails.
2020-06-01 18:09:29 +04:00
John Preston
07e3671ca8
Allow monospace blocks to extend bubble width.
...
This partially fixes #2060 instead of additional settings from #7822 .
2020-05-12 11:07:41 +04:00