Mailing List archive

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

[vdr] Re: Still problems with streamdev-0.3.1



On Friday 27 February 2004 19:50, Sebastian Frei wrote:
> Hi,
>
> even with the new version of the streamdev plugin, my problem persists:
>
> After a watching a while tv on my streamdev-client (today 1h), the server
> plugin stops delivering a stream.
> I know this because rebooting the client gives me "channel not available".
> I have to restart the server.
> Trying to get a stream with the VDR streamingcontrol tool doesn't work too.
>
> The server is a dual card system (FF1.6, Nova) and the client has a dxr3.
>
> When the error on the client occured, no one was using the server. This
> error is very annoying, especially
> when it occurs at 20:16 and I can't interrupt the server.
>
> Looking at the log files shows that at a certain point the Pid streamer
> thread just doesn't want to start anymore.

Hi,

In streamdev/server/connection.c I changed the call:

cDevice *cServerConnection::GetDevice( .. ) 

to be just:

	return cDevice::GetDevice( Channel, 
		Priority > -1 ? Priority + 1 : Priority , NULL );


The Priority+1 thing allows me change transponders with channel up/down 
buttons, and the server will still get the higher priorities for recordings. 
It also fixed the case you described when the client restarts the server does 
not allow it to change transponders at all even though nothing needs the 
card. (i.e. no recordings, server is suspended, no other clients).

However my server is headless, so in your case you should keep the original 
streamdev cServerConnection::GetDevice because it takes into account the 
suspend state of the server.

I haven't tested this but I'd guess you'd change (in this function):

        if (!device->ProvidesChannel(Channel, Priority))
            continue;

to:

        if (!device->ProvidesChannel(Channel, 
		Priority > -1 ? Priority + 1 : Priority))
            continue;

The -1 priority is when the server itself changes channels (except for 
timers), in my case I want the client to be authoritive. A simple "Priority + 
1" might already do the trick for you.

It works for me :-)

Cheers,
Dennis







-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index