Commit Graph

34 Commits

Author SHA1 Message Date
Jonathan Thomas
1dba02f5b0 Added new unit test which distributes audio samples between many different framerates (30/1, 24/1, 30000/1001, 119/4), and fixes a huge issue with mapping frame numbers incorrectly causing audio crackles/pops. Also fixes a bug which causes crashes on NON-STEREO channel layouts. 2021-04-08 22:34:48 -05:00
FeRD (Frank Dana)
d54871afd2 FrameMapper_tests: Add more coverage 2020-11-03 14:22:02 -05:00
Frank Dana
98d6eb4f8c FrameMapper_Tests: Correct for reader duration 2020-11-03 13:46:21 -05:00
FeRD (Frank Dana)
68f54bdb9a FrameMapper_Tests: Use SUITE, create no-op test 2020-11-03 08:10:44 -05:00
Jonathan Thomas
bba126019b Added 2 FrameMapper unit tests which verify resampled audio data has no gaps/pops, and offset FrameMapper clips don't use the wrong # of audio samples 2020-10-23 00:02:52 -05:00
FeRD (Frank Dana)
a1e44edad4 Merge branch 'develop' into clip-refactor-keyframes 2020-10-19 16:28:49 -04:00
Jonathan Thomas
2f4aba450c Fixing some cpp_test complaints 2020-10-19 16:22:27 -04:00
Jonathan Thomas
ab4916247b Replacing audio fix implementation with ParentClip(), to access clip start and position (if any) 2020-10-19 16:05:01 -04:00
Brenno
a4109419ac Implemented position remapper inside FrameMapper to fix audio noise when exporting to different fps
The FrameMapper class now receives the updated clip position and returns the correct amount of samples for a given frame number
2020-10-19 16:05:01 -04:00
FeRD (Frank Dana)
fcebbead83 tests: Update include paths 2020-10-18 07:47:36 -04:00
FeRD (Frank Dana)
b6da6b9659 add DONT_SET_USING_JUCE_NAMESPACE to tests 2019-10-27 03:54:36 -04:00
Jonathan Thomas
376170d7dd Merging work from @ferdnyc, to move version info to CMake, and other misc Cmake improvements. This was the easiest way to resolve the merge conflict for me (to apply it locally and commit it). 2019-07-01 12:24:50 -05:00
FeRD (Frank Dana)
f170fdd009 Update copyright range to current year 2019-06-11 06:48:32 -04:00
FeRD (Frank Dana)
0327c2ab5c Remove license block from documentation comment 2019-06-09 08:31:04 -04:00
Jonathan Thomas
e879188a7d FFmpeg 3 & 4 support, Travis CI support, OpenMP schedule change (#160)
* FFmpeg4 support. Compile warnings fixes. Credit goes to many people, including ferdnyc, peterM, and other awesome folks!

* Adding environment checking to enable/disable omp taskwait after each video/audio frame is processed. This is experimental for some users with crashes.

* Moving `omp taskwait` to after the ProcessVideoPacket() method, since that is the only place it is useful.

* Fixing crashes on missing Clip source file, and changing FFmpeg scaling algorthm from SWS_BILINEAR to  SWS_LANCZOS (for higher quality scaling)

* Update FindFFmpeg.cmake module, and updating build script. Also enabling debug builds.

* Updating experimental travis build script

* Fixed unit test for newer version of FFmpeg (audio resampling)

* Experimental travis multiple jobs

* Adding OMP schedule hint (thanks PeterM), which prevents crashes in some circumstances.
2018-09-11 00:40:31 -05:00
Nelson Ho
47a63afeb7 Updated test expectations for new audio sample rate fixes for proper number of samples per frame, even for the first output frame. 2017-01-07 20:29:42 -05:00
Jonathan Thomas
f00ea5c4e2 Reverting logging code in unittests 2016-09-08 22:26:14 -05:00
Jonathan Thomas
badb1450d2 Adding additional logging to unittests, to help find an issue on certain systems 2016-09-08 02:33:24 -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
ce47a5b667 Fixing a small regression with the new unit test Tests.h header. 2015-09-28 22:17:29 -05:00
Jonathan Thomas
66c5ced902 Windows now passes most unit tests. Added header macro to assist on passing correct test media paths to unit tests. Also added a new info parameter has_single_image, which is used to optomize the frame mapper class for images with long durations. 2015-09-28 22:05:50 -05:00
Jonathan Thomas
820e8a2095 Fixed a few more issue with the openshot::FrameMapper and openshot::FFmpegReader unit tests. 2015-03-08 22:24:12 -05:00
Jonathan Thomas
e3178b22f1 More work on resolving memory leaks in FFmpegWriter 2015-03-04 21:33:29 -06:00
Jonathan Thomas
ea9885f9a9 Laying the ground work for audio mapping (resampling and changing channel layouts) for the openshot::FrameMapper. This is important for use with the Timeline, that all clips have a common frame rate, sample rate, and channel layout. 2015-02-26 17:33:09 -06:00
Jonathan Thomas
e135eb5738 Changed license to LGPLv3 for all libopenshot code. 2014-07-11 16:52:14 -05:00