Jonathan Thomas
|
b058251cc4
|
Large refactor of detecting missing frames, to make it more accurate and dramatically improve performance for many videos.
|
2016-12-07 01:06:16 -06:00 |
|
Jonathan Thomas
|
c90ddfd484
|
Ensure Seek() waits for any outstanding video/audio frames to be processed in other threads before attempting a seek (and potentially crashing)
|
2016-11-23 01:50:03 -06:00 |
|
Jonathan Thomas
|
7be1b8ca4c
|
Removing unneeded std::map which has holding all AVPackets, which was causing a memory leak and crashes.
|
2016-11-14 22:37:44 -06:00 |
|
Jonathan Thomas
|
d79994a780
|
New cross platform exception handler for libopenshot! Logs basic stacktrace on segmentation fault. This will be a huge help in finding bugs and crashes.
|
2016-11-03 02:19:48 -05:00 |
|
Jonathan Thomas
|
183b0714e2
|
Added a new optimized constructor to some readers (FFmpegReader, QtImageReader, ImageReader) to not Open() in the constructor, which dramatically speeds up creating hundreds of Readers (i.e. when opening a project). This is really only useful when inflating the reader with Json right after you instantiate it...
|
2016-09-16 17:43:26 -05:00 |
|
Jonathan Thomas
|
7f347eb1ca
|
Added SetMaxSize for image optimizations in QImageReader and FFmpegReader, which lets the timeline pass down the max size to all clips and readers, so they can optionally optimize the size of images (especially useful for optimizing preview performance). Removed convoluted image scaling code in FFmpegReader, and replaced with simpler version. Also, fixed a few regressions from the new Caching code, primarily a crash when reaching the end of the last clip on the timeline.
|
2016-09-14 04:11:12 -05:00 |
|
Jonathan Thomas
|
e547296d83
|
Adding new CacheBase class. This is the first of many cache related commits, with the goal of building a disk based cache object, to be used by the timeline object if enabled.
|
2016-08-31 02:02:54 -05:00 |
|
Jonathan Thomas
|
28cc591faf
|
Implementing a small memory bug fix with regards to AV_FREE_FRAME and audio_frame. Also adding in support for duration to be set by JSON, to support long videos from openshot-qt.
|
2016-08-15 00:44:51 -05:00 |
|
Jonathan Thomas
|
734dc5b32f
|
Fixing a crash on Windows by using a different overload of AddImage that doesn't do a memcpy. There is still a memory leak on the FFmpegWriter somewhere, which eventually starts to return NULL from av_malloc, and breaks on Windows (and probably other OSes too).
|
2016-07-30 16:57:48 -05:00 |
|
Jonathan Thomas
|
9839899a60
|
Big memory leak fixes in FFmpegReader and FrameMapper, and fixed logic in Frame Mapper with regards to special framerate conversions (24, 25, and 30)... which were causing some inadvertent audio drift.
|
2016-07-27 13:18:55 -05:00 |
|
Jonathan Thomas
|
92a9db2aa3
|
Improved detection of missing audio frames, and missing video frames. Also improved logic for giving up on missing frames in general. Also removed some deadlocks related to Seeking (Close() and Open() were deadlocking). The end result is much improved compatability with reading video files.
|
2016-06-29 02:42:00 -05:00 |
|
Jonathan Thomas
|
4808be25ff
|
Added 4 new clip keyframes (channel mapping, channel filter, has_video, and has_audio). These are a bit different though, as they are evaluated as boolean (-1 = ignored, 0 = disabled, 1 = enabled). Also fixed some issues with video playback (where it gets stuck in fast forward), and fixed some race conditions when opening FFmpegReader. Also added more debug output.
|
2016-04-24 15:37:47 -05:00 |
|
Jonathan Thomas
|
37f1894300
|
Fixed a race condition in video playback thread! Also, added new method to get the average magnitude of a range of audio samples.
|
2016-04-22 02:43:06 -05:00 |
|
Jonathan Thomas
|
179d091005
|
Moved AppendDebugMessage to ZmqLogger, and updated 100+ references to use this new function. Removed debug var from readers/writers, and moved it to ZmqLogger.Enable(true/false). This allows debug output from all classes and functions, without any duplicate code. Also added some additional debug output for video playback and audio readers.
|
2016-04-21 01:39:17 -05:00 |
|
Jonathan Thomas
|
9503483a5d
|
Added a lock around adding missing frame images (in FFmpegReader), which might be causing crashes, and fixed a log issue inside the FrameMapper, which also might be affecting performance and/or causing crashes.
|
2016-04-11 17:43:56 -05:00 |
|
Jonathan Thomas
|
723bd24e5c
|
Adding new dependency: libzmq (ZeroMQ). Adding a new debug logging class powered by sockets and ZeroMQ, to allow a threadsafe way to communicate debug messages to a client application (i.e. openshot-qt). Also, removing unneeded Sleep.h functions. There will be lots more code utilizing ZeroMQ soon.
|
2016-04-04 23:09:18 -05:00 |
|
Jonathan Thomas
|
38b7516b50
|
When a seek fails, disable seeking with FFmpegReader. This fixes lots of issues with image sequences, but needs more testing to see if it causes issues with normal video files.
|
2016-03-08 23:11:56 -06:00 |
|
Jonathan Thomas
|
0604069da2
|
FIxed an issue with audio only files with no default height/width set. Also added improved performance when mixing many audio only files (skipping the image processing)
|
2016-01-09 15:50:53 -06:00 |
|
Jonathan Thomas
|
13362393c5
|
Fixed many more regressions with audio files not passing cover art to the next frame correctly. Seeking issues, and many related issues to detecting missing frames improved. Also fixed a deadlock in certain seeking cases.
|
2016-01-05 01:59:50 -06:00 |
|
Jonathan Thomas
|
bfed49819b
|
Fixed delay with certain types of audio files which also contained a video stream with a single frame. Added some good 'dont get stuck' logic when checking for gaps in video/audio timestamps, etc...
|
2016-01-01 01:39:56 -06:00 |
|
Jonathan Thomas
|
2f8c4161df
|
Improved changing Reader() on the QtPlayer class, and made many thread safety improvements for the FrameMapper.GetFrame method. Also improved the destructors and Close() methods of FFmpegReader and FrameMapper. Some audio-related bug fixes also, related to audio playback.
|
2015-12-24 16:44:45 -06:00 |
|
Jonathan Thomas
|
95deda88bc
|
Fixing a bug for newer versions of LibAV and FFmpeg, regarding error codes
|
2015-10-01 13:00:50 -05:00 |
|
Jonathan Thomas
|
32d41e780d
|
Fixed many misc Windows runtime errors and memory-related crashes. Built a few macros for common FFmpeg / LibAV functions that change due to version differences.
|
2015-09-23 00:27:28 -05:00 |
|
Jonathan Thomas
|
fbc719b11f
|
Many Windows related fixes and tweaks. Also fixed some issues with newer versions of CMake and Swig files.
|
2015-08-24 23:49:45 -05:00 |
|
Jonathan Thomas
|
bfa050409c
|
Improved support for missing frames and invalid PTS (which result in gaps and duplicate frames). Also changed frame number to larger data type, and did some code clean-up and refactoring. Less crashes, and more video support!
|
2015-08-24 01:05:48 -05:00 |
|