@@ -631,6 +631,7 @@ static int convert_image(mlt_frame frame,
631631 mlt_image_format_name (*format));
632632 if (mlt_frame_next_convert_image (frame, image, format, mlt_image_rgba)) {
633633 mlt_log_error (NULL , " filter movit.convert: failed to convert frame to RGBA\n " );
634+ GlslManager::get_instance ()->unlock_service (frame);
634635 return 1 ;
635636 }
636637 }
@@ -642,6 +643,7 @@ static int convert_image(mlt_frame frame,
642643
643644 if (!input) {
644645 mlt_log_error (nullptr , " filter movit.convert: create_input failed\n " );
646+ GlslManager::get_instance ()->unlock_service (frame);
645647 return 1 ;
646648 }
647649
@@ -651,6 +653,7 @@ static int convert_image(mlt_frame frame,
651653 if (!img_copy) {
652654 mlt_log_error (nullptr , " filter movit.convert: make_input_copy failed\n " );
653655 delete input;
656+ GlslManager::get_instance ()->unlock_service (frame);
654657 return 1 ;
655658 }
656659
@@ -721,6 +724,7 @@ static int convert_image(mlt_frame frame,
721724
722725 if (!input) {
723726 delete chain;
727+ GlslManager::get_instance ()->unlock_service (frame);
724728 return 1 ;
725729 }
726730
@@ -744,6 +748,7 @@ static int convert_image(mlt_frame frame,
744748 uint8_t *planar = make_input_copy (*format, *image, width, height);
745749
746750 if (!planar) {
751+ GlslManager::get_instance ()->unlock_service (frame);
747752 return 1 ;
748753 }
749754
0 commit comments