summaryrefslogtreecommitdiffstats
path: root/test/test.c
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2010-09-08 16:51:59 +0000
committerjstebbins <[email protected]>2010-09-08 16:51:59 +0000
commita007891bf9f7e53d3705c51b5b41f9e56a144031 (patch)
treeb7a532c24a458d549afb0174c374e631b896a46e /test/test.c
parent772c3574758e9bc29cb76bbc86343cf9ad5ddd71 (diff)
Add Bluray support
Unencrypted BD directory trees only. Doesn't support iso images. Also, no PGS subtitle support yet. Chapters and angles are supported. Adds a new contrib libbluray. Adds new option to hb_scan() for duration of short titles to filter. This applies to BD and DVD multi-title scans only. Does not apply to any single title scans. Fixes memory leak during scan. hb_buffer_close() was not freeing all buffers in a chain of buffers passed to it. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3510 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'test/test.c')
-rw-r--r--test/test.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/test/test.c b/test/test.c
index 34daa7377..cff30ef4b 100644
--- a/test/test.c
+++ b/test/test.c
@@ -126,6 +126,7 @@ static int64_t stop_at_pts = 0;
static int stop_at_frame = 0;
static char * stop_at_string = NULL;
static char * stop_at_token = NULL;
+static uint64_t min_title_duration = 900000LL;
/* Exit cleanly on Ctrl-C */
static volatile int die = 0;
@@ -241,7 +242,7 @@ int main( int argc, char ** argv )
titleindex = 0;
}
- hb_scan( h, input, titleindex, preview_count, store_previews );
+ hb_scan( h, input, titleindex, preview_count, store_previews, min_title_duration );
/* Wait... */
while( !die )
@@ -388,11 +389,11 @@ static void PrintTitleInfo( hb_title_t * title )
}
else if ( title->type == HB_DVD_TYPE )
{
- fprintf( stderr, " + vts %d, ttn %d, cells %d->%d (%d blocks)\n",
+ fprintf( stderr, " + vts %d, ttn %d, cells %d->%d (%"PRIu64" blocks)\n",
title->vts, title->ttn, title->cell_start, title->cell_end,
title->block_count );
}
- if (dvdnav)
+ if (title->angle_count > 1)
fprintf( stderr, " + angle(s) %d\n", title->angle_count );
fprintf( stderr, " + duration: %02d:%02d:%02d\n",
title->hours, title->minutes, title->seconds );
@@ -408,7 +409,7 @@ static void PrintTitleInfo( hb_title_t * title )
for( i = 0; i < hb_list_count( title->list_chapter ); i++ )
{
chapter = hb_list_item( title->list_chapter, i );
- fprintf( stderr, " + %d: cells %d->%d, %d blocks, duration "
+ fprintf( stderr, " + %d: cells %d->%d, %"PRIu64" blocks, duration "
"%02d:%02d:%02d\n", chapter->index,
chapter->cell_start, chapter->cell_end,
chapter->block_count, chapter->hours, chapter->minutes,
@@ -2607,6 +2608,7 @@ static int ParseOptions( int argc, char ** argv )
#define ROTATE_FILTER 275
#define SCAN_ONLY 276
#define MAIN_FEATURE 277
+ #define MIN_DURATION 278
for( ;; )
{
@@ -2626,6 +2628,7 @@ static int ParseOptions( int argc, char ** argv )
{ "ipod-atom", no_argument, NULL, 'I' },
{ "title", required_argument, NULL, 't' },
+ { "min-duration",required_argument, NULL, MIN_DURATION },
{ "scan", no_argument, NULL, SCAN_ONLY },
{ "main-feature",no_argument, NULL, MAIN_FEATURE },
{ "chapters", required_argument, NULL, 'c' },
@@ -3154,6 +3157,9 @@ static int ParseOptions( int argc, char ** argv )
else if( atoi( optarg ) == 709 )
color_matrix = 2;
break;
+ case MIN_DURATION:
+ min_title_duration = strtol( optarg, NULL, 0 );
+ break;
default:
fprintf( stderr, "unknown option (%s)\n", argv[cur_optind] );
return -1;