From 0178c42c202a704a6e5601df212c2379f0ea4712 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Thu, 30 May 2013 13:31:06 +0000 Subject: [PATCH] Bug fix: cdrskin -msinfo on DVD and BD reported old session start == next writable address. Regression introduced by version 1.2.8 (rev 4956). --- cdrskin/cdrskin.c | 9 +++++++++ cdrskin/cdrskin_timestamp.h | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/cdrskin/cdrskin.c b/cdrskin/cdrskin.c index 7b23ff1..d8e8136 100644 --- a/cdrskin/cdrskin.c +++ b/cdrskin/cdrskin.c @@ -7872,6 +7872,15 @@ int Cdrskin_msinfo(struct CdrskiN *skin, int flag) continue; burn_track_get_entry(tracks[0],&toc_entry); if(toc_entry.extensions_valid&1) { /* DVD extension valid */ + if(session_no >= num_sessions) { + if(!(toc_entry.extensions_valid & 4)) + continue; /* open session with no track status bits from libburn */ + if((toc_entry.track_status_bits & (1 << 14)) || + !((toc_entry.track_status_bits & (1 << 16)) || + ((toc_entry.track_status_bits & (1 << 17)) && + toc_entry.last_recorded_address > toc_entry.start_lba))) + continue; /* Blank or not appendable and not recorded */ + } lba= toc_entry.start_lba; } else { lba= burn_msf_to_lba(toc_entry.pmin,toc_entry.psec,toc_entry.pframe); diff --git a/cdrskin/cdrskin_timestamp.h b/cdrskin/cdrskin_timestamp.h index 9b2c620..0d0d6a4 100644 --- a/cdrskin/cdrskin_timestamp.h +++ b/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2013.05.26.185945" +#define Cdrskin_timestamP "2013.05.30.133008"