]> git.sesse.net Git - mlt/blobdiff - src/melt/melt.c
Fix pause for noise producer.
[mlt] / src / melt / melt.c
index a5cf16537b895e3a000dd03e1eb844f0259e74db..4526090d9ab148d49276944c523da1814a66fb87 100644 (file)
@@ -100,6 +100,7 @@ static void transport_action( mlt_producer producer, char *value )
                        case '5':
                                mlt_producer_set_speed( producer, 0 );
                                mlt_consumer_purge( consumer );
+                               mlt_producer_seek( producer, mlt_consumer_position( consumer ) + 1 );
                                mlt_events_fire( jack, "jack-stop", NULL );
                                break;
                        case '6':
@@ -685,8 +686,7 @@ static void query_vcodecs( )
 
 static void on_fatal_error( mlt_properties owner, mlt_consumer consumer )
 {
-       mlt_consumer_stop( consumer );
-       exit( EXIT_FAILURE );
+       mlt_properties_set_int( MLT_CONSUMER_PROPERTIES(consumer), "done", 1 );
 }
 
 int main( int argc, char **argv )
@@ -987,8 +987,11 @@ query_all:
        mlt_profile_close( profile );
 
 exit_factory:
-               
+
+// Workaround qmelt on OS X from crashing at exit.
+#if !defined(__MACH__) || !defined(QT_GUI_LIB)
        mlt_factory_close( );
+#endif
 
        return 0;
 }