Commit Graph

369 Commits

Author SHA1 Message Date
Jonathan Thomas
b70f89ff6c Fixing whitespace 2022-10-24 15:03:10 -05:00
Jonathan Thomas
2bc1c28b75 Fixing whitespace 2022-10-24 15:02:25 -05:00
Jonathan Thomas
f207e48fe4 Support many image formats with our FFmpegReader, by safely protecting empty packets in GetPacketPTS, and generating a duration and setting the has_single_image property. 2022-10-24 14:43:10 -05:00
Jonathan Thomas
0800205e24 Remove regression causing blank audio on many audio files. Replacing the broken logic in a different way, to force a NULL packet to the ProcessAudioPacket() function at the end of stream / EOF. 2022-10-14 23:15:31 -05:00
Jonathan Thomas
b13865c0e4 Detect audio EOF when all packets are decoded - since not all audio streams get a NULL packet at the end of stream 2022-10-13 16:45:33 -05:00
Jonathan Thomas
87052b5a35 Fixing whitespace issues 2022-10-13 10:02:56 -05:00
Jonathan Thomas
5f9c4e06d8 Large performance regression fixed by moving mutex further into the Timeline::GetFrame method - only when generating a new frame (allowing cache to actually work freely). Adding mutex back to FFmpegReader::GetFrame. Removing redundant mutex from ReaderBase.h. Adding mutex to all methods that call shrink_to_fit(). 2022-10-11 18:14:36 -05:00
Jonathan Thomas
32a89cfce9 Add lock to new Clear() method to prevent crashes 2022-10-06 21:59:11 -05:00
Jonathan Thomas
ec79c92f12 Refactor of packet counting and EOF detection. Instead of tracking overall packets read & decoded, we now track per stream (video and audio), so we can more accurately know when a packet is still pending for one of those streams (i.e. async decoding) 2022-09-26 19:06:03 -05:00
Jonathan Thomas
5f6998d933 Fixing whitespace 2022-09-24 14:49:53 -05:00
Jonathan Thomas
906a5af9b0 Increasing max_attempts to prevent failures on Seeking from far away positions 2022-09-24 14:36:26 -05:00
Jonathan Thomas
285b4952fe Fixing behavior of manual override of has_video or has_audio, to remove unused packets, and not get stuck in an endless loop due to 1 or 2 pending packets that are no longer needed after the override. 2022-09-24 14:06:36 -05:00
Jonathan Thomas
5f692f18d6 Protect video_length from being overwritten if CheckFPS overwrites it first 2022-09-02 09:36:06 -05:00
Jonathan Thomas
60805beec3 Adding support for detecting video_length (i.e. # of video frames) from the metadata, instead of calculating from duration * fps. This is occasionally different by a small amount, and in my testing, the metadata is more accurate. 2022-09-02 01:09:00 -05:00
Jonathan Thomas
2f145234da Fixing more whitespace and wrapping issues. Also removed some audio pts debug code. 2022-07-27 16:54:59 -05:00
Jonathan Thomas
c5f166a472 Removing debug log lines and more whitespace issues 2022-07-27 16:44:01 -05:00
Jonathan Thomas
694d86a41b Cleanup of debug logs and other whitespace issues 2022-07-27 16:33:01 -05:00
Jonathan Thomas
5ee38518da Experimental: Adding some fsanitize flags, a new example exe, a mutex on FFmpegReader::Close, and some additional clean-up code on AddImage (when a previous image exists) 2022-07-27 15:33:40 -05:00
Jonathan Thomas
01d16fe04a Experimental: Adding more QImage clean-up logging, to track buffer addresses 2022-07-26 21:40:28 -05:00
Jonathan Thomas
0164bd28be Experimental: Change method of copying QImage from previous frames to use qimage.copy method. 2022-07-26 15:40:57 -05:00
Jonathan Thomas
f2852e8c34 Experimental: additional logging around AddImage() calls 2022-07-26 15:21:25 -05:00
Jonathan Thomas
89321d3bae Experimental: adding debug logging to Frame destructor and QImage cleanup. Also, preventing processing of empty samples 2022-07-26 15:09:57 -05:00
Jonathan Thomas
297349033e Experimental FFmpegReader::Close changes, adding new drain decoder logic on Close 2022-07-25 16:27:31 -05:00
Jonathan Thomas
68f273d9d1 Experimental FFmpegReader::Close changes 2022-07-23 19:44:01 -05:00
Jonathan Thomas
3883d2d8aa Experimental FFmpegReader::Close changes 2022-07-23 18:47:42 -05:00