<div dir="ltr"><div class="gmail_extra">Hey,</div><div class="gmail_extra"><br></div><div class="gmail_extra">thanks for that, looking good. Couple comments below.</div><div class="gmail_extra"><br></div><div class="gmail_extra">

<br><div class="gmail_quote">On Fri, Mar 7, 2014 at 6:24 PM, Mayank Jha <span dir="ltr"><<a href="mailto:mayank25080562@gmail.com" target="_blank">mayank25080562@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div dir="ltr"><div><div><div>Name: Mayank Jha<br></div>IRC Nicks: mjnovice,mapyth on freenode.<br></div>Email: <a href="mailto:mayank25080562@gmail.com" target="_blank">mayank25080562@gmail.com</a> <br>Blog: <a href="http://mjnovice.wordpress.com/" target="_blank">http://mjnovice.wordpress.com/</a><br>


</div><div><a href="https://github.com/mjnovice/" target="_blank">Github Profile</a> <br></div><div>KDE identity Username: jhamayank<br></div><div><br></div><b>Short Description:</b><br clear="all">
<div><div><div><div><div>Currently telepathy supports 1-to-1 video call for various services like gmail, facebook, jabber. But it lacks multiparty conference call support, where you could have a google hangout like group video chat. This project aims at implementing a full fledged video conferencing feature into telepathy.<br>

</div></div></div></div></div></div></blockquote><div><br></div><div>Note that "telepathy" is not the same as "kde-telepathy"/"ktp". I think you want to say "ktp" above.</div><div>
 </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><b>Synopsis:<br></b></div>

<div>Telepathy does not have conference call support. The libraries ( telepathy-qt, telepathy-farstream ) on which it depends however has the necessary classes and methods to allow you to integrate the conference feature into the main UI. The main dependency telepathy-gabble also has most of the methods in it, and might require some minor additions/changes. So, the UI needs to be done properly to allow user to make conference calls.<br>

</div></div></div></div></div></div></blockquote><div><br></div><div>Same here. I think Telepathy does have conference call support (in the spec at least anyway), so you want to say "KDE Telepathy" here again. Telepathy-gabble is on the other hand not a dependency of anything and we wouldn't use it directly in any way.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><b>Implementation Details:<br>

</b></div><div>To implement the conference calls, we need to rewrite the current code in ktp-call-ui, to accomodate for conference calls. <br>
<br>For the UI, what we could do is, have the mainVideoWidget ( 
from the qtgstreamer library ), as the main video widget, and the 
participants of the conference (including me) have their thumbnails sort
 of videoWidgets at the bottom of the call window arranged, and clicking
 on any of the bottom widgets would allow you to see the enlarged view 
on the mainVideoWidget. Also currently there is restriction on the frame
 per seconds rate of the video being streamed ie 15. We could add a 
menu, which can have options to modify the frame rate. <br>
</div><div>Since all of the work is done in Qt. So we would also need to check while doing the User Interface, that the methods used are optimum, and consistent, keeping in mind the efficiency of the feature.<br><br>The backend work, would involve rewriting the classes and the 
methods of the ktp-call-ui to accomodate for multiple video streams. At 
some places the fsconference is incomplete. This would involve 
rewriting, the call-handlers and the call-managers, and also the classes
 defined in ktp-call-ui/src/ as well as ktp-call-ui/libktpcall . <br>
<br><br>We might also need to make changes to 
telepathy-gabble the main connection manager, to add support for 
conference protocol if it lacks. </div></div></div></div></div></div></blockquote><div><br></div><div>The above mixes several things together. "The backend" would be gabble here and you'd need to place all/most of the farstream code there I think. </div>

<div><br></div><div>"At some places the fsconference is incomplete. This would involve rewriting," --> do you mean rewriting fsconference?</div><div><br></div><div>Also I'd like to know 140% beforehand if there will be a need to edit gabble in any way because if yes, I think that will take lots and lots of your time as it's a completely strange GObject code and this would bump your timeline considerably, which might even result in your failure.</div>

<div><br></div><div>Finally, note that without any backend support (not sure if any connection manager has support or not) you won't be able to test this properly so in your timeline, backend work should imho come first or hand-in-hand with the UI changes so you can use one to test the other and vice-versa. Your proposal lists gabble work far too away imho (if needed).</div>

<div><br></div><div>Overall I think the proposal is a bit ambitious, though I'd like to have George's and Diane's input on it too. I may be wrong on things.</div><div><br></div></div><div>Cheers</div>-- <br><div>

<span style="color:rgb(102,102,102)">Martin Klapetek | KDE Developer</span></div>
</div></div>