Commit Graph

116 Commits

Author SHA1 Message Date
Jonathan Thomas
da289f93bf Fixed a bug where audio was not being resampled to the correct sample format. Also fixed a bug where the audio buffer was not being incremented correctly, and it was duplicating audio samples. There are still a few audio bugs, but it's mostly working now. 2011-12-18 02:29:34 -06:00
Jonathan Thomas
b4c7a6ce81 Removed some invalid code to handle interlaced frames. Improved the CheckFPS() algorithm to check for 1/2 the detected frame rate first, and then fallback to the "average frame rate". 2011-12-17 16:16:59 -06:00
Jonathan Thomas
f00c4206be Added a method to get the average # of frames over the initial 5 seconds of video, and adjust an invalid framerate, which sometimes FFmpeg detects. Also, a Reader only initializes it's default values 1 time, and only checks frame rate 1 time, regardless of how many times your Open() and Close() the reader. 2011-12-15 16:11:48 -06:00
Jonathan Thomas
ade29c7d68 Fixed tons of issues related to video timebase being different than the video framerate. Also, added new properties for interlaced video, correctly detect pixel ratio, and fixed Display() to adjust for pixel ratio. Also added sample_rate to a frame, so it can playback audio at the correct rate. Refactored FFmpegReader to make most methods private, and only expose the important methods publicly. 2011-12-11 20:42:50 -06:00
Jonathan Thomas
e911c8cc00 Adjusting the FFmpegReader to correctly handle video timebase's that are different than the inverse framerate. 2011-11-07 17:12:25 -06:00
Jonathan Thomas
dccc014941 Fixed a bug with seeking the audio stream, to avoid missing samples on the first 2 frames returned. 2011-10-27 15:37:20 -05:00
Jonathan Thomas
bfc05d507d Fixed bug on Image processing, with no video or audio present. Play() and DisplayWaveform() methods now handle not having any audio samples. 2011-10-27 11:27:44 -05:00
Jonathan Thomas
28b9fbabd1 Fixed some bugs related to audio only files. Now audio only files are correctly divided into frames (30 fps), and seek correctly. 2011-10-27 09:40:03 -05:00
Jonathan Thomas
26083f27b7 Fixed a rounding error on mapping audio samples to frames. Also adjusted the sample rate on the frame.Play() method to 48khz. 2011-10-26 14:34:14 -05:00
Jonathan Thomas
e4f95d8a99 Reworked the cache object to use a double sided queue, so I can iterate through it to find the smallest frame, and remove specific frames from the cache. Also, fixed some additional audio bugs, and I finally have the audio being correctly distributed between frame objects. 2011-10-26 00:34:48 -05:00
Jonathan Thomas
fa62b307c3 Fixed more audio bugs related to dividing samples between frames. 2011-10-25 17:07:51 -05:00
Jonathan Thomas
7db9136efb Fixed some bugs in the audio decoding. 2011-10-25 00:20:26 -05:00
Jonathan Thomas
81941041e3 Added a DisplayWaveform method on a frame, to help debug audio issues. It uses ImageMagick to draw each channel and all samples in each channel. 2011-10-24 17:32:26 -05:00
Jonathan Thomas
43fd6c33d0 Some major refactoing of the FFmpegReader, to allow for audio and video packets that are out of order. 2011-10-24 08:22:21 -05:00
Jonathan Thomas
1faa168fb3 Began to refactor the FFmpegReader to correctly save the audio samples with the correct frame. 2011-10-14 09:47:05 -05:00
Jonathan Thomas
161e8923af Initial check-in of OpenShot Library 2011-10-11 08:44:27 -05:00