X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmodules%2Fgtk2%2Fproducer_pixbuf.c;h=4cd7a4cde7723a3fdd81289ce2c62d61631c80d0;hb=59456c0f8d288d6bfa6df60d692b9209741ab02e;hp=3fc0fb07d3445f5d9c6ed905a71c9d820311bdd1;hpb=52c1bb26fcbb895824cd9237c228ea4834ce1433;p=mlt diff --git a/src/modules/gtk2/producer_pixbuf.c b/src/modules/gtk2/producer_pixbuf.c index 3fc0fb07..4cd7a4cd 100644 --- a/src/modules/gtk2/producer_pixbuf.c +++ b/src/modules/gtk2/producer_pixbuf.c @@ -303,8 +303,6 @@ static int producer_get_frame( mlt_producer producer, mlt_frame_ptr frame, int i this->filenames = realloc( this->filenames, sizeof( char * ) * ( this->count + 1 ) ); this->filenames[ this->count ++ ] = strdup( fullname ); - mlt_properties_set_position( properties, "out", 250 ); - // Teehe - when the producer closes, delete the temp file and the space allo mlt_properties_set_data( properties, "__temporary_file__", this->filenames[ this->count - 1 ], 0, ( mlt_destructor )unlink, NULL ); } @@ -332,7 +330,6 @@ static int producer_get_frame( mlt_producer producer, mlt_frame_ptr frame, int i gap ++; } } - mlt_properties_set_position( properties, "out", this->count * 250 ); } else if ( strstr( filename, "/.all." ) != NULL ) { @@ -366,7 +363,6 @@ static int producer_get_frame( mlt_producer producer, mlt_frame_ptr frame, int i { this->filenames = realloc( this->filenames, sizeof( char * ) * ( this->count + 1 ) ); this->filenames[ this->count ++ ] = strdup( filename ); - mlt_properties_set_position( properties, "out", 250 ); } } @@ -378,6 +374,9 @@ static int producer_get_frame( mlt_producer producer, mlt_frame_ptr frame, int i // Obtain properties of frame and producer mlt_properties properties = mlt_frame_properties( *frame ); + // Determine if we're rendering for PAL or NTSC + int is_pal = mlt_properties_get_int( properties, "normalised_height" ) == 576; + // Set the producer on the frame properties mlt_properties_set_data( properties, "producer_pixbuf", this, 0, NULL, NULL ); @@ -392,7 +391,7 @@ static int producer_get_frame( mlt_producer producer, mlt_frame_ptr frame, int i // Set producer-specific frame properties mlt_properties_set_int( properties, "progressive", 1 ); - mlt_properties_set_double( properties, "aspect_ratio", 1 ); + mlt_properties_set_double( properties, "aspect_ratio", is_pal ? 59.0/54.0 : 10.0/11.0 ); // Set alpha call back ( *frame )->get_alpha_mask = producer_get_alpha_mask;