Re: [DVDnav-discuss] Error in libdvdnav when reading iso images
Oncaphillis wrote in http://lists.mplayerhq.hu/pipermail/dvdnav-discuss/2012-May/001722.html:
I used to create DVD iso images via k3b and played them via VLC. With isos of relatively newly released DVD this stops to work and VLC fails with the message
libdvdnav: demux error! 00 00 00 (should be 0x000001)
Playing directly from /dev/dvd still works
The distro is Fedora16 + k3b == 2.0.2 + libdvdcss == 1.2.11 ( I also tested 1.2.12) + vlc = 1.1.13 + libdvdnav 4.1.4. I also tried the current SVN build
I get the same error when playing with mplayer and I also tried brasero for iso creation.
Since direct play works it seems like brasero/k3b have problems to create a proper iso and the problems sits somewhere in the libs.
The above message can be generated when the ripping program has generously padded regions with unreadable sectors with binary zeros and one of the padded blocks is actually referenced in the ifos. In this case it's not the result of a bug in the libs (assuming you meant libdvdnav or libdvdread) but the result of a limitation in the program that is using them in combination with companies that interpret the relevant standards somewhat liberal. I'm not familiar with k3b or brasero and thus don't know if this is the cause of the issue, but at least it would explain why the real disc works and the copy doesn't. I've never seen the issue with discs that haven't obviously been mastered incorrectly, but I suppose it can also happen if the disc is scratched. In my experience, copies of intentionally incorrectly mastered discs that cause this issue when padding with zeroes, can usually be played correctly with VLC when padding with other blocks from the region that have been read correctly instead. It's not perfect, but can be sufficient to solve the issue. I'm still experimenting with this, though. With some of those copies I can trigger at least four different crashes in libdvdnav 4.2.0's dvdnav_describe_title_chapters(), that aren't triggered when ripping with zero padding which lets VLC rejects the disc right away. Recent VLC versions use this function, but one can work around it by undefining HAVE_DVDNAV_DESCRIBE_TITLE_CHAPTERS. VLC 1.1.3 doesn't seem to use the function yet and thus correctly plays the copies out of the box (I only confirmed the latter). One of these issues has already been fixed after the libdvdnav 4.2.0 release (https://bugs.launchpad.net/ubuntu/+source/libdvdnav/+bug/934471) but as far as I can tell the others still exist, or at least don't seem to be fixed in https://github.com/microe/libdvdnav and I haven't seen them mentioned when crawling the archives either. I attached the patches that seem to prevent these crashes for me. I'd appreciate comments on whether or not the skip conditions are reasonable, especially the one in patch 3. Note that I ran into the issues with copies where I now know that the padding has been done somewhat sloppy. I haven't tested yet if these crashes can be reached by playing the original discs. If not, I suspect that with a fancier padding algorithms the copies might play correctly as well. Fabian
On 07/14/2012 02:46 PM, Fabian Keil wrote:
I attached the patches that seem to prevent these crashes for me. I'd appreciate comments on whether or not the skip conditions are reasonable, especially the one in patch 3.
Thanks for the effort, but vlc seems to behave the same when applying all three patches
Oncaphillis <oncaphillis@snafu.de> wrote:
On 07/14/2012 02:46 PM, Fabian Keil wrote:
I attached the patches that seem to prevent these crashes for me. I'd appreciate comments on whether or not the skip conditions are reasonable, especially the one in patch 3.
Thanks for the effort, but vlc seems to behave the same when applying all three patches
Did you recreate your copies with a different padding strategy that doesn't cause "libdvdnav: demux error! 00 00 00 (should be 0x000001)" messages? Otherwise vlc's behaviour is not expected to be changed by the patches. I believe one way to improve vlc's behaviour without recreating the copies would be to let vlc's dvdnav module handle blocks with unexpected content more gracefully, for example by skipping them instead of rejecting the whole DVD. Letting libdvdnav return the content of a different block nearby behind vlc's back might work as well and could also help other programs. Fabian
I attached the patches that seem to prevent these crashes for me. I'd appreciate comments on whether or not the skip conditions are reasonable, especially the one in patch 3.
At face value the patches look fine. I especially like the first patch. I am putting all three patches into my tree. Feel free to test and report. Thanks E -- Erik Hovland erik@hovland.org http://hovland.org/
On Thursday, 30 August 2012 at 23:35, Erik Hovland wrote:
I attached the patches that seem to prevent these crashes for me. I'd appreciate comments on whether or not the skip conditions are reasonable, especially the one in patch 3.
At face value the patches look fine. I especially like the first patch. I am putting all three patches into my tree. Feel free to test and report.
Applied to SVN. Regards, Dominik -- Fedora http://fedoraproject.org/wiki/User:Rathann RPMFusion http://rpmfusion.org | MPlayer http://mplayerhq.hu "Faith manages." -- Delenn to Lennier in Babylon 5:"Confessions and Lamentations"
participants (4)
-
Dominik 'Rathann' Mierzejewski -
Erik Hovland -
Fabian Keil -
Oncaphillis