Rocket Division Software
http://www.starburnsoftware.com/forum/

Bug in writing ISO's to DVD's?
http://www.starburnsoftware.com/forum/starburn-sdk-f3/bug-writing-iso-dvd-t231.html
Page 1 of 1

Author:  jcsston [ Fri Dec 17, 2004 11:34 am ]
Post subject:  Bug in writing ISO's to DVD's?

There appears to a major bug in the StarBurn SDK for writing ISO images to DVD's.
I've primarily been testing with small text files and directory layouts. However when I put some .exe's and .zip's on a DVD as ISO they came out badly corrupted. Trying with some larger text files I see it's doing the sector offsets or something incorrectly as the text is their it just has some junk in it every so often.

Thanks,
Jory

Author:  alexey (staff) [ Fri Dec 17, 2004 11:46 am ]
Post subject:  Re: Bug in writing ISO's to DVD's?

Hi,

Please, tell me the way you are building the ISO-images. When the files are corrupted - it seems to the problem of mastering ISO file, but no the burning problem.

jcsston wrote:
There appears to a major bug in the StarBurn SDK for writing ISO images to DVD's.
I've primarily been testing with small text files and directory layouts. However when I put some .exe's and .zip's on a DVD as ISO they came out badly corrupted. Trying with some larger text files I see it's doing the sector offsets or something incorrectly as the text is their it just has some junk in it every so often.

Thanks,
Jory

Author:  jcsston [ Fri Dec 17, 2004 11:58 am ]
Post subject: 

Hi,
I'm using code similar to this.

Code:
bool bLevel2 = true;
  m_ExceptionNo = StarBurn_ISO9660JolietFileTree_Create(
      &m_pISO9660JolietFileTree,
      m_ExceptionText, sizeof(m_ExceptionText),
      &m_Status,
      Callback_static, (PVOID)this,
      TRUE,
      FALSE,
      bLevel2 ? TRUE : FALSE,
      FILE_TREE_JOLIET);

  void *pRoot = NULL;
    pRoot = StarBurn_ISO9660JolietFileTree_GetRoot(m_pISO9660JolietFileTree);

  m_ExceptionNo = StarBurn_ISO9660JolietFileTree_Add(
        m_pISO9660JolietFileTree,
        m_ExceptionText, sizeof(m_ExceptionText),
        &m_Status,
        (char *)path.c_str(),
        folderName.length() == 0 ? NULL : (char *)folderName.c_str(),
        FILE_TIME_LAST_WRITE,
        &pRoot);

  m_ExceptionNo = StarBurn_ISO9660JolietFileTree_BuildImage(
      m_pISO9660JolietFileTree,
      m_ExceptionText, sizeof(m_ExceptionText),
      &m_Status,
      0,
      8,
      FALSE,
      (char *)VolumeSetName.c_str(),
      (char *)PublisherPreparerName.c_str(),
      (char *)ApplicationName.c_str());

...

          exceptionNo = StarBurn_CdvdBurnerGrabber_TrackAtOnceFromTree(
                          CStarBurnCDImageBurnerGrabber,
                          ExceptionText, sizeof(ExceptionText),
                          &Status, &CDBFailureInfo,
                          m_Image->GetImagePointer(),  // m_pISO9660JolietFileTree
                          FALSE, // TRUE -- MODE2/Form1 vs FALSE -- MODE1, would be IGNORED for RAW images
                          m_bTestWrite ? TRUE : FALSE,
                          m_bNextSessionAllowed ? TRUE : FALSE, // TRUE, // Next session allowed
                          WRITE_REPORT_DELAY_IN_SECONDS,
                          BUFFER_STATUS_REPORT_DELAY_IN_SECONDS);


Thanks,
Jory

Author:  anton (staff) [ Fri Dec 17, 2004 8:39 pm ]
Post subject: 

Your code seems to be fine. Now we'll need exact directory structure put somewhere on ftp, add/remove actions performed with it. To reproduce, confirm (maybe) and fix (if confirmed) the issue. You seems to be the first one reported broken images so far...

jcsston wrote:
Hi,
I'm using code similar to this.

Code:
bool bLevel2 = true;
  m_ExceptionNo = StarBurn_ISO9660JolietFileTree_Create(
      &m_pISO9660JolietFileTree,
      m_ExceptionText, sizeof(m_ExceptionText),
      &m_Status,
      Callback_static, (PVOID)this,
      TRUE,
      FALSE,
      bLevel2 ? TRUE : FALSE,
      FILE_TREE_JOLIET);

  void *pRoot = NULL;
    pRoot = StarBurn_ISO9660JolietFileTree_GetRoot(m_pISO9660JolietFileTree);

  m_ExceptionNo = StarBurn_ISO9660JolietFileTree_Add(
        m_pISO9660JolietFileTree,
        m_ExceptionText, sizeof(m_ExceptionText),
        &m_Status,
        (char *)path.c_str(),
        folderName.length() == 0 ? NULL : (char *)folderName.c_str(),
        FILE_TIME_LAST_WRITE,
        &pRoot);

  m_ExceptionNo = StarBurn_ISO9660JolietFileTree_BuildImage(
      m_pISO9660JolietFileTree,
      m_ExceptionText, sizeof(m_ExceptionText),
      &m_Status,
      0,
      8,
      FALSE,
      (char *)VolumeSetName.c_str(),
      (char *)PublisherPreparerName.c_str(),
      (char *)ApplicationName.c_str());

...

          exceptionNo = StarBurn_CdvdBurnerGrabber_TrackAtOnceFromTree(
                          CStarBurnCDImageBurnerGrabber,
                          ExceptionText, sizeof(ExceptionText),
                          &Status, &CDBFailureInfo,
                          m_Image->GetImagePointer(),  // m_pISO9660JolietFileTree
                          FALSE, // TRUE -- MODE2/Form1 vs FALSE -- MODE1, would be IGNORED for RAW images
                          m_bTestWrite ? TRUE : FALSE,
                          m_bNextSessionAllowed ? TRUE : FALSE, // TRUE, // Next session allowed
                          WRITE_REPORT_DELAY_IN_SECONDS,
                          BUFFER_STATUS_REPORT_DELAY_IN_SECONDS);


Thanks,
Jory

Page 1 of 1 All times are UTC
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/