Jonathan Thomas
|
902b2ff8cd
|
Added the base class for the FileWriter.
|
2012-07-09 15:18:24 -05:00 |
|
Jonathan Thomas
|
0c2008461a
|
Fixed seek method to fallback on both streams, if one stream fails to seek. This fixes MP3s... which have a video stream, but only a single video packet. Also fixed the CheckWorkingFrames method to better determine when a frame is completed.
|
2012-07-09 00:41:17 -05:00 |
|
Jonathan Thomas
|
dfae7825ca
|
Refactored FFmpegReader code a bit, fixed many, many memory leaks, and many valgrind errors. Now the memory seems very stable, and the seeking and stream walking seems very solid.
|
2012-07-08 23:26:44 -05:00 |
|
Jonathan Thomas
|
8067cb657a
|
Fixed a bug when seeking, and not reseting the cache's current frame. Removed some debug code.
|
2012-07-07 00:58:05 -05:00 |
|
Jonathan Thomas
|
e9c243ddeb
|
Audio optimizations and some debug code for seeking
|
2012-07-06 16:52:13 -05:00 |
|
Jonathan Thomas
|
21aa4d6b01
|
Replaced last_video_frame and last_audio_frame with a single last_frame variable, and refactored some related code. This fixes a big audio seeking bug.
|
2012-07-06 15:17:57 -05:00 |
|
Jonathan Thomas
|
457df5b2ff
|
Changed the method of determining if a frame is completed or not.
|
2012-07-06 02:34:18 -05:00 |
|
Jonathan Thomas
|
e610d343f4
|
Added some debug messages about when a frame is "complete"
|
2012-07-05 02:29:43 -05:00 |
|
Jonathan Thomas
|
25b3d70a9a
|
Refactored the cache class to only apply the max frames against "previous" frames, and allow unlimited number of future frames, to account for different types of files (some which have hundreds of tiny frames, which need large future cache).
|
2012-07-05 00:01:42 -05:00 |
|
Jonathan Thomas
|
53e16efd63
|
Fixed a small audio buffer issue, and removed more debug code.
|
2012-07-04 04:01:59 -05:00 |
|
Jonathan Thomas
|
34a07b8d82
|
All known memory leaks are now fixed, and the memory seems to hold steady when looping through frames for many many minutes at a time. Fixed a bug with av_free_packet, which was breaking after an audio decode. Removed lots of debug statements.
|
2012-07-04 03:07:26 -05:00 |
|
Jonathan Thomas
|
e8d9dba8ce
|
Started adding clean up code, to reduce memory footprint
|
2012-07-03 16:58:07 -05:00 |
|
Jonathan Thomas
|
6553f49874
|
Made CheckSeek() threadsafe
|
2012-07-03 02:59:38 -05:00 |
|
Jonathan Thomas
|
a662abcfd7
|
Fixed many bugs, including an audio crackle between packets, and fixed many multi-threading issues.
|
2012-07-03 02:42:47 -05:00 |
|
Jonathan Thomas
|
eea7b0c076
|
Protected audio decoding in a omp_critical, and removed some debug code
|
2012-07-02 17:25:07 -05:00 |
|
Jonathan Thomas
|
62df1bc7ac
|
openmp changes
|
2012-06-18 09:26:14 -05:00 |
|
Jonathan Thomas
|
e9e1b86f5c
|
Fixed audio code to work with the newest version of JUCE (v2.0), and removed sample programs
|
2012-06-17 23:15:47 -05:00 |
|
Jonathan Thomas
|
b775fff325
|
Got ffmpeg and juce compiling and mostly everything working again. FFmpeg is the newest version, and so is JUCE.
|
2012-06-16 02:12:48 -05:00 |
|
Jonathan Thomas
|
eae0c0bbfb
|
FIxed a bug related to the CheckFPS method, if a video is too short to use this method, it needed to exit the function, and seek back to frame 1.
|
2012-02-26 16:45:50 -06:00 |
|
Jonathan Thomas
|
403c7e512e
|
Fixed 2 bugs related to audio samples. Each frame can now determine it's own # of samples, due to some sample rates not being divisible evenly into some frame rates. Also, a bug was fixed that injected a bad sample into a frame's samples, when a frame received samples from multiple audio packets.
|
2012-02-26 16:40:53 -06:00 |
|
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 |
|