]> git.sesse.net Git - mlt/blobdiff - src/modules/gtk2/producer_pixbuf.c
Attempt at an aspect ratio clean up
[mlt] / src / modules / gtk2 / producer_pixbuf.c
index 3fc0fb07d3445f5d9c6ed905a71c9d820311bdd1..4cd7a4cde7723a3fdd81289ce2c62d61631c80d0 100644 (file)
@@ -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;