- add adaptive seek fallback and switch fprintf to ZmqLogger
- improves seeking on certain files by up to 30% (faster)
- avoids situations where seeking too far would sometimes freeze on certain videos
- Added new Frame::ReverseAudio() helper method - for time keyframe support playing backwards audio
- Fixed math rounding error on time keyframe Resampler, to use the rounded source samples value
- Removed some unused args and Frame audio methods
- Reset FrameMapper resample context when non-adjacent frames are requested
- Correctly reverse Frame audio if a time keyframe is present, and reversing audio
- Rewrite Keyframe::IsIncreasing() function, to give accurate direction of time keyframes at any index (special logic to support first and last indexes)
- Fixed Keyframe unit tests - since logic has changed a bit
- Improved time mapping unit tests
- Replace many c-style casts with static_cast
- Added new sine.wav test file
* Removing legacy profile property. Add new operators for Profile classes (for comparison). Also added new functions to generate different variations of the Profile data (key, short name, long name, long name w/description).
* Add empty constructor for Profile class, and new Profile unit tets
* Adding zero padding to profile Key function, for easier sorting: 01920x1080i2997_16:09
* Clear setfill flag after creating Key() output
* Updating example exe to load an *.osp project file via C++, which makes debugging complex broken projects much easier.
* - Add new unit test to FFmpegWriter to create an animated GIF and verify it can be wrapped with a FrameMapper (with no audio track)
- Improve FrameMapper to ignore missing audio data (i.e. when no audio samples present, don't try and find them or resample them)
* Fix some whitespace issues
* Fix inline documentation mistype
* Fixed missing reuse licensing on new example profile files
* Changing Profile::Key() format to exclude the : character, since Windows file names cannot contain that
* - Large memory leak fixed in FFmpegWriter when closing the video & audio contexts
- Reducing # of cached frames and rescalers to 1, since we no longer use OMP and this is unneeded - we need to refactor much of this code out eventually
* - Fixing whitespace issues
- Code clean-up / line wrapping / etc...
* reuse-managed license/copyright headers
reuse is a tool for compliance with the REUSE recommendations. See
<https://reuse.software/> for more information, and
<https://reuse.readthedocs.io/> for the online documentation.
* Set jsoncpp license
* Add MIT license for Decklink sources
* Explicitly license examples/
- Add headers to source files
- Change blanket licensing in .reuse/dep5 to only cover binary media
- Import CC-BY-3.0 license and assign to sintel_trailer
* Remove no-longer-used cmake Modules
* Don't use OpenShot.h in ExampleHtml.cpp
When `#include`-ing the whole mess, building the file was leading
to what looked like out-of-memory errors. Replacing the monolithic
header with just the necessary ones cleared it up.
* .gitlab-ci.yml: Update for new Windows setup
* Make unit tests work under Windows
- Copying the built and depended (libopenshot-audio) DLLs into
the unit test dir before building the tests ensures that when
the test executables are run by the Catch.cmake module to
discover their contents, the executables will find the DLLs
they need in order to run.
* Gitlab-ci: Run unit tests on Windows
* Rename openshot-html-example
(The former name, openshot-html-test, was too close to the new
name format for all of our unit test executables, making things
unnecessarily confusing.)
* Rename JuceHeader.h to OpenShotAudio.h
* Github Actions: Install ALSA libs
With the switch to an EXPORTED CMake configuration for
libopenshot-audio, its dependencies become our dependencies.
Which means that CMake now correctly requires that the ALSA
libs be installed.
When `#include`-ing the whole mess, building the file was leading
to what looked like out-of-memory errors. Replacing the monolithic
header with just the necessary ones cleared it up.