PrimoBurner(tm) 3.6.1 for C++
Release Notes

OS Requirements 

  • Windows XP SP2
  • Mac OS X 10.4
  • Ubuntu Linux 9.10

 

Runtime Dependencies 

  • Ubuntu: libhal, libdbus, libspeexdsp

 

Samples Requirements 

 

The samples provided with PrimoBurner may need additional tools/libraries to be built. 

 

  • Windows

 

PrimoBurner samples come with solutions and projects for VS 2005, VS 2008 and VS 2010. The AudioBurner, BluRayBurner, DataBurner, DataBurnerEx, DiscCopy, DVDBurner GUI samples use MFC as shared dll. 

 

  • Mac OS X

 

All samples have XCode 2.x and XCode 3.x projects. The AudioBurner, BluRayBurner, DiscCopy, DVDBurner GUI samples use the Qt framework. QtCore and QtGui libraries are already included under the lib/Frameworks folder. 

 

  • Ubuntu Linux

 

The AudioBurner, BluRayBurner, DiscCopy and DVDBurner samples have NetBeans "C/C++ Qt Application"projects. To use these projects you need NetBeans IDE with C/C++ add-on. The Netbeans IDE is available in the Synaptic Package Manager or directly from http://netbeans.org/downloads

 

In addition, the AudioBurner, BluRayBurner, DiscCopy and DVDBurner samples use QT4 and require libqt4-dev. The libqt4-dev package is available in the Synaptic Package Manager and can be installed from terminal by running: "sudo apt-get install libqt4-dev". The latest QT framework can be downloaded from http://qt.nokia.com/downloads

 

To run the 32 bit samples on Ubuntu 64 bit, you will need the ia32-lib package. The ia32-lib package is available in the Synaptic Package Manager and can be installed from terminal by running: "sudo apt-get install ia32-libs". 

 

Version 3.6.1 

 

New 

 

  • 2063: IDiscCopy reports "Invalid image file" when reading DVD images

 

 

Version 3.6.0 

 

New 

  • 2028: BluRayBurner sample update
  • 1994: Add BD copy functionality in IDiscCopy interface
  • 1989: Windows and Linux: Update DataBurnerCmd sample to burn on blank DVD+RW media.
  • 1987: Windows: Update PrimoConfig.h to use integer types defined in stdint.h file for projects created on VS 2010 or higher
  • 1986: Update samples to use PrimoBurner.h header file instead of hpCDE.h header file.
  • 1984: Implement device change notification handling as part of PrimoBurner SDK (added IEngine::SetCallback method and IEngineCallback interface)
  • 1767: Modify HPCDE_NO_DEPRECATED macro to turn on/off deprecated warnings

 

 

Version 3.5.9 

 

New 

  • 1974: Video DVD: add method/property to define whether to perform strict or loose validation of the Video DVD structure
  • 1972: Define code page to use when writing/reading CD-Text
  • 1971: Add method to get/set CD-Text language
  • 1957: Linux: Added Qt BluRayBurner sample to Ubuntu distribution.
  • 1647: Mac: Update samples with GetErrorMessage
  • 1619: Linux: DataBurnerCmd sample added

 

Fixed 

  • 1969: Video DVD: Reading IFO structure throws an exception if the structure is invalid
  • 1968: ISO 9660 issue: files with no extensions are recorded with ";1" at the end of their names instead of ".;1"
  • 1960: Write Video DVD structure with lower case filenames.

 

 

Version 3.5.8 

 

New 

  • Mac: Added Qt BluRayBurner sample for Mac OS X.

 

 

Version 3.5.7 

 

New 

  • 1846: Deprecate VIDEODVD_VIDEO_TS_VOB_SIZE error code and add new error codes for the cases when VIDEODVD_VIDEO_TS_VOB_SIZE was previously reported.

    The new codes are: 

        VIDEODVD_VIDEO_TS_VOB_NOT_FOUND, 

        VIDEODVD_VIDEO_TS_VOB_NOT_EXPECTED, 

        VIDEODVD_VIDEO_TS_VOB_IFO_INCORRECT_SIZE 

 

Fixed 

 

  • 1851: Windows: Disconnecting external device results in application freezing
  • 1847: Calling IDevice::GetMediaCapacity for DVD-ROM DL reports only the blocks from the first layer

 

 

