The intended signalling from StartTimer() to Process() is that
created_at_.tv_sec is set to 0, and timer_event_->Set() is then called
in order to wake the process thread from timer_event_->Wait(). When this
happens the process thread will return early and the run Process()
again. This time it will pick up created_at_.tv_sec = 0 and run a new
Wait() call with the desired end time.
However if the process thread was NOT blocking on timer_event_->Wait()
when timer_event_->Set() was called from StartTimer() it will mean that
the first call to timer_event_->Wait() from Process(), AFTER the new
time has been configured (count_ = 1), will return early.
If the timer is not periodic it means that Set() will never be called,
and any calls will Wait() will block until the time out.
The solution is to always reset the event in timer_event_ on the first
call to timerEvent_->Wait(), after a timer has started.
Also some general cleanup.
BUG=
Review URL: https://codereview.webrtc.org/1812533002
Cr-Commit-Position: refs/heads/master@{#12082}
Applications can choose to decide when to give up control of the
AVAudioSession to WebRTC. Otherwise, behavior should be
unchanged.
Adds a toggle to AppRTCDemo so developers can see the different
paths.
BUG=
R=haysc@webrtc.org
Review URL: https://codereview.webrtc.org/1822543002 .
Cr-Commit-Position: refs/heads/master@{#12080}
webrtc/base/base.gyp unconditionally set SSL_USE_OPENSSL and
HAVE_OPENSSL_SSL_H, fix webrtc/base/BUILD.gn to do the same.
Better implementation than https://codereview.webrtc.org/1441323002
to fix the same underlying issue (i.e. compilation on iOS).
BUG=459705
Review URL: https://codereview.webrtc.org/1812213002
Cr-Commit-Position: refs/heads/master@{#12078}
ScreenCapturerMac wasn't handling the following two cases properly
which could cause crashes:
1. CGDisplayCreateImage() returns image with depth other than 32-bit
2. CGDisplayCreateImage() returns image with dimensions different
from expected (e.g. when screen resolution is being changed).
I suspect that (2) was causing the linked bug.
BUG=crbug.com/504927
R=jiayl@webrtc.org
Review URL: https://codereview.webrtc.org/1816723002 .
Cr-Commit-Position: refs/heads/master@{#12077}
Removes code duplication and use of the dangerous public destructor in
RefCountImpl.
Also making wider use of scoped_refptr and fixing various leaks in the
process.
BUG=webrtc:5229
R=tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1477013005 .
Cr-Commit-Position: refs/heads/master@{#12075}
Reason for revert:
The tests in the CL are failing on the bots in the Webrtc Waterfall (allthough they did not fail on the commit bots). I will therefore revise and reland the test.
Original issue's description:
> Added a bitexactness test for the echo canceller in the audio processing module.
>
> BUG=webrtc:5337
>
> Committed: https://crrev.com/7c448e1a384224aa16a21715e83574f3f553b730
> Cr-Commit-Position: refs/heads/master@{#12068}
TBR=henrik.lundin@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5337
Review URL: https://codereview.webrtc.org/1824583003
Cr-Commit-Position: refs/heads/master@{#12072}
Reason for revert:
This needs to be reverted as a previous CL which needs to be reverted causes a merge clash with this CL.
Original issue's description:
> Added a bitexactness test for the echo control mobile in the audio processing module
>
> BUG=webrtc:5663
>
> Committed: https://crrev.com/105831ef4a38ac49e5e2c1ce207884da0a26c773
> Cr-Commit-Position: refs/heads/master@{#12069}
TBR=henrik.lundin@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5663
Review URL: https://codereview.webrtc.org/1819803002
Cr-Commit-Position: refs/heads/master@{#12071}
webrtc::VideoRenderer class, replacing it by rtc::VideoSinkInterface.
The next step is to convert all places where a renderer is attached to
rtc::VideoSourceInterface, and at that point, the
SmoothsRenderedFrames method can be replaced by a flag
rtc::VideoSinkWants::smoothed_frames.
Delete unused method IsTextureSupported.
Delete unused time argument to RenderFrame.
Let webrtc::VideoRenderer inherit rtc::VideoSinkInterface. Rename RenderFrame --> OnFrame.
TBR=kjellander@webrtc.org
BUG=webrtc:5426
Review URL: https://codereview.webrtc.org/1814763002
Cr-Commit-Position: refs/heads/master@{#12070}
It was possible that even after a VideoSendStream was destroyed,
it remained registered as a BitrateAllocator observer, causing a
segfault later.
Review URL: https://codereview.webrtc.org/1815733002
Cr-Commit-Position: refs/heads/master@{#12067}
This CL removes copy and assign support from Buffer and changes various
parameters from Buffer to CopyOnWriteBuffer so they can be passed along
and copied without actually copying the underlying data.
With this changed some parameters to be "const" and fixed an issue when
creating a CopyOnWriteBuffer with empty data.
BUG=webrtc:5155
Review URL: https://codereview.webrtc.org/1823503002
Cr-Commit-Position: refs/heads/master@{#12062}
This CL also extracts part of the functionality used
in the bitexactness test for the high-pass filter into
a separate file in order to be able to reuse that
functionality in bitexactness tests for the other
submodules in APM (including the bitexactness test for
the noise suppressor).
BUG=wertc:5336
Review URL: https://codereview.webrtc.org/1783203002
Cr-Commit-Position: refs/heads/master@{#12061}
Reason for revert:
I'm really sorry for having to revert this but it seems this hit an unexpected compile error downstream:
webrtc/media/sctp/sctpdataengine.cc: In function 'void cricket::VerboseLogPacket(const void*, size_t, int)':
webrtc/media/sctp/sctpdataengine.cc:172:37: error: invalid conversion from 'const void*' to 'void*' [-fpermissive]
data, length, direction)) != NULL) {
^
In file included from webrtc/media/sctp/sctpdataengine.cc:20:0:
third_party/usrsctp/usrsctplib/usrsctp.h:964:1: error: initializing argument 1 of 'char* usrsctp_dumppacket(void*, size_t, int)' [-fpermissive]
usrsctp_dumppacket(void *, size_t, int);
^
I'm sure you can fix this easily and just re-land this CL, while I'm going to look into how to add this warning at the public bots (on Monday).
Original issue's description:
> Use CopyOnWriteBuffer instead of Buffer to avoid unnecessary copies.
>
> This CL removes copy and assign support from Buffer and changes various
> parameters from Buffer to CopyOnWriteBuffer so they can be passed along
> and copied without actually copying the underlying data.
>
> With this changed some parameters to be "const" and fixed an issue when
> creating a CopyOnWriteBuffer with empty data.
>
> BUG=webrtc:5155
>
> Committed: https://crrev.com/944c39006f1c52aee20919676002dac7a42b1c05
> Cr-Commit-Position: refs/heads/master@{#12058}
TBR=kwiberg@webrtc.org,tkchin@webrtc.org,tommi@webrtc.org,pthatcher@webrtc.org,jbauch@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5155
Review URL: https://codereview.webrtc.org/1817753003
Cr-Commit-Position: refs/heads/master@{#12060}
The other buffer classes as well as all other dependencies are in rtc_base_approved, so I think this is a better place for it. Additionally I found that code in Chromium that already depends on the other buffer classes but now depends on the CopyOnWriteBuffer class, needed to have their build files updated and they previously depended on the buffer classes in rtc_base_approved.
TBR=jbauch@webrtc.org
Review URL: https://codereview.webrtc.org/1820643002
Cr-Commit-Position: refs/heads/master@{#12059}
This CL removes copy and assign support from Buffer and changes various
parameters from Buffer to CopyOnWriteBuffer so they can be passed along
and copied without actually copying the underlying data.
With this changed some parameters to be "const" and fixed an issue when
creating a CopyOnWriteBuffer with empty data.
BUG=webrtc:5155
Review URL: https://codereview.webrtc.org/1785713005
Cr-Commit-Position: refs/heads/master@{#12058}
The fundamental issue is that RTCP packet timestamps were accidentally
being fed into wrap_handler_, causing it to think the 32-bit timestamp
had wrapped around when it actually hadn't.
Was also using a 32-bit timestamp instead of a 64-bit timestamp in one
place, meaning that if wrapping actually DID occur, the test would still
fail due to a 64-bit value being cast to a 32-bit value.
BUG=webrtc:5668
R=pbos@webrtc.org, sprang@webrtc.org
Review URL: https://codereview.webrtc.org/1814023003 .
Cr-Commit-Position: refs/heads/master@{#12055}
No operator== that accepts one unique_ptr<T> and one T*. No implicit
conversion to bool. No rtc_make_scoped_ptr function.
BUG=webrtc:5520
Review URL: https://codereview.webrtc.org/1803833002
Cr-Commit-Position: refs/heads/master@{#12048}
WebRtcIsacfix_PitchFilterCore requires indW32 >= PITCH_FRACORDER - 2;
otherwise, it will read from entries of ubufQQ that haven't been
written yet. (The problem of indW32 being too small has only been seen
in fuzzer tests, not in real life.)
BUG=chromium:581901
Review URL: https://codereview.webrtc.org/1811453002
Cr-Commit-Position: refs/heads/master@{#12047}
Now that DeviceManager and DeviceInfo are gone, this code is unused.
BUG=webrtc:5579
Review URL: https://codereview.webrtc.org/1715043002
Cr-Commit-Position: refs/heads/master@{#12040}
This will help test or debug the continual gathering policy.
BUG=
Review URL: https://codereview.webrtc.org/1812593002
Cr-Commit-Position: refs/heads/master@{#12038}
Except in places where this would break out-of-tree code,
such as Chromium.
BUG=webrtc:5520
Review URL: https://codereview.webrtc.org/1785173002
Cr-Commit-Position: refs/heads/master@{#12037}
It appears that the adapt_frame_drops, effects_frame_drops, and capturer_frame_time statistics are never used. They are collected by cricket::VideoCapturer, and copied into VideoSenderInfo by the VideoMediaChannel::GetStats method.
So delete the code to generate the statistics, and the VariableInfo template which had no other uses.
BUG=webrtc:5426
R=pbos@webrtc.org, pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1804133003 .
Cr-Commit-Position: refs/heads/master@{#12032}