Mailing List archive

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

[linux-dvb] Re: Minor bug in pes_play() (was dvb-kernel: ring buffer clean-up)



Régis Bossut wrote:
> Browsing the diff file shows the lines in pes_play() :
>
>                  if (((sync&~0x1f)==0x000001e0) ||
>                      ((sync&~0x1f)==0x000001c0) ||
>                      (sync==0x000001bd))
>                          break;
>
>
> As there is only 16 video streams available in the MPEG PES header
> (see 13818-1 table 2-19), one should read
> (sync&~0x0f)==0x000001e0) instead of (sync&~0x1f)==0x000001e0)

You are right. This code will accept stream ID
  0x000001Fx (x=0..F)
which is obviously wrong.

> I did not check elsewhere if the same incorrect writing occurs.

Apparently, this bug is present in all driver versions I have seen so 
far. Thank you!

If nobody complains I'll fix it in CVS (both DVB and dvb-kernel).

Oliver


-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index