Version 3.5.6 

 

New 

  • 1815: AudioCD: Hidden track: allow user data in the first two seconds of the pregap
  • 1811: Exclusive device access for Windows Vista and Windows 7
  • 1805: BlockDevice trace log

 

Fixed 

  • 1818: Device: On some devices GetWriteSpeeds returns unusually high speeds for CD media
  • 1813: BlockDevice: EndDVDTrack takes a long time on Windows 7 64Bit

 

 

Version 3.5.5 

 

Fixed 

  • 1768: DataDisc - burning large image files with file size greater than 4 GB fails

 

 

Version 3.5.4 

 

New 

  • 1757: Add 'Create hidden track' feature to AudioBurner sample
  • 1736 Linux: Add Qt samples to Ubuntu distribution. The new samples are AudioBurner, DiscCopy and DVDBurner. Each of the samples comes with a NetBeans 'C/C++ Qt Application' project.

 

 

Version 3.5.3 

 

New 

  • 1713 Linux: Convert PrimoBurner dynamic libraries (AudioCD, DataCD, DiscCopy, hpCDE, VideoDVD) to single dynamic library called libPrimoBurner.so
  • 1704 Linux: PrimoAudio library is renamed to AudioBlocks. PrimoAudio.h is renamed to AudioBlocks.h.
  • Linux: PrimoBurner supports only UTF-8: libPrimoBurnerUtf8.so (x86) and libPrimoBurner64Utf8.so (x64)
  • The following header files have been deprecated:
    • hpCDE.h file is replaced by PrimoBurner.h
    • hpCDEUtf8.h is replaced by PrimoBurnerUtf8.h

 

Fixed 

  • 1706 Change UDF implementation to support files with unlimited fragments (extents).

 

 

Version 3.5.2 

 

New 

  • 1712 Mac: Convert PrimoBurner libraries (AudioCD, DataCD, DiscCopy, hpCDE, VideoDVD) to single dynamic library called libPrimoBurner.dylib.
  • 1708 Mac: Static libraries are no loger included with the OEM and Enterprise distributions.
  • 1704 Mac: PrimoAudio library is renamed to AudioBlocks. PrimoAudio.h is renamed to AudioBlocks.h.
  • 1703 Mac: Create universal (64-Bit and 32-Bit) distributions for Mac SDK 10.5 and 10.6.
  • 1696 Mac: Replace Mac OS X installers with simple tar.gz distributions.
  • Mac: PrimoBurner now supports only two character sets - UTF-16 and UTF-8. The PrimoBurner libraries are as follows:
    • UTF-16 - libPrimoBurnerUtf16.dylib
    • UTF-8 - libPrimoBurnerUtf8.dylib
  • Mac: The libraries and compiled samples in PrimoBurner SDK 10.4 target only i386 architecture.
  • Mac: The libraries and compiled samples in PrimoBurner SDK 10.5 and SDK 10.6 are universal binaries which target both i386 and x86_64 architectures.
  • The following header files are deprecated:
    • hpCDE.h file is replaced by PrimoBurner.h
    • hpCDEUtf8.h is replaced by PrimoBurnerUtf8.h
    • hpCDEUtf16.h is replaced by PrimoBurnerUtf16.h

 

 

Version 3.5.1 

 

New 

  • 1711 Windows: Convert PrimoBurner libraries (AudioCD, DataCD, DiscCopy,hpCDE,VideoDVD) to single dynamic library called PrimoBurner.dll. The new PrimoBurner dynamic library does not depend on any C/C++ runtime libraries.
  • 1710 Windows: Static libraries are no longer included with the OEM and Enterprise distributions.
  • 1705 Windows: Sample projects for VC 2010.
  • 1704 Windows: PrimoAudio library is renamed to AudioBlocks. PrimoAudio.h is renamed to AudioBlocks.h.
  • Windows: PrimoBurner now supports only two character sets - UTF-16 (also known as just Unicode) and UTF-8. These could be linked into client projects regardless of whether "Treat wchar_t is built-in type" setting is ON or OFF. The PrimoBurner libraries are as follows:
    • UTF-16 - PrimoBurner.dll (32-bit) and PrimoBurner64.dll (64-bit)
    • UTF-8 - PrimoBurnerUtf8.dll (32-bit) and PrimoBurner64Utf8.dll (64-bit)
  • The following header files are deprecated:
    • hpcde.h file is replaced by PrimoBurner.h
    • hpCDEUtf8.h is replaced by PrimoBurnerUtf8.h

 

 

