Conviva Client Library
==============================

The Conviva Client Library is a portable, pure C library used to
integrate Conviva with media applications on a variety of devices.


Platform dependencies
=====================

The core part of the Conviva Client Library is POSIX-compliant and can
be ported to most systems without changes. As part of the integration,
some basic system utilities must be provided through ccl_platform_t:

- system time access.
- system timers.
- network access over HTTP/S.
- mutex for thread safety.
- pseudorandom number generation.
- system storage read/write access.


Sample Application
==================

Conviva provides a sample application as a reference. Located in the
sample/ directory, it demonstrates how to integrate the Conviva Client
Library in media frameworks.  Specifically, this sample application
runs on Ubuntu 14.04/16.04 and uses Gstreamer 1.0 to play video
content.

Dependencies
------------

o gstreamer

- 14.04

% sudo apt-get install \
libgstreamer1.0-dev \
libgstreamer-plugins-base1.0-dev \
libgstreamer-plugins-good1.0-dev \
libgstreamer-plugins-bad1.0-dev

- 16.04

gstreamer1.0-alsa
gstreamer1.0-clutter-3.0
gstreamer1.0-libav
gstreamer1.0-plugins-bad
gstreamer1.0-plugins-bad-faad
gstreamer1.0-plugins-bad-videoparsers
gstreamer1.0-plugins-base
gstreamer1.0-plugins-base-apps
gstreamer1.0-plugins-base-dbg
gstreamer1.0-plugins-good
gstreamer1.0-plugins-good-dbg
gstreamer1.0-plugins-ugly
gstreamer1.0-plugins-ugly-amr
gstreamer1.0-pulseaudio
gstreamer1.0-tools
gstreamer1.0-x
libgstreamer-plugins-bad1.0-0
libgstreamer-plugins-bad1.0-dev
libgstreamer-plugins-base1.0-0
libgstreamer-plugins-base1.0-dev
libgstreamer-plugins-good1.0-0
libgstreamer-plugins-good1.0-dev
libgstreamer1.0-0
libgstreamer1.0-0-dbg
libgstreamer1.0-dev

o gtk+3.0

% sudo apt-get install libgtk-3-dev

o libcurl / openssl

% sudo apt-get install libcurl4-openssl-dev

o extra codecs

% sudo apt-get install ubuntu-restricted-extras


Building
========

The Conviva Client Library and its sample application can be built using make:

% cd <top conviva client library directory>
% make

Makefiles are verified on Ubuntu and Mac OS X.

