]> git.sesse.net Git - mlt/commitdiff
fix frame cache to use the original producer position (kdenlive-2668)
authorDan Dennedy <dan@dennedy.org>
Sun, 9 Sep 2012 05:05:55 +0000 (22:05 -0700)
committerDan Dennedy <dan@dennedy.org>
Sun, 9 Sep 2012 05:09:01 +0000 (22:09 -0700)
src/framework/mlt_cache.c

index 19ac51d8b4aa3df6319d6d4a9b9711131b8dcf4b..0ab2456b177866ac6c177127dbb20d029f401630 100644 (file)
@@ -490,7 +490,7 @@ static mlt_frame* shuffle_get_frame( mlt_cache cache, mlt_position position )
                while ( i-- && !hit )
                {
                        mlt_frame *o = (mlt_frame*) &cache->current[ i ];
-                       if ( mlt_frame_get_position( *o ) == position )
+                       if ( mlt_frame_original_position( *o ) == position )
                                hit = o;
                }
                // if there was no hit, we will not be shuffling out an entry
@@ -507,7 +507,7 @@ static mlt_frame* shuffle_get_frame( mlt_cache cache, mlt_position position )
        {
                mlt_frame *o = (mlt_frame*) &cache->current[ i ];
 
-               if ( !hit && mlt_frame_get_position( *o ) == position )
+               if ( !hit && mlt_frame_original_position( *o ) == position )
                {
                        hit = o;
                }
@@ -536,7 +536,7 @@ static mlt_frame* shuffle_get_frame( mlt_cache cache, mlt_position position )
 void mlt_cache_put_frame( mlt_cache cache, mlt_frame frame )
 {
        pthread_mutex_lock( &cache->mutex );
-       mlt_frame *hit = shuffle_get_frame( cache, mlt_frame_get_position( frame ) );
+       mlt_frame *hit = shuffle_get_frame( cache, mlt_frame_original_position( frame ) );
        mlt_frame *alt = (mlt_frame*) ( cache->current == cache->A ? cache->B : cache->A );
 
        // add the frame to the cache