- idx = FFMS_MakeIndex( psz_filename, 0, 0, NULL, NULL, 0, update_progress, &h->time, &e );
- fprintf( stderr, " \r" );
+ FFMS_Indexer *indexer = FFMS_CreateIndexer( psz_filename, &e );
+ FAIL_IF_ERROR( !indexer, "could not create indexer\n" )
+
+ if( opt->progress )
+ FFMS_SetProgressCallback( indexer, update_progress, &h->time );
+
+ idx = FFMS_DoIndexing2( indexer, FFMS_IEH_ABORT, &e );
+ fprintf( stderr, "%*c", PROGRESS_LENGTH+1, '\r' );