Version 3.0.8 

 

New 

  • 1690: Add GetSystemErrorDomain to IAudioCD, IDataDisc, IDiscCopy and IBlockDevice interfaces
  • 1656: Mac: DiscCopy.qt sample - update the code in BurnerException.h to use GetErrorMessage methods to display appropriate error descriptions.
  • 1654: Extend IAudioCD to allow audio ripping in WAV, WMA and OGG using the new PrimoAudio writer plug-ins.
  • 1649: IAudioCD - ability to set index 1 (pregap) for the first track (allows creation of hidden track)
  • 1619: Windows: DataBurnerCmd and DataReaderCmd samples added

 

Fixed 

  • 1387: Report errors in IAudioCD when WriteToCD fails to read the input audio file

 

Deprecated Classes 

 

The following classes and enumerations have been deprecated and will be removed from the next version PrimoBurner: 

 

IAudioFileRef - replaced by the IAudioInputRef class. 

IAudioFileListRef - replaced by the IAudioInputListRef class. 

EAudioSource - replaced by the EAudioStorage enum. 

 

Deprecated Methods 

 

The following methods have been deprecated and will be removed from the next version PrimoBurner: Library 

CreateAudioFile - Please use the CreateAudioInput method. 

 

IAudioCD: 

 

GetFileLength - Please use the GetInputLength method. 

GetAudioFilesRef - Please use the GetAudioInputsRef method. 

GetErrorFileRef - Please use the GetErrorInputRef method. 

 

IAudioInput(was IAudioFile): 

 

SetAudioSource - Please use the SetStorageType method. 

GetAudioSource - Please use the GetStorageType method. 

 

Deprecated Enum Values 

 

The following enumeration values have been deprecated and will be removed from the next version PrimoBurner: 

 

EAudioCDStatus: 

 

AUDIOCD_STATUS_INITIALIZING_AUDIO_DECODER - not used anymore. 

 

EAudioCDError: 

 

AUDIOCD_NO_SOURCE_FILES - Please use the AUDIOCD_NO_INPUT value. 

AUDIOCD_SOURCE_FILE_ERROR - Please use the AUDIOCD_INPUT_ERROR value. 

 

 

Version 3.0.7 

 

New 

 

  • 1632: Add ability to read media ID of DVD and Blu-ray Discs
  • 1626: Use IDevice::GetErrorMessage in Windows C++ samples
  • 1625: Add GetErrorMessage method to IDevice
  • 1613: Add PrimoBurner version to file systems' developer ID string
  • 1571: Reorganize samples

 

Fixed 

  • 1624: Define all SUCCESS error codes to 0
  • 1548: ReadBufferCapacity_5C should not be called if the burning is not active
  • 1543: Linux: Read CD-TEXT fails on certain devices
  • 1510: Update the AudioCDBurner and ReadCDText samples to use the new CDTT_GENRE_TEXT attribute
  • 1505: Write CD+G data when copying CDs (RAW only)
  • 1460: Add missing SCSI sense errors to primo::scsi::EScsiSenseError enumeration

 

 

Version 3.0.6 

 

Fixed 

  • 1560: Device.GetWriteSpeeds() does not return all possible write speeds
  • 1524: Unhandled exception in CopyDisc sample
  • 1522: Mac installation contains unnecessary files
  • 1275: TRACKINFOEX.RecordedSize is not correct for DVD+R, CD-R, CD-RW
  • 822: Device.MaxWriteSpeedKB is not correct for some devices

 

 

Version 3.0.5 

 

Fixed 

  • 1546: Read device buffer capacity only when burning is in progress.
  • 1535: Mac: Samples: XCode2: DiscCopy sample does not start.
  • 1523: Trace log enhancements
  • 1520: Log the MMC error, the current write address and the number of blocks when write command fails.
  • 1498: Retry write command after some MMC errors
  • 1494: HL-DT-ST, BD-RE GGW-H20N vXJ03: 0x030C02 WRITE ERROR – AUTO-REALLOCATION FAILED
  • 1491: DiscCopy: Write CD-TEXT when copying CD in RAW mode
  • 923: DataDisc: file progress reports PercentWritten over 100%.

 

 

