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
Jonathan Thomas
e135eb5738
Changed license to LGPLv3 for all libopenshot code.
2014-07-11 16:52:14 -05:00
Jonathan Thomas
e073ad89f5
Fixed many issues with the QtPlayer and related classes. Now the VideoRenderer can be passed through SWIG and connected to a PyQt application and handle display signals for each frame. Also, refactored some OpenMP settings into its own header.
2014-04-02 16:48:27 -05:00
Jonathan Thomas
6e65c36690
Refactored much of the Qt Player related code. Also, integrated the Qt Player code into Python bindings. This still needs some work, especially with using PyQt widgets instead of C++ Qt Widgets.
2014-03-30 23:21:30 -05:00
Jonathan Thomas
5010f6252a
Replaced all copyright and licensing to reflect AGPLv3 license. Also, added a bad ass version header, which is now integrated into CMake as well. A single place to indicate version and ABI/API compatibility.
2014-03-29 18:49:22 -05:00
Jonathan Thomas
a77de842e4
Added pausing, rewind, fast forward, and playing (and different speeds). Still a bit buggy and experimental with fast forward and rewinding (due to seek bugs in readers).
2014-03-23 01:12:29 -05:00
Jonathan Thomas
2ba83486c9
Made some dramatic improvements to the QtPlayer classes, especially audio / video sync. All of my test files now work correctly, with no audio or video issues! Also, now audio only files also work, and image only files.
2014-03-21 01:25:17 -05:00
Duzy Chan
88aa9689b8
working around audio/video playback
2014-01-27 19:03:46 +08:00
Duzy Chan
c67c1ae8c8
initial QtPlayer classes
2014-01-25 03:38:38 +08:00
Jonathan Thomas
cdde046ca4
Added PlayerBase, SDLPlayer, and QtPlayer. This forms the basis for the Player classes in libopenshot.
2013-11-06 23:17:35 -06:00