diff options
Diffstat (limited to 'libhb/dvdnav.c')
-rw-r--r-- | libhb/dvdnav.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libhb/dvdnav.c b/libhb/dvdnav.c index f7153177c..9dcf9e530 100644 --- a/libhb/dvdnav.c +++ b/libhb/dvdnav.c @@ -334,6 +334,7 @@ static hb_title_t * hb_dvdnav_title_scan( hb_dvd_t * e, int t, uint64_t min_dura uint64_t duration, longest; int longest_pgcn, longest_pgn, longest_pgcn_end; const char * name; + unsigned char unused[1024]; const char * codec_name; hb_log( "scan: scanning title %d", t ); @@ -344,8 +345,13 @@ static hb_title_t * hb_dvdnav_title_scan( hb_dvd_t * e, int t, uint64_t min_dura { strncpy( title->name, name, sizeof( title->name ) ); } - else + + if (strlen(title->name) == 0) { + if( DVDUDFVolumeInfo( d->reader, title->name, sizeof( title->name ), + unused, sizeof( unused ) ) ) + { + char * p_cur, * p_last = d->path; for( p_cur = d->path; *p_cur; p_cur++ ) { @@ -358,6 +364,7 @@ static hb_title_t * hb_dvdnav_title_scan( hb_dvd_t * e, int t, uint64_t min_dura char *dot_term = strrchr(title->name, '.'); if (dot_term) *dot_term = '\0'; + } } /* VTS which our title is in */ |