/***********************************************************************
* hb_batch_title_scan
**********************************************************************/
-hb_title_t * hb_batch_title_scan( hb_batch_t * d, int t )
+hb_title_t * hb_batch_title_scan( hb_batch_t * d, int t, uint64_t min_duration )
{
hb_title_t * title;
title = hb_stream_title_scan( stream, title );
hb_stream_close( &stream );
+ if( title->duration < min_duration )
+ {
+ hb_log( "batch: ignoring title (too short)" );
+ hb_title_close(&title);
+ }
return title;
}
hb_batch_t * hb_batch_init( hb_handle_t *h, char * path );
void hb_batch_close( hb_batch_t ** _d );
int hb_batch_title_count( hb_batch_t * d );
-hb_title_t * hb_batch_title_scan( hb_batch_t * d, int t );
+hb_title_t * hb_batch_title_scan( hb_batch_t * d, int t,
+ uint64_t min_duration );
/***********************************************************************
* dvd.c
if( data->title_index )
{
/* Scan this title only */
- title = hb_batch_title_scan(data->batch, data->title_index);
+ title = hb_batch_title_scan(data->batch, data->title_index, 0);
if ( title )
{
hb_list_add( data->title_set->list_title, title );
hb_title_t * title;
UpdateState1(data, i + 1);
- title = hb_batch_title_scan(data->batch, i + 1);
+ title = hb_batch_title_scan(data->batch, i + 1,
+ data->min_title_duration);
if ( title != NULL )
{
hb_list_add( data->title_set->list_title, title );