Incremental DVD writing

Hi, incremental DVD writing is like packet writing for CD’s ?
Because I read the following in the MMC documentations:
“Incremental recording on CD is any recording that requires a linkage sequence in the data stream. Packet, Track-At-Once (TAO), and Session-At-Once (SAO) recording are all incremental. Incremental recording is also used as a track relative term. TAO tracks are recorded uninterrupted, whereas tracks recorded in packets are recorded incrementally. This is reflected in the CONTROL field of mode 1 Q sub-channel.”

So this means that incremental writing refers to TAO, and SAO writing too for DVD’s, no ?


The info you seek might be there.

“This is reflected in the CONTROL field of mode 1 Q sub-channel.”

DVDs don’t have sub-channels so it’s not possible to use that method of determining the recording type as being DAO (sequential) or packet (incremental).

Quotes below are from author of dvd+rw-tools at

“Disk-at-once and Incremental recording strategies are applicabe to DVD-R media and DVD-RW media in Sequential mode.”

“Sometimes DVD+RW/+R recording strategy is referred to as packet writing. I myself am reluctant to call it so (or TAO/SAO/DAO) for the following reason. Despite the fact that DVD-R[W] provides for lossless linking (within a packet/extent only), packets/extents are still denoted with certain linking information which distinguishes it (recording mode in question) from e.g. Disc-at-once. Now the point is that written DVD+RW/+R media, rather its Data Zone, does not contain any linking information and is logically indistinguishable from one written in DVD-R[W] Disc-at-once mode (or DVD-ROM for that matter).”

It’s not a good idea to make comparisons with these 2 very different types of ODs. They each have different physical structures and thus different write methods. Somehow the terms DAO & Packet found their way into discussions about DVD write types but this is misleading.

I don’t know the reason for your question but if you are trying to learn about DVD write methods forget about CDs and start from scratch.


I don’t know the reason for your question but if you are trying to learn about DVD write methods forget about CDs and start from scratch.

I must to learn that because I’m developing an application, and I want to implement a feature (almost is ready) which detects and displays optical device capabilities, so I must to know exactly the differences between writing modes and such things

The SCSI multi-media command (MMC) set has been regularly updated
to include the latest DVD device and disc types. Most of the commands
can be used for both CDs and DVDs. Some are only relevant to DVDs.

Information on these commands is published by the T10 committee & Mt.Fuji Group and can be downloaded in PDFs from their websites.

the latest MultiMedia Command Set (MMC)

the latest INF-8090

If your application is informational only then I would suggest using
Get Configuration to determine the current profile. You can deduce a great deal of information based on that alone. The publications mentioned above describe a lot about each profile. If you call the profile’s related features you get even more detailed information particularly about write methods. Profiles give you read capabilities & info, Features give you write capabilities & info.

By implementing Get Configuration / Profiles and Features you do not need to learn all the technical details of DVDs. You might peruse Andy Polyakov’s code in his growisofs application (link in previous post) to get some idea of how to implement it or maybe even better is Mario Danic’s and Thomas Schmitt’s Libburnia Project at
Download the latest release and look in mmc.c for mmc_get_configuration.

But if you have ambitions to write to DVDs then you would have to learn
much more of the technical details.


Thank you very much the useful informations. My application is not just informational, in fact I implemented the info stuff in the upcoming version (0.2). Beside the GET CONFIGURATION command I used MODE SENSE commands with 0x2A page code (capabilities & mechanical status) and the MODE SENSE command with 0x5 page code (write parameters) combined with the MODE SELECT commands to get even more info by checking various write modes (SAO-R96P, SAO-R96R, RAW-R16 . . .)
The program can execute transfer rate tests, retrieves the IDENTIFY information . . . and some other stuff
But thanks again for your time