Improved support for missing frames and invalid PTS (which result in gaps and duplicate frames). Also changed frame number to larger data type, and did some code clean-up and refactoring. Less crashes, and more video support!

This commit is contained in:
Jonathan Thomas
2015-08-24 01:05:48 -05:00
parent 45f31bbabf
commit bfa050409c
54 changed files with 566 additions and 321 deletions

View File

@@ -484,12 +484,12 @@ void FFmpegWriter::write_queued_frames()
}
// Write a block of frames from a reader
void FFmpegWriter::WriteFrame(ReaderBase* reader, int start, int length) throw(WriterClosed)
void FFmpegWriter::WriteFrame(ReaderBase* reader, long int start, long int length) throw(WriterClosed)
{
AppendDebugMethod("FFmpegWriter::WriteFrame (from Reader)", "start", start, "length", length, "", -1, "", -1, "", -1, "", -1);
// Loop through each frame (and encoded it)
for (int number = start; number <= length; number++)
for (long int number = start; number <= length; number++)
{
// Get the frame
tr1::shared_ptr<Frame> f = reader->GetFrame(number);