Finish initialization even if we are not using audio since otherwise
we'd have partially initialized state that causes problems on cleanup
(eg. participants are not initalized but we may get mute events, eg.
from a keyboard).
* Since RTSP is no longer working with current LIVE555, RFC-conforming
H.264/A-law/u-law/OPUS streams can be accessed with SDP.
* experimental only (would need more effort to be robust, well written
etc.)
* removed ifdefs from transmit relating to standard AV RTP payload
formating
* main: added --protocol option (shortcut for --audio-protocol and
--video-protocol)
* main: disable intra refresh in default setting for H.264 in RTSP/SDP
Fixed leaks when running something like 'uv -t testcard -P 5004:5004'.
This was caused because receiving took place with default callback
putting received data to participant buffer. However, since UG was
not receiving, it was not periodically cleaning old data from PBUF
letting it increase indefinitely.
Currently modifies these values these values:
* audio pbuf delay - 32 ms -> 5 ms
* ALSA playback - minimal value
* ALSA audio buffer (internal in UG module) - 20 ms -> 5 ms
* audio mixer, internal audio buffer - 50 ms -> 5 ms
* separate decoder for every stream
* replaced audio_playback_query_supported_format() with more generic
audio_playback_ctl()
* replaced audio_decoder_increase_volume(),
audio_decoder_decrease_volume() and audio_decoder_mute() with
audio_decoder_set_volume(), removed audio_decoder_get_volume()
This is a proposed change (not yet default) to the ALSA behaviour. There
is a thread that writes to device all the time, avoiding underruns. On
the other hand there is a need to handle latency for which new buffer
was created. Alternatively, speex jitter buffer could be used.