summaryrefslogtreecommitdiffstats
path: root/libhb/dvd.h
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2009-05-01 17:27:51 +0000
committerjstebbins <[email protected]>2009-05-01 17:27:51 +0000
commit8cab795c817920ff023b6f0b8992a588e62c08c5 (patch)
tree37d6ba0f2bd800c152f23aba35edd7f42408b0c6 /libhb/dvd.h
parent0bef438147a6807abb2b594d30451bb5d97933aa (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.h31
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;