Commit graph

44 commits

Author SHA1 Message Date
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
4bef1e9f59 Use unreliable video duration if open with audio. 2022-02-01 16:51:51 +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
2d6155fc85 Throw fp exceptions in Windows 32 bit build. 2021-08-24 17:43:31 +03:00
Ilya Fedin
a986d7a3d6 Fix checking cover stream on seeking 2021-01-22 17:05:43 +04:00
John Preston
ce91caa820 Fix build on macOS. 2020-09-29 19:03:23 +03:00
John Preston
734d834a20 Replace mapbox variant with std::variant. 2020-09-29 19:03:19 +03: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
John Preston
581a21dbd9 Use Media::Streaming in EditCaptionBox. 2020-06-01 18:09:31 +04:00
Nicholas Guriev
9828262a03 Update GSL to v3.0.1 and lib_base
* Use identical types for std::min.
2020-05-01 12:03:18 +04:00
John Preston
5f5d5629f8 Fix memory leak in media streaming. 2020-01-21 18:48:21 +03:00
John Preston
8fb2772093 Fix sent GIFs playback. 2020-01-17 16:58:19 +03:00
John Preston
90c54b1f2a Highlight timestamps in song captions. 2019-12-26 17:14:35 +03:00
John Preston
8a3506af89 Restore download priorities without streaming. 2019-12-23 14:13:32 +03:00
John Preston
85545dba64 Set higher streaming priority in media overlay. 2019-12-23 13:27:20 +03:00
John Preston
621a5cc4ab Fix GIFs freezing playback. 2019-12-21 16:57:06 +03:00
John Preston
f51f133832 Send packets for processing in batches. 2019-12-19 18:14:05 +03:00
John Preston
041670b8e7 Fix download of short videos in media overlay. 2019-12-19 14:13:27 +03:00
Nicholas Guriev
793862bee6 Fix -Wredundant-move and -Wdeprecated-copy warnings (#6663)
* Do not move result at end of function

This makes GCC 9.1.2 happy with the active -Wredundant-move warning.
Indeed, such moving of local variables or local arguments before
returning is unnecessary and prevents the compiler from copy elision
optimization.
2019-11-12 18:15:34 +03:00
John Preston
56e137b20f Move some common code to lib_ffmpeg. 2019-07-01 17:57:35 +02:00
John Preston
fa3bf11a7f Fix possible crash in corrupt media files. 2019-06-17 14:23:50 +02:00
John Preston
04e3b250e7 Keep track of fully cached media files. 2019-06-04 14:30:44 +03:00
John Preston
2255eb2c68 Show loaded till in playback slider. 2019-06-04 14:30:44 +03:00
John Preston
e1114530ab Working code for streaming downloader. 2019-06-04 14:30:43 +03:00
John Preston
fe15ee742d Track in Reader if it is used in streaming. 2019-06-04 14:30:43 +03:00
John Preston
8c0cd9b9e9 Prepare Media::Streaming::Reader to be shared. 2019-06-04 14:30:43 +03:00
John Preston
feb238c5d9 Fix crash if asked to read more than 64MB at once. 2019-03-14 14:14:24 +04:00
John Preston
b65a24df96 Allow streaming videos with unknown duration.
When you stream image/gif as a soundless video the total duration is
unknown, so we accumulate packet->pts + packet->duration as duration.
2019-03-13 18:58:50 +04:00
John Preston
518d1da736 Fail streaming if no codec for a stream. 2019-03-11 12:08:14 +04:00
John Preston
6887993f92 Report streaming failed. 2019-03-11 12:08:13 +04:00
John Preston
e2eb9cea00 Apply sample_aspect_ratio in streaming. 2019-03-11 12:08:12 +04:00
John Preston
99e96a5b13 Allow looping video without audio in streaming. 2019-03-11 12:08:12 +04:00
John Preston
dafa286b18 Show option to download on streaming error. 2019-03-11 12:08:11 +04:00
John Preston
2208621050 First version of caching in media streaming. 2019-03-11 11:49:54 +04:00
John Preston
ccd04b98b9 Fix sync video to audio. 2019-03-11 11:49:54 +04:00
John Preston
3e9b811875 Implement precise seek in streaming. 2019-03-11 11:49:54 +04:00
John Preston
44c562d8ba Fix streaming seek, display progress. 2019-03-11 11:49:53 +04:00
John Preston
3b369fc98e Buffer audio when waiting data in streaming. 2019-03-11 11:49:53 +04:00
John Preston
26ea6c4e63 Provide receivedTill for streamed tracks. 2019-03-11 11:49:22 +04:00
John Preston
8e44a7f5c4 Basic code for video streaming + testing on video. 2019-03-11 11:49:22 +04:00
John Preston
a093cb6274 Move some logic to Media::Streaming::Player. 2019-03-11 11:49:21 +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