Jonathan Thomas
|
c95db460d6
|
Big update! Updating all "long int" frame number types to int64_t, so all 3 OSes will produce the same depth and precision on frame numbers. Also removing variable bitrate support temporarily, since it causes more problems than it solves.
|
2017-09-28 16:03:01 -05:00 |
|
Jonathan Thomas
|
f12ffe692b
|
Migrating tr1 to std, adding C++11 support to build scripts, fixing crash in FFmpegReader (caused by shared_ptr, buffer, and last_video_frame corruption). Much improved stability with this change. Thanks to Craig and Peter for the help!
|
2017-08-20 17:37:39 -05:00 |
|
Jonathan Thomas
|
724c57680e
|
Moving checked_count erase command inside lock protection, to prevent crash
|
2017-05-22 04:43:21 -05:00 |
|
Jonathan Thomas
|
e899cbf39a
|
Fixing Timeline::SetJSON to use a lock, and reopen the reader if already open. This fixes an issue when trying to open another project while the current project is being accessed (i.e. during playback).
|
2017-05-18 17:04:34 -05:00 |
|
Jonathan Thomas
|
1ed5302835
|
Fixing a data type issues with max()
|
2017-05-17 01:29:32 -05:00 |
|
Jonathan Thomas
|
3a884e71dc
|
Big improvement with handling invalid video and audio timestamps, defaulting to more sane values (when huge crazy timestamps are detected). Also fixing a bug when disabling video/audio tracks on FrameMappers. Also adding additional bail-out code when stuck searching for a video/audio packet that probably doesn't exist. Added improved "checked" handling, and once 1 frame is detected as invalid, clean out any other invalid ones as well.
|
2017-05-17 01:17:42 -05:00 |
|
Jonathan Thomas
|
97ec6298ff
|
Adding frame number display options to a clip, which can be super useful when debugging issues. Options include: None, Clip, Timeline, or Both. Also improving missing frame detection, to have less false positives (i.e. flickering 1st frame)
|
2017-03-15 02:06:53 -05:00 |
|
Jonathan Thomas
|
85ac4bf6d2
|
Updating references to frame number / position to long int, there were still quite a few old "int" declarations, which limits the length of frame number. Also, updated precision of KeyFrames to use double (instead of float) for higher precision, which fixed lots of issues with very long videos (since our FrameMapper used a KeyFrame object to create a map to new frames)
|
2017-01-24 18:39:17 -06:00 |
|
Jonathan Thomas
|
f30d7018b6
|
Fixing small bug with audio PTS detection, when seeking on really long video files (which would reset the last_frame to -1, and then detect a huge # of incorrect missing frames)
|
2017-01-23 23:53:50 -06:00 |
|
Jonathan Thomas
|
6f28c6f83b
|
Tweaking logic when detecting a final frame, and adding more logging to CheckWorkingFrames
|
2017-01-19 15:29:46 -06:00 |
|
Nelson Ho
|
2cbb722141
|
fix logic for location.sample_start and location.frame update, fixes audio gaps
|
2017-01-07 17:59:00 -05:00 |
|
Nelson Ho
|
c33e6fa2a8
|
Fix AudioLocation::is_near function to handle a corner case where the two frames have different samples_per_frame, and sample_start is at the samples_per_frame limit.
|
2017-01-07 17:34:11 -05:00 |
|
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 |
|