Fix send-video enum typo
Add Private media API
Creating a private media can be useful for plugins that want to
create a PurpleMedia for internal use without the front-end
being notified of its creation.
Fix gstreamer elements references
In backend-fs2, the create_src will unref the src after it's done with
it, if we simply return the created source, it will segfault.
The issue never happened before because every source so far also has
the UNIQUE flag, which causes it to go in a different branch of the
code which does ref the element and add it to the bin.
Add work in progress application media type and APIs
Add read/write to appdata and properly use HAVE_MEDIA_APPLICATION
appdata: Signal readable/writable in main context and keep track of number of available samples
appdata: Fix negotiation issue and blocking write
media: Send a signal when a candidate pair is established
appdata: Finish implementation and thread-safety
The readable/writable callbacks now get called correctly and the
blocking read should block correctly waiting for data. We also
try to fill as much data into the buffer as possible when we do a read.
Now everything is also thread-safe and should be safe against unexpected
session destruction as well.
appdata: Set probation to 0 on APPLICATION type sessions
appdata: Send writable only if also connected. Return write error if not connected
appdata: Fix receive_application_data
Do not loop forever if there are pending samples in non blocking read
and the read buffer has been filled.
Allow a blocking read even if the appsink has not been created yet.
appdata: Remove debug messages
appdata: Fix blocking when all data has been read
media: Add a send-rtcp-mux API to allow muxing of RTP and RTCP
Fix documentation
media: don't free PurpleMedia when "init*-media" have no handler

The logic was changed so that the PurpleMedia instance isn't disposed
when "init-media" or "init-private-media" have no connected handlers.

We want the media object freed only when some signal callback function
explicitly returns FALSE, indicating an error during the initialization.