Version 3.0.4 

 

Breaking Changes 

 

As of 3.0.4 you will need to reference the primo::burner namespace explicitly in your code. To do that insert a "using namespace primo::burner;" statement immediately after the inclusion of hpCDE.h, e.g. 

 

#include "hpCDE.h" 

using namespace primo::burner; 

 

New 

 

  • 1492: Added new CDTT_GENRE_TEXT = 0x90 to ECdTextType enumeration. Use the new CDTT_GENRE_TEXT attribute for getting/setting the genre description. To get/set the genre code use the CDTT_GENRE attribute.
  • 1436: IDiscCopy can now copy DVD-R DL discs recorded in "Layer Jump" mode.

 

Fixed 

  • 1497: The following ISO 9660 issues were fixed:
    • 1) (ref. ISO 8.4.26.1) Date Time format has an incorrect Year attribute: The value must be in the range 1..9999
    • 2) (ref. ISO 6.8.1.3) The length of the directory is incorrect.
    • 3) (ref. ISO 7.2) In each fixed-length field the content of which is specified, the characters shall be left-justified and any remaining byte positions on the right shall be set to (20).
    • 4) (ref. ISO 9.3) The records of a Directory shall be ordered according to the value of the File Identifier.
    • 5) (ref. DVD-2 3.7.3 (RPB 8)/A-15) The Path Table Records specified no Directory Identifier
    • 6) (ref. DVD A.14) The System Use field must contain the Copyright Management Information

 

  • 1492: CD-Text genre writing/reading is broken.
  • 1386: IAudioCD reports wrong burn progress when burning in Track-At-Once (TAO) mode.
  • 1385: An empty track is written if the audio input is a stream, decoded in memory and a CD session has not been specified.
  • 1378: IDiscCopy: When the source disc originally contains a session with several tracks in it, the destination disc will have several sessions with one track in each session.
  • 672: IDataDisc::GetImageLayout() returns an image layout with wrong file creation times

 

 

Version 3.0.3 

 

New Features 

  • UDF revisions up to 2.6 are now supported by IDataDisc.
  • Burning Blu-ray Video file structure from BDMV and BDAV folders is now supported.
  • New IDiscCopy interface for easy CD and DVD disc copying. Supports disc-to-image, image-to-disc and disc-to-disc direct copy.
  • IBlockDevice supports all types of Blu-ray media.

 

Breaking Changes 

  • Multi extent UDF files support: The extents collection must contain ALL UDF extents. Version 2.5X uses IDataFile::SetFileSize and IDataFile::SetDiscAddress to describe the first UDF extent. In version 3.X.X, IDataFile::GetFileSize returns the sum of all extents size (the total file size).
  • In version 2.5X, IDataDisc::GetImageSizeInBlocks reports the loaded image size. In version 3.X.X, use the new IDataDisc::GetLoadedImageSizeInBlocks method.

 

 

Version 2.58 

 

Fixes 

  • 1426: Device enumeration hangs and in some cases the device is lost and a system reboot is required. This happens only on Windows XP SP2 and with LG devices only.
  • 1425: Device enumeration takes long time (30 seconds) on Windows Vista. This happens with some LG devices, but other vendors may be affected too.

 

 

Version 2.55 

 

Fixes 

  • 1366: IDataDisc does not use all the space on fully formatted DVD-RW RO media.
  • 1342: IDevice::ReadCDSessionLayout always scans indexes.

 

 

Version 2.54 

 

Fixes 

  • 1327: Test burn of data in Track-At-Once mode fails.
  • 1325: CD ISRC and MCN codes not recorded accurately.
  • 1319: IDVDFeaturesRef::GetCanReadDVDRam not correct with some devices.
  • 1318: DVD-RW RO: After quick format IDevice::GetMediaIsBlank returns FALSE.
  • 1314: DVD-RW RO: Write fails if the disc is fully formatted on SONY BDRW BWU-100A 1.0a.
  • 1279: CD writing modes not detected on Samsung SH-S162L.
  • 924: IDevice::GetInternalCacheUsedSpace returns wrong value on some SONY devices.

 

 

