X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmodules%2Fopengl%2Ffilter_glsl_manager.cpp;h=1523b8e30ff4ecdf2ff47bd3fcbddaf19373d8f6;hb=265e080ca00a91bde6f5812f8e498e5901675a59;hp=0a33bc9aed77341acb7f9c75999ad0d858cae3bf;hpb=87a9c8a82aaf7a8abf1da0f9f1268a4465bb21e1;p=mlt diff --git a/src/modules/opengl/filter_glsl_manager.cpp b/src/modules/opengl/filter_glsl_manager.cpp index 0a33bc9a..1523b8e3 100644 --- a/src/modules/opengl/filter_glsl_manager.cpp +++ b/src/modules/opengl/filter_glsl_manager.cpp @@ -225,8 +225,8 @@ void GlslManager::onInit( mlt_properties owner, GlslManager* filter ) #else std::string path = std::string(getenv("MLT_MOVIT_PATH") ? getenv("MLT_MOVIT_PATH") : SHADERDIR); #endif - ::init_movit( path, mlt_log_get_level() == MLT_LOG_DEBUG? MOVIT_DEBUG_ON : MOVIT_DEBUG_OFF ); - filter->set( "glsl_supported", movit_initialized ); + bool success = init_movit( path, mlt_log_get_level() == MLT_LOG_DEBUG? MOVIT_DEBUG_ON : MOVIT_DEBUG_OFF ); + filter->set( "glsl_supported", success ); } void GlslManager::onClose( mlt_properties owner, GlslManager *filter ) @@ -356,6 +356,18 @@ void GlslManager::set_effect_secondary_input( mlt_service service, mlt_frame fra set_frame_specific_data( service, frame, "_movit effect secondary input frame", input_frame, 0, NULL, NULL ); } +void GlslManager::get_effect_third_input( mlt_service service, mlt_frame frame, mlt_service *input_service, mlt_frame *input_frame) +{ + *input_service = (mlt_service) get_frame_specific_data( service, frame, "_movit effect third input", NULL ); + *input_frame = (mlt_frame) get_frame_specific_data( service, frame, "_movit effect third input frame", NULL ); +} + +void GlslManager::set_effect_third_input( mlt_service service, mlt_frame frame, mlt_service input_service, mlt_frame input_frame ) +{ + set_frame_specific_data( service, frame, "_movit effect third input", input_service, 0, NULL, NULL ); + set_frame_specific_data( service, frame, "_movit effect third input frame", input_frame, 0, NULL, NULL ); +} + int GlslManager::render_frame_texture(EffectChain *chain, mlt_frame frame, int width, int height, uint8_t **image) { glsl_texture texture = get_texture( width, height, GL_RGBA8 );