diff options
author | jstebbins <[email protected]> | 2009-05-01 17:27:51 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2009-05-01 17:27:51 +0000 |
commit | 8cab795c817920ff023b6f0b8992a588e62c08c5 (patch) | |
tree | 37d6ba0f2bd800c152f23aba35edd7f42408b0c6 /libhb/dvd.h | |
parent | 0bef438147a6807abb2b594d30451bb5d97933aa (diff) |
dvdnav: improve title scanning
- looks for ptt with longest pgc sequence instead of just picking first ptt
solves many 'short title' problems
- constructs chapters from the pg's within the pgc's instead of using ptt's
solve the problem of ptt's that point to an intro pgc instead of
to the actual chapter position in the title.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2361 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/dvd.h')
-rw-r--r-- | libhb/dvd.h | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/libhb/dvd.h b/libhb/dvd.h index 811efe5b6..bcba78ea4 100644 --- a/libhb/dvd.h +++ b/libhb/dvd.h @@ -49,8 +49,9 @@ struct hb_dvdnav_s dvd_reader_t * reader; ifo_handle_t * vmg; int title; - int title_block_count; + int title_block_count; int chapter; + hb_list_t * list_chapter; int stopped; }; @@ -59,25 +60,25 @@ typedef struct hb_dvdread_s hb_dvdread_t; union hb_dvd_s { - hb_dvdread_t dvdread; - hb_dvdnav_t dvdnav; + hb_dvdread_t dvdread; + hb_dvdnav_t dvdnav; }; struct hb_dvd_func_s { - hb_dvd_t * (* init) ( char * ); - void (* close) ( hb_dvd_t ** ); - char * (* name) ( char * ); - int (* title_count) ( hb_dvd_t * ); - hb_title_t * (* title_scan) ( hb_dvd_t *, int ); - int (* start) ( hb_dvd_t *, int, int ); - void (* stop) ( hb_dvd_t * ); - int (* seek) ( hb_dvd_t *, float ); - int (* read) ( hb_dvd_t *, hb_buffer_t * ); - int (* chapter) ( hb_dvd_t * ); - int (* angle_count) ( hb_dvd_t * ); - void (* set_angle) ( hb_dvd_t *, int ); + hb_dvd_t * (* init) ( char * ); + void (* close) ( hb_dvd_t ** ); + char * (* name) ( char * ); + int (* title_count) ( hb_dvd_t * ); + hb_title_t * (* title_scan) ( hb_dvd_t *, int ); + int (* start) ( hb_dvd_t *, hb_title_t *, int ); + void (* stop) ( hb_dvd_t * ); + int (* seek) ( hb_dvd_t *, float ); + int (* read) ( hb_dvd_t *, hb_buffer_t * ); + int (* chapter) ( hb_dvd_t * ); + int (* angle_count) ( hb_dvd_t * ); + void (* set_angle) ( hb_dvd_t *, int ); }; typedef struct hb_dvd_func_s hb_dvd_func_t; |