How to copy a disc during playback?

VLC does unfortunately always try keeping the buffer full.
VLC’s buffering settings are also crippled.

  • No controls after adding to playlist.
  • Only time-specifyable.
  • Unable to start playback unless buffer filled.
  • Always tries to keep buffer full.

However, what are ways to make an image or copy files from a disc during the playback?

Playback must not be interrupted, and the laser lens must also not be raped by jumping between A and B for reading just one sector.

Dvds discs have to be read 16 sectors at a time. The PO error correction can only be done on 16 particular consecutive sectors. Not one sector at a time.

IIRC on some drives depending on how large the cache is, the dvd drive will read several consecutive 16-sector blocks into the cache. For example on current LG drives with a 512k cache (ie. GH24NSD0 or D1, etc …) , the drive will fill up the cache with ten 16-sector blocks.

Depending on which scsi read command is used, it gets the data of a particular sector by either reading the cache or do a “force unit access” to read the data directly from the dvd disc itself. IIRC, the generic read command can be satisfied by either method. The “fua” flag turned on will always read directly from the disc itself. The “streaming” flag will read from the cache.

1 Like

Did not know yet, thanks.
That’s great because of data redundancy.
But I guess that one sector can be read individually if the data integrity is given.

Embarrassingly small.
But nice for €10. At least, HeadacheLife has a great recording quality.

Even if you only read one sector with a generic scsi read command, the drive will still cache all 16 sectors from the PO error correction block which that one sector is a member of.

If the PO error correction fails entirely, then the recourse is either reading the same 16-sector block again or checking whether the requested single sector doesn’t have any errors after the sector scrambling is removed. Recall that each sector has four additional bytes tacked on, which are used to detect any errors in a 2048 bytes sized sector. (Read ecma 267).

1 Like

If you want a personal challenge and happen to have an LG GH24NSD0 or D1 drive, write some code to figure out how to read the sectors from the dvdr drive’s cache and do all the checks for errors (ie. syndromes calculations on the PO and id data, etc …).

1 Like