Jonathan Thomas
176f2fff9c
Big refactor of AudioReaderSource, to be simpler, and only fill the audio samples requested (removed double/internal buffer complexity). Also, we now initialize the audio device manager at a specific sampleRate and # of channels correctly. Removed 'latency' adjustment in PrivatePlayer (no longer needed with no read-ahead buffer). Increased the min_frames_required on the video cache to 24.
2022-01-31 15:18:07 -06:00
Jonathan Thomas
133bae40c3
Adding pre-roll to VideoCacheThread, and making video & audio threads wait for the isReady() method before playing. Also fixed an audio bug where our internal buffer was not being cleared on seek. Removed some unused caching from Clip, and did some minor refactor on FrameMapper/Clip cache clearing.
2022-01-26 17:56:33 -06:00
Jonathan Thomas
f3e7208df6
Adding some additional logging
2021-12-06 15:47:32 -06:00
Jonathan Thomas
4a52941708
Experimental logging to detect delay on Windows playback
2021-12-03 00:43:13 -06:00
Jonathan Thomas
9eda757885
Merge branch 'develop' into audio-devices
...
# Conflicts:
# src/AudioBufferSource.cpp
# src/AudioReaderSource.cpp
# src/AudioReaderSource.h
# src/Clip.cpp
# src/Frame.cpp
# src/Qt/AudioPlaybackThread.h
# src/audio_effects/Compressor.h
# src/audio_effects/Delay.h
# src/audio_effects/Echo.h
# src/audio_effects/Expander.h
2021-12-02 22:05:19 -06:00
FeRD (Frank Dana)
59108504e3
Code changes for compatibility with JUCE 6.x
...
- Replace all juce::CriticalSection with std::recursive_mutex
- Replace all juce::AudioSampleBuffer with juce::AudioBuffer<float>
- Eliminate implicit reliance on 'using namespace juce;'
- Replace OpenShotAudio.h includes with targeted juce modules
2021-11-09 06:22:25 -05:00
Jonathan Thomas
f81f620c2a
Merge pull request #732 from ferdnyc/crop-qpainter
...
Rewrite Crop effect using QPainter
2021-10-29 13:17:38 -05:00
Frank Dana
59138ea3e4
Adopt license management via Reuse project/tool ( #711 )
...
* 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
2021-10-16 01:26:26 -04:00
Frank Dana
90a726a6dd
Merge branch 'develop' into crop-qpainter
2021-09-27 00:42:00 -04:00
FeRD (Frank Dana)
42e7049e6d
Cleanup includes to reflect actual dependencies
2021-09-18 08:37:22 -04:00
FeRD (Frank Dana)
76fb7c8013
Rename AudioSampleBuffer to AudioBuffer<float>
...
For a long time now, juce::AudioSampleBuffer has been nothing but an
alias for its true (templated) type, AudioBuffer<float>.
2021-08-24 13:11:00 -04:00
FeRD (Frank Dana)
29b6810c32
Init members in initializer lists
2021-08-10 23:47:18 -04:00
FeRD (Frank Dana)
2f3615f706
Move Exceptions.h includes to .cpp files
2021-01-26 10:52:04 -05:00
Frank Dana
6009a26e4c
Eliminate TooManySeeks exception ( #611 )
...
Since commit bfa050409c (2015-08-24),
there is no code in libopenshot which ever throws TooManySeeks.
- Removed catch() statements for TooManySeeks from multiple functions
- Removed the exception from Exceptions.h
- in Qt/AudioPlaybackThread.h:
- Removed the "SafeTimeSliceThread" class definition, as it only
existed to catch TooManySeeks.
- Replaced SafeTimeSliceThread with a standard juce::TimeSliceThread
2021-01-01 05:24:48 -05:00
FeRD (Frank Dana)
aa40ea29e0
Update include paths in all source/header files
2020-10-18 07:43:37 -04:00
Frank Dana
6336f30ee3
Various: Remove unused variables ( #467 )
...
Several data members and local variables were flagged by static
analysis tools as never being used anywhere in the code.
2020-04-22 02:02:55 -04:00
FeRD (Frank Dana)
e49f62247e
Use C++11 range-based for loops where we can
2019-12-28 09:50:09 -05:00
FeRD (Frank Dana)
bcc62f900c
Fix juce:: prefixing
2019-10-27 03:56:13 -04:00
FeRD (Frank Dana)
c77f009038
Remove "dummy" args from ZmqLogger stragglers
...
I somehow missed a few calls, in #266 .
2019-08-04 16:06:54 -04: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
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
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
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
af3ad48455
Attempting to fix a race condition when edits are being made to the timeline while frames are being cached and played back. This seems to fix the crashes for me. =)
2015-10-01 14:21:21 -05:00