Centralized FPS statistics output instead of in individual vidcap
modules in order to avoid multiplicities in code.
+ removed the FPS statistics code from testcard
Do not call non-async-signal-safe functions in signal handler. Instead
create dedicated thread for handling the callbacks that will the signal
handler only notify.
This should be more correct way than using the global should_exit
variable. Moreover, the observers like capturers doesn't need to
pool the should exit variable and can send signal themselves (that
may eg. trigger a CV).
Use adaptive capped bitrate if a limit bitrate value is specified.
Previously packets were emitted exactly at the specified bitrate which
is now an optional. Now, by default, the shapper shapes equally to
a frame time or capped bitrate (if the packet rate would be lower).
- added (const char *) attribute to param_u union to avoid casting away
const warnings
- added also (const void *) and (volatile void *) for the rest
- there was a typo in computing requested_mtu causing violating sequence
point evaluation order
- alsa_get_pcm_state_name: added attribute unused
- audio/utils.cpp: different signdness
- audio/utils.cpp: different signdness
- split capture filter: useless dispose_frame
- video_compress: not copying whole string (with strncpy)
This is particularly important with RFC-compliant SDP streams because
audio metadata is written in SDP file but when no audio is actually
sent, the receiving application may be confused by attemnting to
synchronize audio and video.
* 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