Re: DVB nGene CI : TS Discontinuities issues

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

 



On 07/05/11 23:34, Ralph Metzler wrote:
> Before blaming packet loss on the CI data path also please make
> certain that you have no buffer overflows in the input part of 
> the sec device.
> In the ngene driver you can e.g. add a printk in tsin_exchange():
>
> if (dvb_ringbuffer_free(&dev->tsin_rbuf) > len) {
> ...
> } else
>     printk ("buffer overflow !!!!\n");

Ralph,

void *tsin_exchange(void *priv, void *buf, u32 len, u32 clock, u32 flags)
{
    struct ngene_channel *chan = priv;
    struct ngene *dev = chan->dev;


    if (flags & DF_SWAP32)
        swap_buffer(buf, len);
    if (dev->ci.en && chan->number == 2) {
        if (dvb_ringbuffer_free(&dev->tsin_rbuf) > len) {
            dvb_ringbuffer_write(&dev->tsin_rbuf, buf, len);
            wake_up_interruptible(&dev->tsin_rbuf.queue);
        } else
            printk (KERN_WARNING "ngene transport interface:
tsin_exchange: buffer overflow !!!!\n");

        return 0;
    }
    if (chan->users > 0) {
        dvb_dmx_swfilter(&chan->demux, buf, len);
    }
    return NULL;
}



just prints the buffer overflow warning just after the module is loaded,
no other action made.
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux