Prefil consumer property
[melted] / src / framework / mlt_consumer.c
index e6e5caf..1b67b74 100644 (file)
@@ -108,7 +108,7 @@ mlt_consumer mlt_consumer_new( )
 
 mlt_service mlt_consumer_service( mlt_consumer this )
 {
-       return &this->parent;
+       return this != NULL ? &this->parent : NULL;
 }
 
 /** Get the consumer properties.
@@ -116,7 +116,7 @@ mlt_service mlt_consumer_service( mlt_consumer this )
 
 mlt_properties mlt_consumer_properties( mlt_consumer this )
 {
-       return mlt_service_properties( &this->parent );
+       return this != NULL ? mlt_service_properties( &this->parent ) : NULL;
 }
 
 /** Connect the consumer to the producer.
@@ -439,9 +439,10 @@ mlt_frame mlt_consumer_rt_frame( mlt_consumer this )
                if ( this->ahead == 0 )
                {
                        int buffer = mlt_properties_get_int( properties, "buffer" );
+                       int prefill = mlt_properties_get_int( properties, "prefill" );
                        consumer_read_ahead_start( this );
                        if ( buffer > 1 )
-                               size = buffer;
+                               size = prefill > 0 && prefill < buffer ? prefill : buffer;
                }
        
                // Get frame from queue