Fixes:
*** CID 1671239: Control flow issues (MISSING_BREAK)
/daemon/call_flags.c: 1902 in call_ng_main_flags()
1896 case CSH_LOOKUP("rtcp-mux"):
1897 case CSH_LOOKUP("RTCP-mux"):
1898 case CSH_LOOKUP("rtcp mux"):
1899 case CSH_LOOKUP("RTCP mux"):
1900 return call_ng_flags_str_list(parser, value, call_ng_flags_rtcp_mux, out);
1901 case CSH_LOOKUP("rtpp-flags"):
>>> CID 1671239: Control flow issues (MISSING_BREAK)
>>> The case for value "164" is not terminated by a "break" statement.
1902 case CSH_LOOKUP("rtpp_flags"):;
1903 case CSH_LOOKUP("rtpp flags"):;
1904 /* s - list of rtpp flags */
1905 out->rtpp_flags = true;
1906 parse_rtpp_flags(&s, out);
1907 break;
Change-Id: I1d8c41ad08c5f090fe58ab0b5c03308b9a1155bb
Add RED (RFC 2198) codec definition to codeclib as a supplemental codec.
Modify codec_store_accept_one() to preserve supplemental codecs whose
clock rate matches the accepted primary codec. Skip supplemental codecs
in codec_store_is_full_answer() since they are optional in SDP answers.
Closes#2100
Change-Id: Ie81f45091c5d3dc55e20896d5a6e7a8361fda2f4
The ffmpeg G.726 encoder operates on fixed frame sizes which don't
reflect the expected frame size on the wire. Add an encoder init wrapper
to set the correct frame size.
Change-Id: I4d635e52b6c3bd4f924d1b295ec1bf4c56ef22bc
In case of bitstream style codecs which still use an encoder which
operates on fixed frame sizes (e.g. G.726), passing the maximum allowed
frame/packet size to the packetizer is not enough. Instead it needs to
know separately how much data it is expected to return. Add another
argument to pass this information.
This also fixes the incorrect math to adjust the frame duration in case
of chunked output.
Change-Id: I1d57c684ecea055059481de0220f6b6001088605
Instead of taking an average, take the minimum over the last X frames.
This fixes skew calculation in situations where the encoder is expected
to produce burst output (e.g. G.726).
Probably the exception for media playback can also be removed.
Change-Id: I92e03916c04c670f6e8e72ad243a67d675504690
The format of a received audio frame can differ from the required format
for the audio player (Opus decoder supporting multiple sample rates).
Add a resampler in case resampling is needed.
Change-Id: I7f1be18334a5a12c6491e7763699559d2ee487f1
Some containers (MP3) fill the audio format information only after
reading the first frame. Do that if the information is missing.
Change-Id: I7865dee130e2a109e289eca5119d38a4e00f2a32
Skip initialisation of seq_out to a random number and track its init
state with a dedicated flag. Initialise it to the first received seq.
Change-Id: Iecdd3d28c5d6fe36d0a7488dd231767ff788942e