Hello, if I understand you and Julien correctly the best aproach would be: write a wrapper PVideoOutputDevice_ekiga that registers with OPAL (in GMManager::GMManager()) and may switch between multiple PVideoOutputDevices dynamically? (right now that would be GDK/SDL and XV)
However this requires a change of the PVideoOutputDevice interface specifications if I am not mistaken, we need some way to signal back to the wraper device that something has gone wrong and we have to select the next-priority device. This could be e.g. - a init function that returns some value - let the setframedata function return some information - both Please let me know if I understood correctly and my conclusion is correct. Matthias --- Damien Sandras <[EMAIL PROTECTED]> schrieb: > Le mardi 12 septembre 2006 à 21:35 +0200, Matthias Schneider a écrit : > > Hello, > > > > > > My question now is where and how could I possibly implement a fallback > > > > in case XV is not > > > > available? Can I register a PVideoOutputDevice_GDK from inside the > > > > PVideoOutputDevice_XV > > > class? Or > > > > where could I start to implement something like that? > > > > > > > > > > I think that unfortunately you not switch from one PVideoOutputDevice to > > > another once it is open. Doing so would require changes in OPAL. > > > > > > Perhaps Craig can comment on this? > > > > > > So I see two solutions : > > > - Modify OPAL so that you can change from one PVideoOutputDevice to > > > another during a call > > > - Create a new PVideoOutputDevice_Ekiga class from the current GDK one > > > that is able to draw using xv and fallback to SDL or GDK if it is not > > > possible. > > > > > > > > Perhaps there is a third option: > > - instanciate a PVideoOutputDevice_GDK from inside PVideoOutputDevice_XV, > > convert the frame on > > receipt from YUV420P to RGB in PVideoOutputDevice_XV and send them to the > PVideoOutputDevice_GDK > > instance? Is that possible? I would like to keep the XV and GDK output code > > separated... > Perhaps > > it also makes sense to move some of the outut code in main.cpp to > > videooutput_gdk.cpp? > > What I would do is the following : > - A generic class unable to display > - A few other classes, to handle the display > > > -- > _ Damien Sandras > (o- > //\ Ekiga Softphone: http://www.ekiga.org/ > v_/_ FOSDEM 2006 : http://www.fosdem.org/ > SIP Phone : sip:[EMAIL PROTECTED] > sip:[EMAIL PROTECTED] > > _______________________________________________ > Ekiga-devel-list mailing list > Ekiga-devel-list@gnome.org > http://mail.gnome.org/mailman/listinfo/ekiga-devel-list > ___________________________________________________________ Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: http://mail.yahoo.de _______________________________________________ Ekiga-devel-list mailing list Ekiga-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/ekiga-devel-list