]> git.sesse.net Git - mlt/commitdiff
in point fix, low latency sdl, minor fixes
authorlilo_booter <lilo_booter@d19143bc-622f-0410-bfdd-b5b2a6649095>
Sun, 21 Mar 2004 11:59:55 +0000 (11:59 +0000)
committerlilo_booter <lilo_booter@d19143bc-622f-0410-bfdd-b5b2a6649095>
Sun, 21 Mar 2004 11:59:55 +0000 (11:59 +0000)
git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@223 d19143bc-622f-0410-bfdd-b5b2a6649095

src/framework/mlt_producer.c
src/framework/mlt_properties.c
src/modules/fezzik.dict
src/modules/fezzik/producer_fezzik.c
src/modules/sdl/consumer_sdl.c
src/tests/hello.c

index 430aab302ffb8bb05ffcf9690fa86d5323bdd346..74441f94a8d4a03cd8d1c976a3a1e3efa1e8be15 100644 (file)
@@ -123,18 +123,19 @@ int mlt_producer_seek( mlt_producer this, mlt_position position )
 {
        // Determine eof handling
        char *eof = mlt_properties_get( mlt_producer_properties( this ), "eof" );
+       int use_points = 1 - mlt_properties_get_int( mlt_producer_properties( this ), "ignore_points" );
 
        // Check bounds
        if ( position < 0 )
        {
                position = 0;
        }
-       else if ( !strcmp( eof, "pause" ) && position >= mlt_producer_get_playtime( this ) )
+       else if ( use_points && !strcmp( eof, "pause" ) && position >= mlt_producer_get_playtime( this ) )
        {
                mlt_producer_set_speed( this, 0 );
                position = mlt_producer_get_playtime( this ) - 1;
        }
-       else if ( !strcmp( eof, "loop" ) && position >= mlt_producer_get_playtime( this ) )
+       else if ( use_points && !strcmp( eof, "loop" ) && position >= mlt_producer_get_playtime( this ) )
        {
                position = position % mlt_producer_get_playtime( this );
        }
@@ -143,7 +144,7 @@ int mlt_producer_seek( mlt_producer this, mlt_position position )
        mlt_properties_set_position( mlt_producer_properties( this ), "_position", position );
 
        // Calculate the absolute frame
-       mlt_properties_set_position( mlt_producer_properties( this ), "_frame", mlt_producer_get_in( this ) + position );
+       mlt_properties_set_position( mlt_producer_properties( this ), "_frame", use_points * mlt_producer_get_in( this ) + position );
 
        return 0;
 }
index d4d14cf48bba69fa2f6ac6faa8bb4627871452a5..7a7010e7f07748bf8343d5e75f41032e48f00c9c 100644 (file)
@@ -100,7 +100,7 @@ mlt_properties mlt_properties_load( char *filename )
                                temp[ strlen( temp ) - 1 ] = '\0';
 
                                // Parse and set the property
-                               if ( strcmp( temp, "" ) )
+                               if ( strcmp( temp, "" ) && temp[ 0 ] != '#' )
                                        mlt_properties_parse( this, temp );
                        }
 
index 012ecea5a0addbf5eed01d0e462c878c5bf2a18d..d299d3cbc2729c6e8a2227066d83400976f4b66f 100644 (file)
@@ -5,6 +5,7 @@ http://*=avformat
 *.avi=avformat
 *.dv=mcdv,libdv,avformat
 *.dif=mcdv,libdv
+*.gif=pixbuf
 *.jpg=pixbuf
 *.jpeg=pixbuf
 *.mp3=avformat
@@ -13,6 +14,7 @@ http://*=avformat
 *.ogg=vorbis
 *.png=pixbuf
 *.svg=pixbuf
+*.tga=pixbuf
 *.txt=pango
 *.wav=avformat
 *.wmv=avformat
index ea63282e27f14f4b63d9de17f2c0004537bc8463..297655772c606a4cbe497fe12e01649cf3b7019d 100644 (file)
@@ -179,6 +179,9 @@ mlt_producer producer_fezzik_init( char *arg )
                        // We need to ensure that all further properties are mirrored in the producer
                        mlt_properties_mirror( properties, mlt_producer_properties( producer ) );
 
+                       // Ensure that the inner producer ignores the in point
+                       mlt_properties_set_int( mlt_producer_properties( producer ), "ignore_points", 1 );
+
                        // Now, we return the producer of the tractor
                        producer = mlt_tractor_producer( tractor );
                }
index 589194adea7e728fec3030e599e90ccf9af7c41f..1d1e95965b5631ade68f2661486ea40ab8264ffb 100644 (file)
@@ -103,7 +103,7 @@ mlt_consumer consumer_sdl_init( char *arg )
                mlt_properties_set( this->properties, "rescale", "nearest" );
 
                // Default buffer for low latency
-               mlt_properties_set_int( this->properties, "buffer", 8 );
+               mlt_properties_set_int( this->properties, "buffer", 2 );
 
                // Default progressive true
                mlt_properties_set_int( this->properties, "progressive", 0 );
index cc3ef32e930869c11969597ab8998dfcfec6e756..491430482cbd46c61310df8777bb89217a4f6b81 100644 (file)
@@ -55,7 +55,7 @@ mlt_producer create_tracks( int argc, char **argv )
        mlt_position length = mlt_producer_get_playtime( track0 );
 
        // Create the watermark track
-       mlt_producer track1 = mlt_factory_producer( "fezzik", "pango" );
+       mlt_producer track1 = mlt_factory_producer( "fezzik", "pango:" );
 
        // Get the properties of track1
        mlt_properties properties = mlt_producer_properties( track1 );