X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmelt%2Fmelt.c;h=4526090d9ab148d49276944c523da1814a66fb87;hb=11f9efb9a33c4444efddd1660a90aed6bae2d212;hp=a5cf16537b895e3a000dd03e1eb844f0259e74db;hpb=2e9a401f847628060f9c6fd06b77abe60f76eca0;p=mlt diff --git a/src/melt/melt.c b/src/melt/melt.c index a5cf1653..4526090d 100644 --- a/src/melt/melt.c +++ b/src/melt/melt.c @@ -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; }