Commit Graph

34 Commits

Author SHA1 Message Date
FeRD (Frank Dana)
6aebb10cea More explicit prefixing in Qt/ and Player classes 2019-09-21 00:14:32 -04:00
Frank Dana
67934675eb Merge branch 'develop' into std-prefixes 2019-08-25 04:05:58 -04:00
SuslikV
16ca3aef32 Fix return type mismatch 2019-08-24 11:36:21 +02:00
FeRD (Frank Dana)
b56ebf5765 QtPlayer/QtImageReader: std:: prefixes 2019-08-04 22:59:56 -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
140fbaddff Added new AudioDeviceInfo struct, and populate a vector of them on QtPlayer initialization. This allows a user to overwrite the preferred audio device by using the setting PLAYBACK_AUDIO_DEVICE_NAME. 2019-04-23 16:45:02 -05:00
Jonathan Thomas
9dbb063ded Persist any error returned by JUCE during initialise() method, such as sample rate issues on Windows (when playback and recording sample rates do not match, which breaks WASAPI) 2019-04-04 00:55:47 -05:00
Jonathan Thomas
67291aab55 Preventing crash if Seek invoked before QtPlayer are initialized properly 2018-03-05 01:40:25 -06: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
b3ca56b5ab Another attempted fix for audio device management. Moving CloseAudioDevice() call to only invoke when quiting OpenShot, and only initializing the JUCE audio manager 1 time. This fixes a audio freeze in Windows when the preview window launches. 2017-03-26 23:51:03 -07:00
Jonathan Thomas
6fe901f359 Refactoring closing of audio devices 2017-03-21 14:38:42 -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
98ccfb5ee1 Fixing cmake build scripts to support 64bit on Windows. Also refactoring some pointer handling to support 64bit on Windows (Linux and Mac have always supported it). Adding instructions for setting up a Windows 64 bit build environment using MSYS2. 2016-08-12 19:15:19 -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
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
43fd4fccb1 Fixing an audio popping / video frame flashing issue with the Timeline calculating the incorrect frame from a Clip. Now the timeline correctly rounds the time diff, and determines the correct frame. 2016-01-30 02:10:40 -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
6be7540852 Fixed a bug with time mapping for animations and videos without audio. 2015-12-31 04:17:54 -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
121cfd342d Fixed a crash when stopping the QtPlayer class (the cache thread was not being correctly ended, and the audio timeslice thread was not being ended). Also fixed a crash when closing the openshot-player executable. 2015-12-04 01:10:40 -06:00
Jonathan Thomas
35a476816b Small fix to redraw frame 1 (if needed) 2015-11-11 23:50:16 -06:00
Jonathan Thomas
b612f3339d Replaced ImagMagick with QImage on almost all key methods and classes. Reprogrammed all effects and the entire rendering pipeline to use QImage and QTransforms, primarily for increases in speed and stability. libopenshot is more than 10X faster on many of the most CPU heavy tasks. This was a huge change, and still has a few minor issues relating to BlackMagick Decklink and Text rendering.... which should be resolved very soon.
Also, much work has been done on memory management / leak detection, and optimizations with multi-threading... including a new thread cacher class used by the video playback (which is smoother than ever).
2015-06-01 00:20:14 -07:00
Jonathan Thomas
470853e34d Updated compatibility with the latest LibAV API 2015-02-05 16:00:18 -06:00
Jonathan Thomas
de1a30b6cb Tons of bug fixes to the Qt Player and video playback functionality
Improved AudioReaderSource to support pausing & fast forward
Video playback works very well now, across a large sampling of test videos
2015-02-04 23:56:43 -06:00