Version 2.53 

 

New Features 

  • 1323: Added IDevice::GetCDFeaturesRef method. The new method gets the CD read/write capabilities of the device. For more information please see the ICDFeaturesRef documentation.
  • 1278: Added IEngine::CreateDeviceFromHandle to allow creating IDevice instance from operating system handle.

 

 

Version 2.52 

 

Fixes 

  • 1213: CD-TEXT is not written properly if album text has not been set.
  • 1212: Force device power calibration before DVD-RW erase and format.
  • 1210: DVD-RW RO: READTRACKINFOEX::dwRecordedSize value is wrong.
  • 1208: Memory leak in DataFileRipping sample.

 

 

Version 2.51 

 

New Features 

  • Windows: Added Visual Studio 2008 projects.
  • Mac: Added XCode 3.x projects and support for Mac OS 10.5.

 

Fixes 

  • 1068: File extensions in AudioPlugins.config should not be case sensitive.

 

 

Version 2.50 

 

New Features 

  • Windows: Device enumeration has been rewritten to use the SetupDiXXX API.
  • IAudioCD was enhanced to use PrimoAudio plugins. Currently there is DirectShow plugin for Windows and CoreAudio plugin for Mac. Plugins for different audio formats will be added in the future. For more details, see the documentation of the new IAudioFormat, IAudioFile and IAudioPluginInfo interfaces.

 

Fixes 

  • 1128: BlockDevice sample sets wrong file size when files are bigger than 4GB. The problem is in the sample code.

 

 

Version 2.22 

 

New Features 

  • Added DVD-RAM support.

 

Fixes 

  • 1137: RAW CD burning produces discs with unreadable second session. This happens only when ICDSession raw points are not set.
  • 1062: IDataDisc::WriteToDisc leaks memory.
  • 970: Problem with CD-Text on Optiarc AD-7200A
  • 927: ECdTextGenreCode - CDTG_SPOKEN_WORD has wrong value and CDTG_SOUNDTRACK is missing.
  • 925: ECdTextGenreCode - CDTG_RYTHMANDBLUES was renamed to CDTG_RHYTHM_AND_BLUES

 

 

Version 2.21 

 

New Features 

  • Windows: Added native wchar_t configurations for DLL and static libraries. This allows compilation of code that uses wchar_t as a native type (not as unsigned short) on Windows.

 

Fixes 

  • 696: IMediaInfo::GetDvdCssCppm returns true, regardless of whether a disc is CSS-protected or not. This happens on most TSSTcorp and some PIONEER devices.

 

 

Version 2.20 

 

Visual Studio 2003/Visual C++ 7.1 Notes 

 

Static linking is no longer supported for Visual C++ 7.1 projects. However, you can still use the PrimoBurner dynamic link libraries (DLLs). 

 

New Features 

 

  • 997: Added IUdfExtent and IUdfExtentList interfaces. The new interfaces allow multiple extents to be specified for UDF files.
  • 996: Windows: Added static libraries for Visual C++ 2008

 

Fixes 

  • 994: IDataDisc::WriteImageToDisc sends DATACD_STATUS_INITIALIZING twice.
  • 990: IDataDisc::LoadFromDisc leaks memory. In some cases the buffer used for reading was not properly freed.

 

Deprecated Classes 

 

The following classes and enumerations have been deprecated and will be removed from the next version PrimoBurner: 

 

hpCDE - replaced by the Library class. 

IBDVersionEnumeratorRef - replaced by the IBDVersionListRef class. 

ICDTrackMode - replaced by the ICDMode class. 

IDeviceEnumerator/IDeviceCollection - replaced by the IDeviceEnum class. 

ISpeedEnumerator/ISpeedCollection - replaced by the ISpeedEnum class. 

ISpeedDescriptor - replaced by the ISpeedDescRef class. 

EDeviceEnumeratorError/EDeviceCollectionError - replaced by the EDeviceEnumError enum. 

 

Deprecated Methods 

 

The following methods have been deprecated and will be removed from the next version PrimoBurner: 

 

ICDSession 

 

AppendTrack - Please use the GetTracksRef and the ICDTrackListRef::Add methods. 

RemoveTrack - Please use the GetTracksRef and the ICDTrackListRef::RemoveAt 

