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

@@ -63,7 +63,7 @@ void ChromaKey::init_effect_details()
// This method is required for all derived classes of EffectBase, and returns a
// modified openshot::Frame object
tr1::shared_ptr<Frame> ChromaKey::GetFrame(tr1::shared_ptr<Frame> frame, int frame_number)
tr1::shared_ptr<Frame> ChromaKey::GetFrame(tr1::shared_ptr<Frame> frame, long int frame_number)
{
// Determine the current HSL (Hue, Saturation, Lightness) for the Chrome
int threshold = fuzz.GetInt(frame_number);
@@ -154,7 +154,7 @@ void ChromaKey::SetJsonValue(Json::Value root) {
}
// Get all properties for a specific frame
string ChromaKey::PropertiesJSON(int requested_frame) {
string ChromaKey::PropertiesJSON(long int requested_frame) {
// Requested Point
Point requested_point(requested_frame, requested_frame);