Mailing List archive

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

[vdr] RE : Re: Implementing new device into a plugin :




Hi,
Thanks for your answer Klaus but there is something I still don't
understand (you didn't answer my question)

Well here is what I do not understand :

Here are the cDvbDevice::PlayVideo/Audio method :

int cDvbDevice::PlayVideo(const uchar *Data, int Length) 
{ 
  int fd = (playMode == pmAudioOnly || playMode == pmAudioOnlyBlack) ?
fd_audio : fd_video; 
  if (fd >= 0) 
    return write(fd, Data, Length); 
  return -1; 
}

In this function which is designed to play some video stuff I cannot
figure out why there is any reference to fd_audio. Could you explain it
to me ?

void cDvbDevice::PlayAudio(const uchar *Data, int Length)
{
  //XXX actually this function will only be needed to implement
replaying AC3 over the DVB card's S/PDIF
  cDevice::PlayAudio(Data, Length);
}

Why is this method not used to play the current audio track (only to
play AC3 stream)? 

>There will be a few changes in that area before the final version
1.2.0.
>Basically the cDevice will get _one_ function that receives the entire
data
>stream to be replayed, and will parse that stream and send the various
>audio/video/whatever packets to the appropriate functions of the actual
>device (through virtual functions).

So when do you plan to make this new design released to the public ? it
should be easier to create new devices

>I believe I already did that by implementing a plugin interface for
>various things (especially for implementing your very own devices).
>The DVB device support is the main purpose of VDR, so I'll leave this
>in the core code. If your system doesn't have any DVB cards, VDR just
won't
>use them and will rely on your cDevice plugins.

Ok I understand your point even if I don't agree at all.

Thank you 
Philippe




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



Home | Main Index | Thread Index