The macro is in C defined as
#define WEBRTC_SPL_MUL_16_16(a, b) \
((int32_t) (((int16_t)(a)) * ((int16_t)(b))))
(For definitions on ARMv7 and MIPS, see common_audio/signal_processing/include/spl_inl_{armv7,mips}.h)
Also includes
- style changes
- replaced pointer operations with direct element access
BUG=3348,3353
TESTED=locally on Linux and trybots
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/48949004
Cr-Commit-Position: refs/heads/master@{#9075}
The Mac64 Debug builder is broken for an unknown failure (trybot is
green, no failure obvious in the commit break). Reverting this CL to see
if it goes green again, and then relanding to see if it is just some
weird flaky build issue.
This reverts commit 5ea8eff55ec21a1d81aaf7d29c0106fe13256150.
BUG=
TBR=rollback
Review URL: https://webrtc-codereview.appspot.com/47019004
Cr-Commit-Position: refs/heads/master@{#9074}
Since RTCP packets are delivered to both senders and receivers that
correspond the receivers currently log that NACKed packets are missing,
since they have no direct connection to the sending side or the RTP
packet history. Also preventing triggering on SR requests and PLI/FIR.
BUG=
R=asapersson@webrtc.org, stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/45249004
Cr-Commit-Position: refs/heads/master@{#9071}
In days of yore, move.h contained complicated macros for approximating
move-only behavior in C++03. But since we live in the future now, and
can rely on C++11 features---including real move semantics!---it makes
more sense to just write the handful of required lines by hand in each
move-only class.
(We only live in the near future, though, not in some sci-fi
intergalactic civilization singularity type future, so we have to
define Pass() methods for these classes since we're not allowed to use
std::move().)
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/45099004
Cr-Commit-Position: refs/heads/master@{#9060}
Receive streams seem to be reconfigured with identical codecs when
another stream is removed. Preventing this reconfiguration makes sure
that existing streams don't report stats during teardown when the stream
is still supposed to be running.
BUG=1788
R=asapersson@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/44249004
Cr-Commit-Position: refs/heads/master@{#9059}
An incoming rtcp report block is inserted to both send and receive channels in Call::DeliverRtcp. The report block may also be accepted by each receive channel (in addition to the send channel) but fails to calculate the rtt (=0).
Remove registration of bandwidth observer for receive channels. Prevents multiple callbacks to the bitrate controller (and with incorrect rtt) for an incoming report block.
BUG=4546
R=mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/45209004
Cr-Commit-Position: refs/heads/master@{#9055}
Note that the timeout should depend on the smoothed RTT, but for now is hard coded to 1000 ms.
This solves issues where a full cwnd gets lost.
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/51739004
Cr-Commit-Position: refs/heads/master@{#9051}
This change is needed by ChromeOS as it introduces -fno-omit-frame-pointer
flag (see code.google.com/p/chromium/issues/detail?id=477749). This causes
compile error for MIPS, as some MIPS optimization blocks use maximum possible
number of available registers.
Also, this change contains minor GN build fix for MIPS platform regarding the
pitch_filter_mips.c / pitch_filter_c.c file inclusion.
BUG=477749
R=andrew@webrtc.org, djordje.pesut@imgtec.com, tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/48139004
Patch from Ljubomir Papuga <lpapuga@mips.com>.
Cr-Commit-Position: refs/heads/master@{#9047}
Provides a read-only interface for reading byte and bit-sized data from
an underlying buffer in network/big-endian order. Also provides a method
for reading exponential golomb encoded values, which will be useful in
H.264 packet parsing (separate CL).
BUG=
R=pthatcher@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/49719004
Cr-Commit-Position: refs/heads/master@{#9046}
The problem was that only ACKed packets were subtracted from in_flight_, but lost packets were never removed, which caused TCP to stop sending eventually.
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/43239004
Cr-Commit-Position: refs/heads/master@{#9041}
This implementation registers RTX-APT map inside RTP sender and receiver.
While it only generates SDP with RTX associated with VP8 to make it
compatible with previous Chrome versions.
Should add following changes after reaches stable,
* Use RTX-APT map for building and restoring RTP packets.
* Add RTX support for RED or VP9 in Video engine.
* Set RTX payload type for RED inside FecConfig in EndToEndTest.
BUG=4024
R=mflodman@webrtc.org, pbos@webrtc.org, pthatcher@webrtc.org, stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/36889004
Cr-Commit-Position: refs/heads/master@{#9040}
This reverts commit 14a97f0a9148be18a66a435a5933441eb023bc82.
Introduces a deadlock due to acquiring simulcast_rtp_rtcp_ in
ReceivedRTCPPacket.
BUG=4568, chromium:478911
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/44289004
Cr-Commit-Position: refs/heads/master@{#9039}
AndroidVideoCapturerJni dtor is called on signaling thread
and may destroy JNI global refs while processing late camera
frame arrival in ReturnBuffer_w() in worker thread.
Fix this by waiting for all function invoked on worker thread
to complete in camera JNI dtor.
R=wzh@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/49099004
Cr-Commit-Position: refs/heads/master@{#9037}
We used to accept void* (until 9478437f), and we'll have to continue
to do so for a little while longer, until Chromium doesn't need it
anymore.
TBR=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/48179004
Cr-Commit-Position: refs/heads/master@{#9035}