void GlslManager::onInit( mlt_properties owner, GlslManager* filter ) { mlt_log_debug( filter->get_service(), "%s\n", __FUNCTION__ ); #ifdef WIN32 std::string path = std::string(mlt_environment("MLT_APPDIR")).append("\\share\\movit"); #elif defined(__DARWIN__) && defined(RELOCATABLE) std::string path = std::string(mlt_environment("MLT_APPDIR")).append("/share/movit"); #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 ); }
static int vs_log_wrapper( int type, const char *tag, const char *format, ... ) { va_list vl; if ( type > mlt_log_get_level() ) return VS_OK; va_start( vl, format ); fprintf( stderr, "[%s] ", tag ); vfprintf( stderr, format, vl ); va_end( vl ); return VS_OK; }
static void mlt_log_handler(void *service, int mlt_level, const char *format, va_list args) { if (mlt_level > mlt_log_get_level()) return; enum Logger::LogLevel cuteLoggerLevel = Logger::Fatal; switch (mlt_level) { case MLT_LOG_DEBUG: cuteLoggerLevel = Logger::Trace; break; case MLT_LOG_ERROR: case MLT_LOG_FATAL: case MLT_LOG_PANIC: cuteLoggerLevel = Logger::Error; break; case MLT_LOG_INFO: cuteLoggerLevel = Logger::Info; break; case MLT_LOG_VERBOSE: cuteLoggerLevel = Logger::Debug; break; case MLT_LOG_WARNING: cuteLoggerLevel = Logger::Warning; break; } QString message; mlt_properties properties = service? MLT_SERVICE_PROPERTIES((mlt_service) service) : NULL; if (properties) { char *mlt_type = mlt_properties_get(properties, "mlt_type"); char *service_name = mlt_properties_get(properties, "mlt_service"); char *resource = mlt_properties_get(properties, "resource"); if (!resource || resource[0] != '<' || resource[strlen(resource) - 1] != '>') mlt_type = mlt_properties_get(properties, "mlt_type" ); if (service_name) message = QString("[%1 %2] ").arg(mlt_type).arg(service_name); else message = QString().sprintf("[%s %p] ", mlt_type, service); if (resource) message.append(QString("\"%1\" ").arg(resource)); message.append(QString().vsprintf(format, args)); message.replace('\n', ""); } else { message = QString().vsprintf(format, args); message.replace('\n', ""); } cuteLogger->write(cuteLoggerLevel, __FILE__, __LINE__, "MLT", cuteLogger->defaultCategory().toLatin1().constData(), message); }
static void avformat_init( ) { // Initialise avformat if necessary if ( avformat_initialised == 0 ) { avformat_initialised = 1; av_lockmgr_register( &avformat_lockmgr ); av_register_all( ); #ifdef AVDEVICE avdevice_register_all(); #endif #if LIBAVFORMAT_VERSION_INT >= ((53<<16)+(13<<8)) avformat_network_init(); #endif av_log_set_level( mlt_log_get_level() ); } }
static void avformat_init( ) { // Initialise avformat if necessary if ( avformat_initialised == 0 ) { avformat_initialised = 1; av_lockmgr_register( &avformat_lockmgr ); mlt_factory_register_for_clean_up( &avformat_lockmgr, unregister_lockmgr ); av_register_all( ); #ifdef AVDEVICE avdevice_register_all(); #endif #if LIBAVFORMAT_VERSION_INT >= ((53<<16)+(13<<8)) avformat_network_init(); #endif av_log_set_level( mlt_log_get_level() ); if ( getenv("MLT_AVFORMAT_PRODUCER_CACHE") ) { int n = atoi( getenv("MLT_AVFORMAT_PRODUCER_CACHE" ) ); mlt_service_cache_set_size( NULL, "producer_avformat", n ); } } }