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