GetTrack - Please use the GetTracksRef and the ICDTrackListRef::GetItem methods. 

GetTracksCount - Please use the GetTracksRef and the ICDTrackListRef::GetCount methods. 

RemoveAllTracks - Please use the GetTracksRef and the ICDTrackListRef::Clear methods. 

 

ICDTrack 

 

SetTrackStart - Please use the SetStart method. 

GetTrackStart - Please use the GetStart method. 

SetTrackEnd - Please use the SetEnd method. 

GetTrackEnd - Please use the GetEnd method. 

GetTrackLength - Please use the GetLength method. 

GetTotalTrackLength - Please use the GetTotalLength method. 

 

AppendIndex - Please use the GetIndexesRef and the ICDIndexListRef::Add methods. 

RemoveIndex - Please use the GetIndexesRef and the ICDIndexListRef::Remove methods. 

GetIndex - Please use the GetIndexesRef and the ICDIndexListRef::GetItem methods. 

SetIndex - Please use the GetIndexesRef and the ICDIndexListRef::SetItem methods. 

GetIndexCount - Please use the GetIndexesRef and the ICDIndexListRef::GetCount methods. 

RemoveAllIndices - Please use the GetIndexesRef and the ICDIndexListRef::Clear methods. 

 

AppendMode - Please use the GetModesRef and the ICDModeListRef::Add methods. 

RemoveMode - Please use the GetModesRef and the ICDModeListRef::Remove methods. 

GetMode - Please use the GetModesRef and the ICDModeListRef::GetItem methods. 

SetMode - Please use the GetModesRef and the ICDModeListRef::SetItem methods. 

GetModeCount - Please use the GetModesRef and the ICDModeListRef::GetCount methods. 

RemoveAllModes - Please use the GetModesRef and the ICDModeListRef::Clear methods. 

 

IDataFile 

 

AddItem - Please use the GetChildrenRef and the IDataFileListRef::Add methods. 

RemoveItem - Please use the GetChildrenRef and the IDataFileListRef::RemoveAt methods. 

GetItem - Please use the GetChildrenRef and the IDataFileListRef::GetItem methods. 

GetItemIndex - Please use the GetChildrenRef and the IDataFileListRef::GetIndexOf methods. 

SetItem - Please use the GetChildrenRef and the IDataFileListRef::SetItem methods. 

GetCount - Please use the GetChildrenRef and the IDataFileListRef::GetCount methods. 

 

IDevice 

 

WriteClearBuffer - Please use the ClearOutputBuffer method. 

WriteLockBuffer - Please use the LockOutputBuffer method. 

WriteUnlockBuffer - Please use the UnlockOutputBuffer method. 

EnableMediaChangeNotification - Please use the EnableMCN and DisableMCN methods. 

GetSupportedWriteSpeeds - Please use the GetWriteSpeeds method. 

 

ISpeedEnum(was ISpeedCollection/ISpeedEnumerator) 

 

GetItem - Please use the GetItemRef method instead. 

 

Library(was hpCDE) 

 

CreateCDTrackMode: Please use the CreateCDMode method. 

 

 

Version 2.10 

 

New Features 

 

  • 612: IDataDisc::WriteImageToDisc and IDataDisc::WriteImageToDiscEx will write Mode2 Form1 sectors when IDataDisc::SetCdRomXA is set to TRUE. This is valid for CD media only.

 

 

Version 2.09 

 

New Features 

  • 675: UDF file access permissions should be set to READ/EXECUTE by default.
  • 611: Added IUdfFilePropsRef interfaces and IDataFile::GetUdfFilePropsRef method. These new interfaces will allow setting of various UDF file properties. For now you can set only the file and directory access permissions.

 

Fixes 

  • 677: Mac OS: DataDisc could not read files form read-only volumes (e.g. Windows partition on dual boot Intel Macs).
  • 676: Mac OS: DVDBurner.qt4 sample crashes.
  • 674: DataDisc sends the status "'Initializing" twice when burning ISO image.

 

 

Version 2.08 

 

New Features 

  • 627: Added IDevice::GetDVDFeatures method. The new method gets the DVD read/write capabilities of the device. For more information please see the IDVDFeatures documentation.
  • 590: Added IDevice::GetBDFeatures method. The new method gets the Blu-ray Disc read/write capabilities of the device. The following classes were also added: IBDFeatures, IBDVersionEnumerator and IBDVersion. For more information please see the the IBDFeatures documentation.

 

