[vdr] Memory access error while attach player?

Patrick Fischer patrick_fischer at gmx.de
Wed Dec 14 17:12:58 CET 2005


so I need to place the call at MainMenuAction or something similar?
Thats not what I want. I start a Thread in Start() which is listen to a 
xmlrpc connection.
If i get an "start Replay X" event from a xmlrpc Server, then I want to 
start a replay.
In this case I have to put my sockets to a thread but from a thread I 
can't start a replay :-(
Is the only way to use the svdrp? I can implement an own command which 
take my params, but this is a winded way, isn't it?

Patrick



Klaus Schmidinger wrote:

> Patrick Fischer wrote:
>
>> I have tested lots of thinks but I didn't find a solution.
>>
>> Maybe this is the reason why klaus didn't put the svdrp in an own 
>> thread?
>>
>> I don't understand the way to lock a device!
>
>
> You don't "lock a device".
>
> Starting a replay is supposed to take place from the
> foreground thread.
>
> Klaus
>
>> Is there an way to resolve my problem?
>> I don't want to call the svdrp "PLAY", thats an very long winded way.
>>
>> Patrick
>>
>>
>> Patrick Fischer schrieb:
>>
>>> Hello
>>> If I want to attach a Player to a device (for play a VDR Recording) 
>>> but I have some Thread problems.
>>> I have looked at cSVDRP::CmdPLAY.
>>> But If I copy the Code to my Plugin, sometimes I get a Memory access 
>>> error.
>>> Maybe I need to lock the the device?
>>> The Problem is that the cControl::Attach(void) starts befor the 
>>> cDevice::AttachPlayer(myPlayer) is done.
>>> But I don't know how to lock the device.
>>>
>>> This is a fragment of the cSVDRP::CmdPLAY Code:
>>>
>>>  cRecording *recording = Recordings.Get(3);
>>>  if (recording) {
>>>    .......
>>>      cReplayControl::SetRecording(NULL, NULL);
>>>      cControl::Shutdown();
>>>    .......
>>>      cReplayControl::SetRecording(recording->FileName(), 
>>> recording->Title());
>>>      cControl::Launch(new cReplayControl);
>>>       //if I place a output here it will be shown
>>>      cControl::Attach();
>>>       //if I place a output here it will not be shown if it freezes
>>>    ........
>>>  }
>>>
>>> How to create a lock for this?
>>>
>>> I have created some more output which can be shown here:
>>> http://nopaste.debianforum.de/1801
>>>
>>> On stdout was shown:
>>> .....
>>> SetPlayMode: 0
>>> SetAudioChannelDevice: 0
>>> SetPlayMode: 1
>>> Speicherzugriffsfehler
>>
>
> _______________________________________________
> vdr mailing list
> vdr at linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>
>




More information about the vdr mailing list