Also include that in the stun-ping request as part of the
network-info attribute.
Change the network cost to be 16 bits.
BUG=
Review URL: https://codereview.webrtc.org/1815473002
Cr-Commit-Position: refs/heads/master@{#12110}
We shouldn't make external users define this flag to use our file.
BUG=
Review URL: https://codereview.webrtc.org/1825713003
Cr-Commit-Position: refs/heads/master@{#12106}
To replace the SmoothsRenderedFrames method, added a corresponding
flag to VideoReceiveStream::Config instead.
BUG=webrtc:5426
Review URL: https://codereview.webrtc.org/1818023002
Cr-Commit-Position: refs/heads/master@{#12102}
Also removes unused track states kLive and kFailed.
Since this also required a Video source to exist in all unit tests that create a track, a FakeVideoTrackSource is added and used in tests.
BUG=webrtc:5426
Review URL: https://codereview.webrtc.org/1790633002
Cr-Commit-Position: refs/heads/master@{#12098}
This will allow a sender to stop/start sending media on the
application's demand.
Among other things, this can allow an application to set a track on a
sender while the encoding(s) are inactive, allowing the encoder to be
initialized for that track, then later set the encodings to "active"
to instantly start sending the track.
Review URL: https://codereview.webrtc.org/1822923002
Cr-Commit-Position: refs/heads/master@{#12094}
This change enables voice-only calls to keep track of the network state.
This is only a partial fix - the last modality to change state controls
the state for the entire call, so a call with a failed video transport
will also stop sending audio packets. Handling this condition correctly
would require the call to keep track of network state for each media
type separately, and take care of conditions such as a failed video
channel getting removed, while a functioning audio channel remains.
BUG=webrtc:5307
Review URL: https://codereview.webrtc.org/1757683002
Cr-Commit-Position: refs/heads/master@{#12093}
initWithFactory: is clumsy and makes classes difficult to mock out in
tests. By keeping methods on the factory, we can simply mock out the
factory's methods instead.
We can consider adding regular Obj-C like ctors if we move to making
the factory a singleton, but that requires further discussion.
BUG=
R=haysc@webrtc.org, hjon@webrtc.org
Review URL: https://codereview.webrtc.org/1820193002 .
Cr-Commit-Position: refs/heads/master@{#12089}
Un-breaks peerconnection_client which would instantly use-after-free on
an allocated VCM because it wasn't building a scoped_refptr so all
references to the VCM were dropped.
BUG=webrtc:5229
TBR=tommi@webrtc.org
TEST=Run peerconnection_client locally, verify that there's no crash.
Review URL: https://codereview.webrtc.org/1817953005 .
Cr-Commit-Position: refs/heads/master@{#12088}
This CL is expected to lower goog_max_decode_ms and total_delay_incl_network/receiver_time for screenshare.
Reason for revert:
This CL did not cause the unexpected goog_encode_usage_percent and goog_avg_encode_ms perf changes.
Original issue's description:
> Revert of VCMCodecTimer: Change filter from max to 95th percentile (patchset #5 id:180001 of https://codereview.webrtc.org/1742323002/ )
>
> Reason for revert:
> Caused unexpected perf stats changes, see http://crbug/594575.
>
> Original issue's description:
> > VCMCodecTimer: Change filter from max to 95th percentile
> >
> > The purpose with this change is to make the filter more robust against anomalies. googMaxDecodeMs is expected to drop a litte by this.
> >
> > BUG=b/27306053
> >
> > Committed: https://crrev.com/4bf0c717740d1834e810ea5f32b3c4306c64235f
> > Cr-Commit-Position: refs/heads/master@{#11952}
>
> TBR=stefan@webrtc.org,philipel@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=594575,b/27306053
>
> Committed: https://crrev.com/c4a74e95b545f4752d4e72961ac03c1380d4bc1f
> Cr-Commit-Position: refs/heads/master@{#12018}
TBR=stefan@webrtc.org,philipel@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=594575,b/27306053
Review URL: https://codereview.webrtc.org/1824763003
Cr-Commit-Position: refs/heads/master@{#12087}
Reason for revert:
Breaks RTCVideoEncoder which has incorrect assumptions on where InitEncode etc. is called from. Temporarily reverting until RTCVideoEncoder has been updated.
Original issue's description:
> Initialize/configure video encoders asychronously.
>
> Greatly speeds up setRemoteDescription() by moving encoder initialization
> off the main worker thread, which is free to move onto gathering ICE
> candidates and other tasks while InitEncode() is performed. It also
> un-blocks PeerConnection GetStats() which is no longer blocked on
> encoder initialization.
>
> BUG=webrtc:5410
> R=stefan@webrtc.org
>
> Committed: fb647a67beR=stefan@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=chromium:595274, chromium:595308, webrtc:5410
Review URL: https://codereview.webrtc.org/1821983002 .
Cr-Commit-Position: refs/heads/master@{#12086}
rtc::ThreadManager::ThreadManager() calls rtc::InitCocoaMultiThreading()
on iOS so add base/maccocoathreadhelper.mm to the file to build on iOS.
Fixes the following linker error:
Undefined symbols for architecture x86_64:
"rtc::InitCocoaMultiThreading()", referenced from:
rtc::ThreadManager::ThreadManager() in librtc_base.a(thread.o)
BUG=459705
NOTRY=True
Review URL: https://codereview.webrtc.org/1810373003
Cr-Commit-Position: refs/heads/master@{#12085}
From an earlier CL, we start to feed UpdateLevel() with power instead of energy. I found that UpdateLevel() is still taking the input as energy and normalize it. This CL fixes this.
The earlier CL is
https://codereview.webrtc.org/1542573002/
BUG=
Review URL: https://codereview.webrtc.org/1810773003
Cr-Commit-Position: refs/heads/master@{#12084}
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}
Reason for revert:
New attempt. Cl for removing videosourceinterface.h dep in chrome is landed here: https://codereview.chromium.org/1810273003/
Original issue's description:
> Revert of Delete empty API files and cleaned up includes. (patchset #2 id:20001 of https://codereview.webrtc.org/1809053002/ )
>
> Reason for revert:
> Breaks Chromium build. Need to remove the references to the obsolete header files from Chromium and reland.
>
> Original issue's description:
> > Delete empty API files and cleaned up includes.
> >
> > TBR=glaznev@webrtc.org
> >
> > BUG=webrtc:5426
> >
> > Committed: https://crrev.com/c9022f508644dc33c01b05cb22ebfc2be145d6b2
> > Cr-Commit-Position: refs/heads/master@{#12039}
>
> TBR=nisse@webrtc.org,glaznev@webrtc.org,perkj@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5426
>
> Committed: https://crrev.com/246b5273986d5a5b140b3d1a656baa8d40c36276
> Cr-Commit-Position: refs/heads/master@{#12042}
TBR=nisse@webrtc.org,glaznev@webrtc.org,deadbeef@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5426
Review URL: https://codereview.webrtc.org/1819733002
Cr-Commit-Position: refs/heads/master@{#12065}
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}