Hi, > > The problem is that you have to pull logics from > > the OS drivers into the generic part. > Sure. I'm not completely sure what to do here, although I have inclinations > in some areas as I mentioned before. So this will probably take time.
All normal media recognition needs a kind of pre-test for Current Profile. CD profiles or should then make use of traditional recognition. Same if profile inquiry fails. DVD and BD should be evaluated by READ DISC STRUCTURE and eventually by the existing DVD examination stuff. One will have to assess what of this OS specific DVD handling is of use. Normally our MMC knowledge is more modern than what we can expect in installed OS kernels. Give me a stub where to examine "DVD-ROM" and "BD-ROM". Map all other valid non-CD profiles to the appropriate CDIO_DISC_MODE_*. Invent new ones which for BD profiles. (See doc/glossary for profile list.) > My understanding is that the TOC does follow the existing Red, Yellow, > Green and White Book Standards. It does. But these standards do not care for media sizes above 800 MB. They apply only to CD. DVD is covered by a series of ECMA standards. Among them ECMA-279 (DVD-R), ECMA-337 (DVD+RW), ECMA-349 (DVD+R). But actually the media models of MMC are much more helpful than the physical descriptions in the ECMA specs. MMC made the transition from CD-only by putting all emphasis on the concepts of Logical Track and Logical Block. The concept of Session is still present on DVD-R[W]. There is no Sector or Frames, Seconds, Minutes, Sub-Channels, Lead-Ins, etc. outside the CD model. Some still seem to exist inside the DVD media specifications. But they are hidden to us. The natural inquiry commands for a modern TOC are READ DISC INFORMATION and READ TRACK INFORMATION. But with CD it is also natural to stay with READ TOC/PMA/ATIP. Possibly these TOCs provide more info about non-data tracks. (All DVD and BD tracks are data tracks.) > > Vice versa a libdvdio would have a huge > > intersection of features with libcdio. > I'm okay with that. Really ? I see in libcdio's DVD behavior mainly the need to correct some bugs. The cheapest way would be to declare DVD unsupported. My proposal is rather to add sparsely what is needed to make libcdio handle DVD and BD like data CD-ROM. Regrettably, neither the old CD specs nor the Linux CDROM interface are able to express a DVD TOC. Therefore a fix of DVD TOC would have to happen outside those specs. MMC gives a clear opportunity to do so. Any DVD drive is supposed to comply to MMC-2 or later. Have a nice day :) Thomas
