[linux-dvb] [HVR1300] issue with VLC

Frederic CAND frederic.cand at anevia.com
Mon May 26 11:00:43 CEST 2008


hermann pitton a écrit :
> Hi Frederic,
> 
> Am Freitag, den 23.05.2008, 17:06 +0200 schrieb Frederic CAND:
>> I post again cause I did not get any reply at my late mail : anybody 
>> encountering picture / sound issues with VLC after some time running 
>> (let's say half an hour) reading the MPEG PS output ?
>> I tried many different v4l-dvb tarballs, including latest repository, 
>> but I could not make it work more that 30 minutes (or 20, it depends).
>> Stopping VLC and restarting it "solves" this issue but I'm looking for 
>> someone who could confirm this behaviour, and then maybe fix this.
>> My VLC works fine , btw , with other MPEG PS or TS live streaming.
>>
>> Cheers.
> 
> can't tell much on it, but it might be related to this recently heard
> from Dean and Mauro.
> 

Hermann,
I've read your answer and quote, but my issue is happening when reading 
the PS from /dev/video1 with VLC. VLC does not send any ioctl to 
/dev/video0 (my HVR 1300). I do it myself.
Let me copy/paste my code, maybe I'm missing something (which would make 
VLC go crazy after 30 minutes ... !?!)

/* open devices */
fd1 = open("/dev/video0", 0_RDWR);
fd2 = open("/dev/video1", 0_RDWR);

/* prepare input/format */
int i = 1;
int j = V4L2_STD_SECAM;
ioctl(fd1, VIDIOC_S_INPUT, &i);
ioctl(fd1, VIDIOC_S_STD, &j);
struct v4l2_ext_controls mc;
struct v4l2_ext_control ctrls[32];

/* mpeg settings */
mc.ctrl_class = V4L2_CTRL_CLASS_MPEG;
mc.controls = ctrls;
i = 0;
mc.ctrl_class = V4L2_CTRL_CLASS_MPEG;
ctrls[i].id = V4L2_CID_MPEG_VIDEO_BITRATE_MODE;
ctrls[i++].value = V4L2_MPEG_VIDEO_BITRATE_MODE_CBR;
ctrls[i].id = V4L2_CID_MPEG_AUDIO_ENCODING;
ctrls[i++].value = V4L2_MPEG_AUDIO_ENCODING_LAYER_2;
ctrls[i].id = V4L2_CID_MPEG_AUDIO_L2_BITRATE;
ctrls[i++].value = V4L2_MPEG_AUDIO_L2_BITRATE_256K;
ctrls[i].id = V4L2_CID_MPEG_VIDEO_BITRATE;
ctrls[i++].value = 4096 * 1000;
ctrls[i].id = V4L2_CID_MPEG_VIDEO_BITRATE_PEAK;
ctrls[i++].value = 4096 * 1000;
ctrls[i].id = V4L2_CID_MPEG_VIDEO_ASPECT;
ctrls[i++].value = V4L2_MPEG_VIDEO_ASPECT_4x3;
mc.count = i;
ioctl(fd2, VIDIOC_S_EXT_CTRLS, &mc);


of course I tried to remove different mpeg settings, but ... it's not 
chaning anything
I tried old v4l-dvb snaphots, v4l included within kernel 2.6.22.19 but 
with no success ... 2.6.25.4 v4l drivers do not provide any MPEG PS at 
all, that is a read on /dev/video1 timeouts
status is it's working for around 30 minutes then VLC prints error 
messages, sound / image become ugly and the only solution is to stop / 
restart the read of the MPEG PS ...
anyone having the same behavior when reading PS with VLC for more than 
thirty minutes ?
-- 
CAND Frederic
Product Manager
ANEVIA



More information about the linux-dvb mailing list