mlt_properties properties = mlt_producer_properties( producer );
// Register transport implementation with the producer
- producer->close = producer_close;
+ producer->close = ( mlt_destructor )producer_close;
// Register our get_frame implementation with the producer
producer->get_frame = producer_get_frame;
double fps = this->is_pal ? 25 : 30000.0 / 1001.0;
if ( mlt_properties_get_double( properties, "fps" ) == fps )
{
- mlt_properties_set_position( properties, "length", this->frames_in_file );
- mlt_properties_set_position( properties, "in", 0 );
- mlt_properties_set_position( properties, "out", this->frames_in_file - 1 );
+ if ( this->frames_in_file > 0 )
+ {
+ mlt_properties_set_position( properties, "length", this->frames_in_file );
+ mlt_properties_set_position( properties, "in", 0 );
+ mlt_properties_set_position( properties, "out", this->frames_in_file - 1 );
+ }
}
else
{