X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmodules%2Fopengl%2Ffilter_movit_convert.cpp;h=dab3eae41dca83887bb4be161939091be89b7715;hb=3a0830989b99178eec0ab334ea8dea36c4cc429c;hp=2b9a39dbc022f66dff306d27c64e3bf458bcd23d;hpb=b686ca6e91eef8f36ebedcb9a57cf74da1da23a3;p=mlt diff --git a/src/modules/opengl/filter_movit_convert.cpp b/src/modules/opengl/filter_movit_convert.cpp index 2b9a39db..dab3eae4 100644 --- a/src/modules/opengl/filter_movit_convert.cpp +++ b/src/modules/opengl/filter_movit_convert.cpp @@ -131,6 +131,14 @@ static void build_fingerprint( mlt_service service, mlt_frame frame, std::string fingerprint->push_back( '(' ); fingerprint->append( mlt_properties_get( MLT_SERVICE_PROPERTIES( service ), "_unique_id" ) ); + + const char* effect_fingerprint = mlt_properties_get( MLT_SERVICE_PROPERTIES( service ), "_movit fingerprint" ); + if ( effect_fingerprint ) { + fingerprint->push_back( '[' ); + fingerprint->append( effect_fingerprint ); + fingerprint->push_back( ']' ); + } + bool disable = mlt_properties_get_int( MLT_SERVICE_PROPERTIES( service ), "movit.parms.int.disable" ); if ( disable ) { fingerprint->push_back( 'd' ); @@ -539,6 +547,8 @@ mlt_filter filter_movit_convert_init( mlt_profile profile, mlt_service_type type if ( glsl && ( filter = mlt_filter_new() ) ) { + mlt_properties properties = MLT_FILTER_PROPERTIES( filter ); + glsl->add_ref( properties ); #ifdef WIN32 // XXX avcolor_space is crashing on Windows in this context! mlt_filter cpu_csc = NULL;