if ( !this->running )
{
- pthread_attr_t thread_attributes;
-
consumer_stop( parent );
this->running = 1;
this->joined = 0;
this->last_speed = 1;
- // Inherit the scheduling priority
- pthread_attr_init( &thread_attributes );
- pthread_attr_setinheritsched( &thread_attributes, PTHREAD_INHERIT_SCHED );
-
- pthread_create( &this->thread, &thread_attributes, consumer_thread, this );
+ pthread_create( &this->thread, NULL, consumer_thread, this );
}
return 0;
// Get the speed of the frame
double speed = mlt_properties_get_double( MLT_FRAME_PROPERTIES( frame ), "_speed" );
- // Determine which speed to use
- double use_speed = speed;
-
// Lock during the operation
mlt_service_lock( MLT_CONSUMER_SERVICE( consumer ) );
mlt_consumer_put_frame( this->active, frame );
}
// If we aren't playing normally, then use the still
- else if ( use_speed != 1 )
+ else if ( speed != 1 )
{
if ( !mlt_consumer_is_stopped( this->play ) )
mlt_consumer_stop( this->play );
if ( mlt_consumer_is_stopped( this->still ) )
{
- this->last_speed = use_speed;
+ this->last_speed = speed;
this->active = this->still;
this->ignore_change = 0;
mlt_consumer_start( this->still );
mlt_consumer_stop( this->still );
if ( mlt_consumer_is_stopped( this->play ) )
{
- this->last_speed = use_speed;
+ this->last_speed = speed;
this->active = this->play;
this->ignore_change = 25;
mlt_consumer_start( this->play );