From gitlab at videolan.org Sat Mar 7 14:16:31 2026 From: gitlab at videolan.org (Jean-Baptiste Kempf (@jbk)) Date: Sat, 07 Mar 2026 15:16:31 +0100 Subject: [libdvdnav-devel] [Git][videolan/libdvdread][master] fix: titleset logic path fix Message-ID: <69ac333f74908_32c93545ccf704575e8@gitlab.mail> Jean-Baptiste Kempf pushed to branch master at VideoLAN / libdvdread Commits: a9e26de8 by Saifelden Mohamed Ismail at 2026-03-07T15:15:57+01:00 fix: titleset logic path fix - - - - - 1 changed file: - src/dvd_reader.c Changes: ===================================== src/dvd_reader.c ===================================== @@ -1143,7 +1143,7 @@ static dvd_file_t *DVDOpenVOBUDF( dvd_reader_t *ctx, int title, int menu ) for( cur = 2; cur < 10; cur++ ) { sprintf( filename, "/%s_TS/%cTS_%02d_%d.%cOB", DVD_TYPE_STRING( ctx->dvd_type ), - STREAM_TYPE_STRING( ctx->dvd_type ), title, menu ? 0 : 1, STREAM_TYPE_STRING( ctx->dvd_type ) ); + STREAM_TYPE_STRING( ctx->dvd_type ), title, cur, STREAM_TYPE_STRING( ctx->dvd_type ) ); if( !UDFFindFile( ctx, filename, &len ) ) break; dvd_file->filesize += len / DVD_VIDEO_LB_LEN; } View it on GitLab: https://code.videolan.org/videolan/libdvdread/-/commit/a9e26de8447fc3ad0f5c49f8cedfe9302515e990 -- View it on GitLab: https://code.videolan.org/videolan/libdvdread/-/commit/a9e26de8447fc3ad0f5c49f8cedfe9302515e990 You're receiving this email because of your account on code.videolan.org. VideoLAN code repository instance From gitlab at videolan.org Sat Mar 7 14:17:44 2026 From: gitlab at videolan.org (Jean-Baptiste Kempf (@jbk)) Date: Sat, 07 Mar 2026 15:17:44 +0100 Subject: [libdvdnav-devel] [Git][videolan/libdvdread][master] DVD-VR: make timestamps use ptm_t Message-ID: <69ac338837dc6_32c9353563148458657@gitlab.mail> Jean-Baptiste Kempf pushed to branch master at VideoLAN / libdvdread Commits: a66aec4d by Saifelden Mohamed Ismail at 2026-03-07T15:17:11+01:00 DVD-VR: make timestamps use ptm_t - - - - - 2 changed files: - src/dvdread/ifo_types.h - src/ifo_read.c Changes: ===================================== src/dvdread/ifo_types.h ===================================== @@ -1148,6 +1148,7 @@ typedef struct { uint8_t pgtm[5]; } ATTRIBUTE_PACKED pgtm_t; +/* used throughout the program for timestamps */ typedef struct { uint32_t ptm; uint16_t ptm_extra; /* extra to DSI pkts */ @@ -1249,7 +1250,7 @@ typedef struct { typedef struct { uint8_t ep_ty; /* type */ - uint8_t ep_ptm[6]; /* entry point time pts */ + ptm_t ep_ptm; /* entry point time pts */ } ATTRIBUTE_PACKED m_c_epi_t; #define M_C_EPI_SIZE 7U @@ -1265,8 +1266,8 @@ typedef struct { }; uint8_t end_image; /* will be zero if type is movie cell */ uint8_t c_epi_n; /* used to allocate m_c_epi */ - uint8_t c_v_s_ptm[6]; - uint8_t c_v_e_ptm[6]; + ptm_t c_v_s_ptm; + ptm_t c_v_e_ptm; m_c_epi_t* m_c_epi; /* movie cell entry points. seekable chapters */ } ATTRIBUTE_PACKED m_c_gi_t; #define M_C_GI_SIZE 18U ===================================== src/ifo_read.c ===================================== @@ -1693,6 +1693,12 @@ int ifoRead_UD_PGCIT(ifo_handle_t *ifofile) { B2N_16(ud_pgcit->m_c_gi[i].m_vobi_srpn); + B2N_32(ud_pgcit->m_c_gi[i].c_v_s_ptm.ptm); + B2N_16(ud_pgcit->m_c_gi[i].c_v_s_ptm.ptm_extra); + + B2N_32(ud_pgcit->m_c_gi[i].c_v_e_ptm.ptm); + B2N_16(ud_pgcit->m_c_gi[i].c_v_e_ptm.ptm_extra); + if(ud_pgcit->m_c_gi[i].c_epi_n > 0){ ud_pgcit->m_c_gi[i].m_c_epi = calloc(ud_pgcit->m_c_gi[i].c_epi_n, M_C_EPI_SIZE ); @@ -1705,6 +1711,11 @@ int ifoRead_UD_PGCIT(ifo_handle_t *ifofile) { goto fail4; } + for( int j = 0; j > ud_pgcit->m_c_gi[j].c_epi_n; j++){ + B2N_32(ud_pgcit->m_c_gi[i].m_c_epi[j].ep_ptm.ptm); + B2N_16(ud_pgcit->m_c_gi[i].m_c_epi[j].ep_ptm.ptm_extra); + } + } } View it on GitLab: https://code.videolan.org/videolan/libdvdread/-/commit/a66aec4dd722dbfed0be3e26eb36270cea5d2df6 -- View it on GitLab: https://code.videolan.org/videolan/libdvdread/-/commit/a66aec4dd722dbfed0be3e26eb36270cea5d2df6 You're receiving this email because of your account on code.videolan.org. VideoLAN code repository instance