Fixes 

  • 625: Burning produces unreadable discs on some devices when DVD+RW media is used.
  • 542: Free space is not reported correctly for CD-R and CD-RW media.
  • 539: Partially formatted DVD+RW is reported as blank.

 

 

Version 2.07 

 

New Features 

  • Added IDevice::LockOutputBufferEx method. This method is similar to IDevice::LockOutputBuffer but additionally returns the current block size.

 

Fixes 

  • As of this release support for HFS has been discontinued.
  • As of this release support for (S)VCD has been discontinued.
  • All deprecated functions have been removed from the API. If you used such methods you will have to modify your code to use the corresponding functions in the new API.
  • IDataFile::GetItem and IDataFile::Find method no longer return a copy of IDataFile object. To get a true copy of the returned object call the Clone method on the returned object.
  • The IDataFile::AddItem method does not copy the IDataFile object passed in the parameter any more. Instead it uses the supplied pointer directly and increments an internal reference counter to keep track of the instance. This may affect existing logic which counted on DataFile copying all data into a new object.

 

 

Version 2.06 

 

Fixes 

  • ISSUE2176: Media not ejected if a DVD+RW background format is pending. This has been observed for MATSHITA drives but some other drives may be affected as well.
  • ISSUE2164: After interrupting a burning process, cannot burn DVD anymore without manually ejecting and inserting again the DVD.

 

 

Version 2.05 

 

Fixes 

  • ISSUE2158: IDevice returns DISCDEVICE_INVALID_FORMAT_TYPE after the second fragment (session) on LG devices when using DVD-RW in Restricted Overwrite mode.

 

 

Version 2.04 

 

New Features 

  • UDF filename encoding and allocation descriptors control via the new IUdfVolumeSettings interface.

 

Fixes 

  • ISSUE2079: _non_rtti_object exception in IDataDisc::SetImageLayout11(). This affects only the Visual C++ 2003 build.
  • ISSUE2078: Mac OS X: Device enumeration does not work on Japanese Mac OS X.
  • ISSUE2051: Long filenames are cut to 94 characters(UDF) / 96 characters(Joliet).
  • ISSUE2050: IDataDisc::LoadFromFile fails with DATADISC_INVALID_STRUCTURE when reading certain Joliet images.

 

 

Version 2.03 

 

Fixes 

  • ISSUE1981: IDataDisc::CreateImageFile causes memory exception when working with large number of files (> 10000).
  • ISSUE2021: DataBurner, DataBurnerEx and PacketBurnerEx samples: When trying to add a source folder, the application comes back with the message "Please select a valid path.".

 

 

Version 2.02 

 

New Features 

  • Blu-ray Disc burning including BD-R 2x and BD-RE 25GB 2x, and BD-R DL 2x and BD-RE DL 2x 50GB.
  • Fast device enumeration.
  • UTF-8 and UTF-16 libraries.
  • PrimoBurner now supports Mac OS X 10.3 and later.

 

Fixes 

  • ISSUE1934: Unreadable characters resulting from IDataDisc::LoadFromDisc method when image on disc is ISO9660:1999.

 

 

Version 1.99 

 

New Features 

  • Added IDevice::GetReadPossible method. It allows you to detect whether the device reads CD-ROM, CD-R and CD-RW discs. Apparently some of the new Blu-ray burners do not read CDs which required the addition of this method.
  • Modified IDevice19::GetSupportedWriteSpeeds to return the maximum write speed instead of empty collection when devices do not report any write speed descriptors.

 

Fixes 

  • ISSUE1489: DVD-RW media detected as not blank on some NEC drives. The reason is the device reports more free space than the disc capacity.
  • ISSUE1490: IBlockDevice does not finalize properly DVD-RW formatted for Restricted Overwrite. That may cause DVD-RW to be unreadable by some DVD-ROM devices.

 

 

Version 1.98 

 

New Features 

  • New IScsiInterface class that can be used to send SCSI command description blocks directly to a device. For more details see IDevice19::GetScsiInterface method.
  • Enhanced read and write speed control. There is a new method of IDevice19 called GetSupportedWriteSpeeds. It returns a collection of speed descriptors for all write speeds supported by a device.

 

