producer_colour.c: improve previous patch
[melted] / src / modules / avformat / consumer_avformat.c
index 65491ea..4b44f32 100644 (file)
@@ -22,6 +22,7 @@
 // mlt Header files
 #include <framework/mlt_consumer.h>
 #include <framework/mlt_frame.h>
+#include <framework/mlt_profile.h>
 
 // System header files
 #include <stdio.h>
@@ -174,6 +175,7 @@ mlt_consumer consumer_avformat_init( mlt_profile profile, char *arg )
                
                // Default to separate processing threads for producer and consumer with no frame dropping!
                mlt_properties_set_int( properties, "real_time", -1 );
+               mlt_properties_set_int( properties, "prefill", 1 );
 
                // Set up start/stop/terminated callbacks
                this->start = consumer_start;
@@ -520,7 +522,8 @@ static AVStream *add_video_stream( mlt_consumer this, AVFormatContext *oc, int c
                c->height = mlt_properties_get_int( properties, "height" );
                c->time_base.num = mlt_properties_get_int( properties, "frame_rate_den" );
                c->time_base.den = mlt_properties_get_int( properties, "frame_rate_num" );
-               st->time_base = c->time_base;
+               if ( st->time_base.den == 0 )
+                       st->time_base = c->time_base;
                c->pix_fmt = pix_fmt ? avcodec_get_pix_fmt( pix_fmt ) : PIX_FMT_YUV420P;
 
                if ( mlt_properties_get( properties, "aspect" ) )