tuffy / libdvd-audio

A C library for decoding the audio contents of DVD-Audio discs
GNU General Public License v2.0
13 stars 2 forks source link

Error in the extraction #1

Open remenor opened 8 years ago

remenor commented 8 years ago

An error occurs when trying to extract the 2nd title in this DVD-A (Alan Parsons: I Robot)

 Title  Track  Length  PTS Length  First Sector  Last Sector
    1      1    6:07    33075000             0       126878
    1      2    3:19    17955000        126879       198916
    1      3    4:06    22140000        198917       285843
    1      4    3:53    20970000        285844       369036
    1      5    4:26    23980649        369037       463065

    2      1    5:25    29250000        463066       577445
    2      2    3:31    18990000        577446       651499
    2      3    3:51    20790000        651500       733477
    2      4    3:05    16650000        733478       796768
    2      5    3:33    19253324        796769       871731

Title 1 is extracted smoothly. Passing the title 2, this error occurs:

* Extracting MLP track  2 channels  192000 Hz  24 bps
* Wrote: "./track-02-01.wav"
* Extracting MLP track  2 channels  192000 Hz  24 bps
parity mismatch
dvda2wav: src/mlp.c:476: decode_mlp_frame: Assertion `0' failed.
fish: Job 1, 'dvda2wav -A /media/060830_1400/AUDIO_TS --title 2' terminated by signal SIGABRT (Abort)

The error occurs whether the title 2 is selected, like ripping the entire DVD-A is selected. Sorry for my english

tuffy commented 8 years ago

Once my own copy of that disc arrives within a few days, I will attempt to reproduce your error on my end.

remenor commented 8 years ago

Thank you! I just hope it's not an unrecoverable error in the ISO image ... But I fear that it is possible. vgtmpeg output:

encoder         : Lavf56.25.101
    Stream #0:0: Audio: flac, 192000 Hz, stereo, s32 (24 bit), 128 kb/s
    Metadata:
      encoder         : Lavc56.26.100 flac
Stream mapping:
  Stream #0:0 -> #0:0 (mlp (native) -> flac (native))

Press [q] to stop, [?] for help

[mlp @ 0xb846100] Substream 0 parity check failed.ts/s    
[mlp @ 0xb846100] Substream 0 checksum failed.
[mlp @ 0xb846100] Lossless check failed - expected ab, calculated bc.
[mlp @ 0xb846100] End of stream indicated.415.6kbits/s    
size=  655142kB time=00:16:31.17 bitrate=5414.7kbits/s    
video:0kB audio:655134kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.001235%

I'll be awaiting your results

tuffy commented 8 years ago

Unfortunately, I wasn't able to reproduce your error with my copy of that disc; all 10 tracks across both titles ripped correctly both using dvda2wav and the Windows-based DVDAExplorer program. Perhaps cleaning your disc or trying a different optical drive might be of some use.

$ dvda2wav -A /media/cdrom/AUDIO_TS/ -c /dev/sr1 -T 1 -d tracks3/
* Extracting MLP track  2 channels  192000 Hz  24 bps
* Wrote: "tracks3/track-01-01.wav"
* Extracting MLP track  2 channels  192000 Hz  24 bps
* Wrote: "tracks3/track-01-02.wav"
* Extracting MLP track  2 channels  192000 Hz  24 bps
* Wrote: "tracks3/track-01-03.wav"
* Extracting MLP track  2 channels  192000 Hz  24 bps
* Wrote: "tracks3/track-01-04.wav"
* Extracting MLP track  2 channels  192000 Hz  24 bps
* Wrote: "tracks3/track-01-05.wav"
$ dvda2wav -A /media/cdrom/AUDIO_TS/ -c /dev/sr1 -T 2 -d tracks3/
* Extracting MLP track  2 channels  192000 Hz  24 bps
* Wrote: "tracks3/track-02-01.wav"
* Extracting MLP track  2 channels  192000 Hz  24 bps
* Wrote: "tracks3/track-02-02.wav"
* Extracting MLP track  2 channels  192000 Hz  24 bps
* Wrote: "tracks3/track-02-03.wav"
* Extracting MLP track  2 channels  192000 Hz  24 bps
* Wrote: "tracks3/track-02-04.wav"
* Extracting MLP track  2 channels  192000 Hz  24 bps
* Wrote: "tracks3/track-02-05.wav"
remenor commented 8 years ago

I do understand. The downside is that I only have the ISO image at this time... DVDAExplorer - and ffmpeg- effectively with no problems. But as reported in the log:

[32] ### MLP Stream (channels: 2, sample_rate: 192000, bits_per_sample: 24) ###
[16] Substream 0 parity check failed.
[16] Substream 0 checksum failed.
[24] Lossless check failed - expected ab, calculated bc.
[32] ### MLP Stream (channels: 2, sample_rate: 192000, bits_per_sample: 24) ###

dvda2wav may behave the same way? That is, allowing the ripping disks even with parity mismatch -reporting when they occur-?

jeremywh7 commented 3 years ago

Fwiw, I was getting a parity mismatch error and core dump at first (on a DVD-A disc, not ISO):

[t1700@T1700 tmp]$ dvda2wav -A /run/media/t1700/SINATRASANDS/AUDIO_TS/
* Extracting MLP track  6 channels  96000 Hz  24 bps
parity mismatch
dvda2wav: src/mlp.c:476: decode_mlp_frame: Assertion `0' failed.
Aborted (core dumped)

But adding the -c device option fixed it: [t1700@T1700 tmp]$ dvda2wav -c /dev/sr0 -T 1 -A /run/media/t1700/SINATRASANDS/AUDIO_TS

* Extracting MLP track  6 channels  96000 Hz  24 bps
* Wrote: "./track-01-01.wav"
[...]

I see this repo hasn't had an update in a long time, but if there any future improvements, I'd suggest a message for when a file name already exists (and maybe suggest an auto-appended name?) instead of:

*** Error: unable to open "./track-01-01.wav" for writing

Which initially took me a second to realize the issue, since the (zero-length) file is created when getting the parity mismatch. :-P