if ( !mlt_properties_get_int( producer_properties, "end_of_clip" ) )
{
// Get the position
- double position = mlt_properties_get_double( producer_properties, "dub_position" );
+ mlt_position position = mlt_properties_get_position( producer_properties, "dub_position" );
// We need a frame from the producer
mlt_frame producer_frame;
mlt_properties_set_double( producer_properties, "fps", mlt_properties_get_double( frame_properties, "fps" ) );
// Seek to the position
- mlt_producer_seek_frame( producer, ( int64_t )position );
+ mlt_producer_seek( producer, position );
// Get the next frame
producer->get_frame( producer, &producer_frame, 0 );
mlt_properties_set_data( frame_properties, "ffmpeg_dub_frame", producer_frame, 0, ( mlt_destructor )mlt_frame_close, NULL );
// Incrment the position
- mlt_properties_set_double( producer_properties, "dub_position", position + 1 );
+ mlt_properties_set_position( producer_properties, "dub_position", position + 1 );
}
}
mlt_properties_set_data( properties, "producer", producer, 0, ( mlt_destructor )mlt_producer_close, NULL );
// Initialise the audio frame position
- mlt_properties_set_double( properties, "dub_position", 0 );
+ mlt_properties_set_position( properties, "dub_position", 0 );
return this;
}