[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: cdrecod and profile 0x40 (BD-ROM): -atip exits with 255



Giulio Orsero wrote:
On Wed, 12 Nov 2008 21:45:14 +0100, Joerg.Schilling@fokus.fraunhofer.de
(Joerg Schilling) wrote:

Giulio Orsero <giulioo@gmail.com> wrote:


I checked drv_mmc.c and I see it handles >=0x40, then I grepped for "Found
unsupported" and added customized messages to distinguish between drv_mmc.c
and drv_bd.c and I see the error comes from drv_bd.c, not drv_mmc.

== it seems dvr_bd.c does not handle 0x40/0x0040
   if (profile == 0x0043) {
                dp = &cdr_bdre;
        } else if ((profile == 0x0041) || (profile == 0x0042)) {
                dp = &cdr_bdr;
        } else {
                errmsgno(EX_BAD, "Found unsupported 0x%X profile.\n",
profile);
                return ((cdr_t *)0);
        }
===

Coud you confirm that all that is needed is the following?
It seems to work for me but being not a C programmer I cannot really
understand what the code does and see whether there could be side-effects.

Thanks


--- drv_bd.c.orig       2008-11-21 14:36:04.000000000 +0100
+++ drv_bd.c    2008-11-21 14:36:51.000000000 +0100
@@ -308,6 +308,8 @@
                dp = &cdr_bdre;
        } else if ((profile == 0x0041) || (profile == 0x0042)) {
                dp = &cdr_bdr;
+       } else if (profile == 0x0040) {
+               dp = &cdr_bd;
        } else {
                errmsgno(EX_BAD, "Found unsupported 0x%X profile.\n",
profile);
                return ((cdr_t *)0);

This does what you think it does, but if a few more cases come in it would probably be easier to read and maintain by using a switch.

--
Bill Davidsen <davidsen@tmr.com>
 "Woe unto the statesman who makes war without a reason that will still
be valid when the war is over..." Otto von Bismark


Reply to: