update hupall API to support multiple variables
hupall [cause] [[var1] [val1]] [[var2] [val2]] ...
added switch_core_session_hupall_matching_vars_ans() which will hang up all channels that match each variable(s) value
Now the daemon manages its privileges correctly, so that -rp, -u,
-g and -lp can be supported, also in a Solaris zone.
Also fixed a problem that switch_log_printf() was used before the
logger was initialized, so the messages were sent to nowhere.
Port video buffer to also support audio and remove original STFU jitter buffer
Add some more resilience to video packet loss
Add codec control mechanism for both call-specific debug and codec/call specfic params
Make opus function better in packet loss and latent situations
Use new codec control prams to make JB lookahead FEC optionally enabled or disabled mid-call
Add Param to allow JB lookahead to be enabled.
Get filehandles working with video in some cases (if using vlc://):
mod_conference for play and record video (will record the canvas in mix mode or floor holder in non-mix mode)
regular playback app should be able to play vlc streams
Add no-minimize-encoding member flag so particilar memebers can opt out of that setting and still get their own encoded stream (for bw related needs)
TODO:
mod_vlc is a mess. Find a way to merge video_context and file_context. They are very similar and they are intertwined and messy.
Find out why vlc creates messed up mp4 files that don't play everywhere
Get VLC so it can record aac, mp4x webm
the callback will be called on each loop on read video frame, or
the callback function call run it's own loop to take over the core
loop so it can read video from session by itself.
the callback function can -
return SWITCH_STATUS_SUCCESS to wait another loop
return SWITCH_STATUS_CONTINUE to continue use the default behaviour
return anything else will break the core video loop and end the
core thread
added switch_core_codec_encode_video and switch_core_codec_decode video and add separate video implementations
the switch_core_video code depends on libvpx, wraped into the switch_ namespace like switch_apr, need to figure out how to find the correct libvpx lib in autotools
I had to scan through the source of the function to verify that this
is the indeed the actual behaviour, and that NULL is a valid
argument. By mentioning this in the header, we save posterity that
effort.