Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[vdr] Re: [PATCH] (DVB-T) statmux fix vbr tagging for pic header
Gregor Lawatscheck wrote:
> >From my limited point of view, I think it would be better to set
> >only the vbv delay without touching the rest:
> >
> > p[i + 5] |= 0x07;
> > p[i + 6] |= 0xFF;
> > p[i + 7] |= 0xF8;
>
> >IMO we should not modify the data during recording.
> >We should fix it during replay. It's a firmware bug and it should be
> >fixed in the firmware. If this is not possible it should be fixed in
> >the driver.
>
> I completely agree. I've submitted it as a patch but wouldn't like to
> see it applied to the sourcetree just yet. It was intended for
> testing. As you say it should be fixed in the firmware, if not there
> then in the driver. Only as a last resort by some sort of special
> setting in channels.conf should vdr have to deal with it.
Ok, this is an experimental driver patch to fix the problem:
--- av7110.c.org Sat May 17 05:12:30 2003
+++ av7110.c Sat May 17 05:19:39 2003
@@ -1116,6 +1116,8 @@ pes_play(void *dest, ring_buffer_t *buf,
int len, split=0;
u32 sync;
u16 blen;
+ int i, ftype;
+ char *p;
dprintk ("function : %s\n", __FUNCTION__);
if (!dlen) {
@@ -1165,6 +1167,20 @@ pes_play(void *dest, ring_buffer_t *buf,
dprintk ("function: %s pread=%08x pwrite=%08x\n", __FUNCTION__,
buf->pread, buf->pwrite);
+
+ p = dest;
+ for (i = 0; i < blen-8; i++) {
+ if (p[i] == 0 && p[i+1] == 0 && p[i+2] == 1 && p[i+3] == 0) {
+ ftype = (p[i+5] >> 3) & 0x07;
+ if (ftype) {
+ //printk ("pic %d at %d/%d\n", ftype, i, blen);
+ p[i+5] |= 0x07;
+ p[i+6] |= 0xff;
+ p[i+7] |= 0xf8;
+ }
+ }
+ }
+
wake_up(&buf->queue);
return blen;
}
Replay and transfer mode should work now. Please test!
If it works I'll ask the firmware people to check whether it can be
fixed in the firmware.
> >This might also help with old RTL recordings that cannot be played
> > with the current firmware. I haven't had the time yet to look into
> > this issue but I'll try to do this next weekend.
Indeed, it also fixes the RTL bug. Great job, Gregor!
Oliver
--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe vdr" as subject.
Home |
Main Index |
Thread Index