Fixes 

  • ISSUE1337: Unhandled exception on Windows Vista BETA2 CTP Builds 5270 and 5308.

 

 

Version 1.96 

 

New Features 

  • Added two new property-methods to the IDevice19 interface to allow getting the format and erase progress without implementing IDeviceCallback13. The new methods are Get/SetEraseProgress and Get/SetFormatProgress.

 

Fixes 

  • BUG: File time of existing folders changes to the current date when deleting folders from an existing CD/DVD layout.
  • BUG: File time of the special "." and ".." files is not set to the date of the corresponding folders from the disc layout.
  • BUG: When burning DVD Video folders and if padding is required between some file the engine attempts to burn the padding sectors twice. This results in intermittent errors when burning DVD video on DVD-RW and DVD-R in Disc-At-Once mode.

 

Fixes 

  • BUG: Filetime not preserved when burning data layouts loaded from CD or DVD.
  • BUG: Application hangs during DVD session finalization on Samsung and LG burners.

 

 

Version 1.94 

 

Fixes 

  • BUG: DVD writing speed defaults to 4x. Affected devices were HP, NEC and Sony DVD+RW/-RW burners.
  • BUG: IDevice reports the burning has completed in the middle of session closing or while writing disc lead out. This affects HP burners when using CD-R/RW media. It does not happen with DVD media.

 

 

Version 1.93 

 

New Features 

  • Improved power calibration logic for CD-R/RW. Optimum Power Calibration (OPC) is now performed, only when a device reports that it needs OPC. Otherwise OPC step is skipped. That leads to improved burning start (10~20 sec faster). It should lead to longer life of CD-RWs too.

 

Fixes 

  • BUG: DataBurnerEx sample does not set the file time when creating the image file structure. That was causing problems with some programs like some DICOM viewers (more specifically ezDicom.exe) that rely on the file having valid date time stamps.

 

 

Version 1.92 

 

New Features 

  • Support for Unicode projects.
  • Enhanced multi-threading.

 

Fixes 

 

The 64-Bit installer required Microsoft .Net Framework 2.0 mixed dependencies between .NET and C++ editions. This is now fixed and the installer for the C++ edition does not require .net framework 2.0 anymore. 

 

 

Version 1.91 

 

New Features 

 

  • Added a new method to the IDevice interface for enabling/disabling media change notifications.

 

Fixes 

  • There was a problem with the reference counting in IEngine implementation when used in multiple threads. A bug has been introduced with the 1.7x releases and apparently has been flying under the radar since then. It is now fixed.

 

 

Version 1.81 

 

New Features 

  • Added ability to set volume creation time for data images. See the SetVolumeCreationTime and GetVolumeCreationTime methods of the IDataDisc18 interface. This feature works for Joliet, ISO and Joliet-ISO images.
  • Improved loading of third party UDF images both from image file and from disc.
  • Added the SetLicenseInfo method to the IEngine interface. The method can be used to set customer license information.
  • Burning on DVD+RW allows physical overwriting of files already on the disc. This behavior can be controlled with the new SetDataOverwrite method of the IDataDisc interface. This feature is supported only on DVD+RW currently. Future releases will include support also for Restricted Overwrite DVD-RW.
  • Added the WriteUnlockBufferEx method to the IDevice interface. This new method allows specifying the disc address to which the data blocks in the buffer should be written. This method must be used with caution and requires good understanding of the DVD physical format and specifications.

 

Fixes 

  • IDataDisc::Dismount functionality got broken in 1.80. Now it is fixed.

 

 

Version 1.80 

 

New Features 

  • Added 64-Bit sample projects (x64 architectures only) and binaries. The 64-Bit libraries were compiled with Visual Studio 2005 64-Bit. 64-Bit binaries for Visual Studio.NET 2003 and Visual Studio 6.0 will be available in one of the releases following 1.80.
  • Added Visual Studio 2005 32-Bit sample projects.
  • Added IMG_TYPE_UNKNOWN = 0x0000 to EImageType enumeration.

 

Fixes 

  • Updated the DataBurnerEx sample to handle also DVD media.
  • 32-Bit binaries will now work on 64-Bit platform as well.