
SkypeKit Video Call Tutorial with Qt Framework
--------------------------------------------------

NB! As SkypeKit SDK version 3.2 does not contain video-enabled desktop runtimes, this tutorial is currently non-functional. Video-enabled desktop runtimes will return in a future SDK release.


This is a Qt example application that demonstrates how to get started with building a GUI application with SkypeKit.

Once built, the application will:
* auto-answer incoming calls 
* automatically start video send when possible
* make outgoing video calls to a selected contact.

The project is cross-platform. It works on both Windows and Linux. In theory, it should also work on Macs.

An online walkthrough of this project is available at:
http://developer.skype.com/skypekit/development-guide/audio-video-integration/desktop-video-with-qt

Environments
---------------

The project has been tested using the following environments:

* Microsoft Windows 7 (64 bit)
  * SkypeKit SDK: version 3.1 
  * Qt: version 4.3.2 (32 bit)
  * IDE: Qt Creator 1.3.1
  * Compiler: Microsoft Visual C++ 2010

On Linux Kubuntu 10.04 (lucid), KDE 4.4.2
  * SkypeKit SDK: version 3.1 
  * Qt: version 4.6.3 (32 bit)
  * IDE: Qt Creator 2.0.0
  * Compiler: gcc 4.4.3 (i486-linux-gnu)


Contents of the project directory
------------------------------------

* Qt Creator project file
 * qt_videocalls.pro - Qt Creator project file

* main.cpp - Programmatic launching of SkypeKit runtime, construction of UI and skype objects, and launching the UI.

* Derived classes from SkypeKit API and SkypeKit side of the program logic. The global variables for UI classes are also declared here.
 * QSKClasses.h
 * QSKClasses.cpp

* Application main window class and UI side of logic.
 * mainwindow.h
 * mainwindow.cpp

* Video renderer class. Based on both VideoTransport for communication with runtime and QWidget for drawing bitmaps. Since SDK release 3.2, this class replaces videowindow.
 * videowidget.h
 * videowidget.cpp

* UI files, automatically generated by Qt Creator
 * ui_mainwindow.h
 * mainwindow.ui

 
Notes
--------
 * As of SDK release 3.2 the project also includes app_token.h that contains application token file loader(default name keypair.pem).

 * As multi-party video is currently not enabled in SkypeKit, this application does not support conference calls.
 
 * On linux the C++ wrapper library needs to be built with RTTI. As the default make files come with -fno-rtti switch, you will most likely need to remove that switch and rebuild libskypekit-cppwrapper_2_lib.a

 * On MS Windows, the project requires the WS2_32.Lib library, which may make it difficult for you to build the project with Express version of Visual C++ 
 
 