#include <vlc_plugin.h>
#include <vlc_demux.h>
-#include <vlc_interface.h>
+#include <vlc_dialog.h>
#include <vlc_meta.h>
#include <vlc_codecs.h>
set_subcategory( SUBCAT_INPUT_DEMUX )
add_bool( "avi-interleaved", 0, NULL,
- INTERLEAVE_TEXT, INTERLEAVE_LONGTEXT, true );
+ INTERLEAVE_TEXT, INTERLEAVE_LONGTEXT, true )
add_integer( "avi-index", 0, NULL,
- INDEX_TEXT, INDEX_LONGTEXT, false );
- change_integer_list( pi_index, ppsz_indexes, NULL );
+ INDEX_TEXT, INDEX_LONGTEXT, false )
+ change_integer_list( pi_index, ppsz_indexes, NULL )
set_callbacks( Open, Close )
vlc_module_end ()
b_index = true;
goto aviindex;
}
- int i_create;
- i_create = intf_UserYesNo( p_demux, _("AVI Index") ,
- _( "This AVI file is broken. Seeking will not "
- "work correctly.\nDo you want to "
- "try to repair it?\n\nThis might take a long time." ),
- _( "Repair" ), _( "Don't repair" ), _( "Cancel") );
- if( i_create == DIALOG_OK_YES )
+ switch( dialog_Question( p_demux, _("AVI Index") ,
+ _( "This AVI file is broken. Seeking will not work correctly.\n"
+ "Do you want to try to fix it?\n\n"
+ "This might take a long time." ),
+ _( "Repair" ), _( "Don't repair" ), _( "Cancel") ) )
{
- b_index = true;
- msg_Dbg( p_demux, "Fixing AVI index" );
- goto aviindex;
- }
- else if( i_create == DIALOG_CANCELLED )
- {
- /* Kill input */
- vlc_object_kill( p_demux->p_parent );
- goto error;
+ case 1:
+ b_index = true;
+ msg_Dbg( p_demux, "Fixing AVI index" );
+ goto aviindex;
+ case 3:
+ /* Kill input */
+ vlc_object_kill( p_demux->p_parent );
+ goto error;
}
}
}
off_t i_movi_end;
mtime_t i_dialog_update;
- int i_dialog_id;
+ dialog_progress_bar_t *p_dialog = NULL;
p_riff = AVI_ChunkFind( &p_sys->ck_root, AVIFOURCC_RIFF, 0);
p_movi = AVI_ChunkFind( p_riff, AVIFOURCC_movi, 0);
/* Only show dialog if AVI is > 10MB */
- i_dialog_id = -1;
i_dialog_update = mdate();
if( stream_Size( p_demux->s ) > 10000000 )
- i_dialog_id = intf_IntfProgress( p_demux, _("Fixing AVI Index..."), 0.0 );
+ p_dialog = dialog_ProgressCreate( p_demux, NULL,
+ _("Fixing AVI Index..."), _("Cancel") );
for( ;; )
{
break;
/* Don't update/check dialog too often */
- if( i_dialog_id > 0 && mdate() - i_dialog_update > 100000 )
+ if( p_dialog && mdate() - i_dialog_update > 100000 )
{
- if( intf_ProgressIsCancelled( p_demux, i_dialog_id ) )
+ if( dialog_ProgressCancelled( p_dialog ) )
break;
- double f_pos = 100.0 * stream_Tell( p_demux->s ) /
- stream_Size( p_demux->s );
- intf_ProgressUpdate( p_demux, i_dialog_id,
- _( "Fixing AVI Index..." ), f_pos, -1 );
+ float f_pos = (float)stream_Tell( p_demux->s ) /
+ (float)stream_Size( p_demux->s );
+ dialog_ProgressSet( p_dialog, NULL, f_pos );
i_dialog_update = mdate();
}
}
print_stat:
- if( i_dialog_id > 0 )
- intf_UserHide( p_demux, i_dialog_id );
+ if( p_dialog != NULL )
+ dialog_ProgressDestroy( p_dialog );
for( i_stream = 0; i_stream < p_sys->i_track; i_stream++ )
{