VDR+DXR3 - stability problems (possible patch)

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

 



Ville Skytt? wrote:
> On Fri, 2005-05-13 at 14:56 +0200, Mikolaj Tutak wrote:
> 
> 
>>But the only solution is to stop VDR (sometimes it requires kill -9) and
>>load it again. Dou you know any solution/workaround for this? Maybe other
>>combination of DXR3 plugin/driver versions?
> 
> 
> http://sf.net/mailarchive/forum.php?thread_id=7212515&forum_id=7173
> 
> Someone reported on em8300-devel that removing pthread_setschedparam()
> calls from both VDR and the DXR3 plugin helped with similar problems in
> his setup.
> 

Removing the pthread_setschedparam() helps to prevent a complete lockup 
in my setup. Unfortunately the soft lockups which require the "kill -9" 
still occur. The patch attached seems to help, but hasn't had much testing.

The patch attached also seems to help the plugin recover more gracefully 
  when it gets some bad data. It still needs some more work because 
sometimes the stream still needs to be manually stopped and restarted to 
resume playback (but at least it does stop instead, rather than locking 
up vdr).

I think the problem that this patch helps address is that the dvbplayer 
thread gets stuck waiting for the flush to finish and the main VDR 
thread cancels it. Unfortunately the thread sometimes holds a lock on 
the dxr3syncbuffer and this stops the video output thread. With the 
patch applied, the flush returns and thread exits before the 3 second 
thread cancel timeout.

	Jon

-------------- next part --------------
A non-text attachment was scrubbed...
Name: dxr3plugin-timeout.patch
Type: text/x-patch
Size: 1934 bytes
Desc: not available
Url : http://www.linuxtv.org/pipermail/vdr/attachments/20050513/13d835dc/dxr3plugin-timeout-0001.bin

[Index of Archives]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Big List of Linux Books]     [Fedora Users]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux