bug-vcdimager
[Top][All Lists]
Advanced

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

Re: [VCDImager Bugs/Devel] problems with vcdimager 0.7.x


From: Herbert Valerio Riedel
Subject: Re: [VCDImager Bugs/Devel] problems with vcdimager 0.7.x
Date: Thu, 16 Aug 2001 00:48:06 +0200 (CEST)

On Thu, 16 Aug 2001, Arnd Bergmann wrote:

> On Wed, 15 Aug 2001 address@hidden wrote:
> I am pretty sure this is a bug. The parse_user_data function
> does not seem to consider the fact that user_data() in the MPEG
> standard can contain any data and not just what may be in
> allowed for VCD. My guess is that either tmpeg inserts some
> user data of its own (e.g. 'encoded with tmpeg1.2a at ...') or
> bbmpeg inserts invalid scan information.

well, for (S)VCDs the concerned user data id has a fixed syntax...

bbmpeg is known to insert correct scan information... I would trust bbmpeg
more (even if its source code looks quite bad) than tmpgenc (of which
the source code is hidden from mankind)...

> The patch below is a quick fix for the problem, but I don't
> have the (S)VCD standard, so I can't tell if it might miss
> scan data now.

for user data with the scan data id,  the length is fixed to 14, it's the
same for VCD2.0 as well btw, any other length may confuse firmwares...

> Hvr probably wants the beginning of the MPEG file to
> give a more complete analysis, the interesting part is
> whatever follows '000001b2'.

that would surely help... :-)

> Arnd <><
>
> --- libvcd/vcd_mpeg.c   2001/08/15 08:18:16     1.1.1.3
> +++ libvcd/vcd_mpeg.c   2001/08/15 22:06:00
> @@ -326,7 +326,11 @@
>            {
>              struct vcd_mpeg_scan_data_t *usdi = (void *) udg;
>              vcd_assert (sizeof (struct vcd_mpeg_scan_data_t) == 14);
> -            vcd_assert (usdi->len == 14);
> +            if (usdi->len != 14)
> +              {
> +                vcd_debug ("invalid scan information (len=%d) found", 
> usdi->len);
> +                return;
> +              }
>              _check_scan_data ("previous_I_offset", &usdi->prev_ofs, state);
>              _check_scan_data ("next_I_offset    ", &usdi->next_ofs, state);
>              _check_scan_data ("backward_I_offset", &usdi->back_ofs, state);
> @@ -342,7 +345,7 @@
>            break;
>
> -        default:
> -          break;
> +        default: /* any unknown user data */
> +          return;
>          }
>
>        pos += udg->len;
>
>
>
>
> _______________________________________________
> Bug-VCDImager mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/bug-vcdimager
>

-- 
Herbert Valerio Riedel       /    Phone: (EUROPE) +43-1-58801-18840
Email: address@hidden       /    Finger address@hidden for GnuPG Public Key
GnuPG Key Fingerprint: 7BB9 2D6C D485 CE64 4748  5F65 4981 E064 883F 4142




reply via email to

[Prev in Thread] Current Thread [Next in Thread]