[vdr] externalplayer and xineliboutput plugin

Steffen Barszus steffenbpunkt at googlemail.com
Sat Apr 24 15:01:35 CEST 2010


Hi !

I currently try to track down a problem of externalplayer and
xineliboutput. 

The problem is, that if used with xineliboutput plugin and PlayMode
pmNone, one device is not available. With xine this does not happen.
May assumption is that here: 

device.c:
    641   m_PlayMode = PlayMode;
    642 
    643   TrickSpeed(-1);
    644   if (m_PlayMode == pmAudioOnlyBlack) {
    645     TRACE("pmAudioOnlyBlack --> BlankDisplay, NoVideo");
    646     ForEach(m_clients, &cXinelibThread::BlankDisplay);
    647     ForEach(m_clients, &cXinelibThread::SetNoVideo, true);
    648   } else {
    649     if(m_liveMode)
    650       ForEach(m_clients, &cXinelibThread::SetNoVideo,
  m_RadioStream); 651     else
    652       ForEach(m_clients, &cXinelibThread::SetNoVideo,
    653               m_RadioStream && (m_AudioCount<1));
    654     Clear();
    655   }

An action is missing to take care of pmNone, i.e. to stop trying to
receive and decode something.  

This is the Problem:
Apr 22 23:41:05 vdr vdr: [3204] receiver on device 2 thread started
(pid=2952, tid=3204) 
Apr 22 23:41:05 vdr vdr: [3204]
ERROR: /dev/dvb/adapter1/dvr0: Device or resource busy 
Apr 22 23:41:05
vdr vdr: [3204] receiver on device 2 thread ended (pid=2952, tid=3204)

This does not happen if i use xine, or if i shut down vdr-sxfe before i
try to use streamdev oder VNSI plugin. 


My understanding is that the frontend device needs to do the required
action and let vdr know afterwards in order to free the device. 

Would appreciate if someone with more understanding of the internals
could add his opinion here ...

Kind Regards

Steffen 



More information about the vdr mailing list