This CL contains three changes as a preparation for adding audio send streams
to the send-side BWE:
1. Audio packets are passed through the pacer with high priority. This
is needed to be able to set transport sequence numbers on the packets.
2. A feedback observer is passed to the audio stream's rtcp receiver so
that the BWE can get notified of any BWE feedback being received on the
audio feedback channel.
3. Support for the transport sequence number header extension is added
to audio send streams.
BUG=webrtc:5263,webrtc:5307
R=mflodman@webrtc.org, solenberg@webrtc.org
Review URL: https://codereview.webrtc.org/1479023002 .
Cr-Commit-Position: refs/heads/master@{#10909}
This CL is the first in a series of CLs to refactor
VideoProcessing(Module) to follow Google C++ style guide and make the
code more readable.
This CL removed inheritance from Module, renames variables and makes
VideoProcessingImpl::PreprocessFrame return a frame pointer if there
is a frame to send, nullptr otherwise. The affected CLs also passes git
cl lint.
BUG=webrtc:5259
Review URL: https://codereview.webrtc.org/1482913003
Cr-Commit-Position: refs/heads/master@{#10907}
Changes include the following
1. modify FakeDtlsIdentityStore to support alternate certificate so we could have a different fingerprint in test case.
2. dtlstransportchannel can accept a new fingerprint and trigger DTLS handshake.
3. #2 will trigger new signal on the media side to reset SRTP context. Only reset SRTP context when we are using DTLS (not SDES).
4. Test cases for caller or callee are transfees.
TBR=pthatcher@webrtc.org
BUG=webrtc:3618
This is a reland of https://codereview.webrtc.org/1453523002
Review URL: https://codereview.webrtc.org/1505573002 .
Cr-Commit-Position: refs/heads/master@{#10903}
This reverts commit 9c38c2d33fa6d794704d53b18f39d5235439fe63.
This commit somehow is different from what I have in my local copy. Revert and will recommit.
TBR=pthatcher@webrtc.org
BUG=3618
Review URL: https://codereview.webrtc.org/1494373004 .
Cr-Commit-Position: refs/heads/master@{#10902}
Changes include the following
1. modify FakeDtlsIdentityStore to support alternate certificate so we could have a different fingerprint in test case.
2. dtlstransportchannel can accept a new fingerprint and trigger DTLS handshake.
3. #2 will trigger new signal on the media side to reset SRTP context. Only reset SRTP context when we are using DTLS (not SDES).
4. Test cases for caller or callee are transfees.
BUG=webrtc:3618
R=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1453523002 .
Cr-Commit-Position: refs/heads/master@{#10901}
and make it configurable from the app.
Changed the decision on whether a connection is pingable:
1.Check whether a connection is a backup connection. A connection is considered as a backup connection only if the channel is complete, the connection is active and it is not the best connection.
2. Ping a non-backup connection if it is active and for backup connection, ping it at a slower rate.
Note the default behavior is the same as before.
Also cached the channel state since we are accessing it more often.
BUG=webrtc:5034
R=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1455033004 .
Cr-Commit-Position: refs/heads/master@{#10900}
Also stop it if the request timed out.
It is going to be complicated to keep this and make it sync with the connection bind request as they may be on two different ports.
BUG=
Review URL: https://codereview.webrtc.org/1465843004
Cr-Commit-Position: refs/heads/master@{#10899}
- Flatten logic and make the relevant calls on VoE::Channel from AudioSendStream::SendTelephoneEvent().
- Store current payload type for telephone events in WVoMC, instead of setting it on the Channel. This should be refactored to be an AudioSendStream::Config parameter when we redo WVoMC::SetSendCodecs().
BUG=webrtc:4690
R=pthatcher@webrtc.org, tina.legrand@webrtc.org
Review URL: https://codereview.webrtc.org/1491743004 .
Cr-Commit-Position: refs/heads/master@{#10895}
Specify kf_min_dist to get correct key frame interval in svc mode.
Also set QP-max/min per temporal and spatial layer (was previously only allowed to be set per spatial layer).
BUG=chromium:500602
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1492633005 .
Cr-Commit-Position: refs/heads/master@{#10890}
This CL duplicates all the histograms in SendStatisticsProxy. Might be
overkill, but we don't know which stats will be interesting and it makes
the change easier.
BUG=
Review URL: https://codereview.webrtc.org/1433393002
Cr-Commit-Position: refs/heads/master@{#10885}
To try to resolve the problem I replaced the custom synchronization with rtc::Event which made the code cleaner, faster, and less error prone.
However, in the end the source of the test locks was that during TearDown one of the threads was stuck in a waiting loop.
I added a fix for the TearDown issue but still decided to keep the rtc:Event - based code change metioned above as that gave a more clean code.
BUG=
Review URL: https://codereview.webrtc.org/1490113004
Cr-Commit-Position: refs/heads/master@{#10880}
Check if it is in the list of turn entries before attempting to delete it.
BUG=
Review URL: https://codereview.webrtc.org/1458013004
Cr-Commit-Position: refs/heads/master@{#10877}
The two added macros simplifies the logging code when a value which is not stored in a variable should be logged.
BUG=
Review URL: https://codereview.webrtc.org/1488613002
Cr-Commit-Position: refs/heads/master@{#10870}
The reason we want to use EGL14 is to be able to use EGLExt.eglPresentationTimeANDROID when writing textures to MediaEncoder.
BUG=webrtc:4993
TBR=glaznew@webrtc.org
Review URL: https://codereview.webrtc.org/1461083002
Cr-Commit-Position: refs/heads/master@{#10864}
Also doing some simplifications inside video_coding. No CHECKs added,
since they appear to have introduced breakages in downstream tests.
Overall reducing the number of potential ways a decoder could possibly
be set null. Removing deregistration of external decoders should also
give a quicker shutdown time since that may attempt to register
internal decoders.
BUG=chromium:563299
TBR=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1483423002 .
Cr-Commit-Position: refs/heads/master@{#10858}
We convert ASN1 time via std::tm to int64_t representing milliseconds-since-epoch. We do not use time_t since that cannot store milliseconds, and expires for 32-bit platforms in 2038 also for seconds.
Conversion via std::tm might might seem silly, but actually doesn't add any complexity.
One would expect tm -> seconds-since-epoch to already exist on the standard library. There is mktime, but it uses localtime (and sets an environment variable, and has the 2038 problem).
The ASN1 TIME parsing is limited to what is required by RFC 5280.
BUG=webrtc:5150
R=hbos@webrtc.org, nisse@webrtc.org, tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1468273004 .
Cr-Commit-Position: refs/heads/master@{#10854}
Reason for revert:
Speculative revert since a downstream test started failing with this.
Original issue's description:
> Add _decoder CHECK to VCMGenericDecoder constructor.
>
> This should never be using a null decoder, but it looks like it's
> crashing out in the field. Adding a CHECK to see if it catches any
> interesting stack traces.
>
> Also making the _decoder pointer const to show that it should never be
> changing.
>
> BUG=chromium:563299
> R=stefan@webrtc.org
>
> Committed: a443ec1a75TBR=stefan@webrtc.org,pbos@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:563299
Review URL: https://codereview.webrtc.org/1490703002
Cr-Commit-Position: refs/heads/master@{#10851}
The callback keeps a reference to an object until the callback goes out of scope.
Review URL: https://codereview.webrtc.org/1487493002
Cr-Commit-Position: refs/heads/master@{#10847}
This should never be using a null decoder, but it looks like it's
crashing out in the field. Adding a CHECK to see if it catches any
interesting stack traces.
Also making the _decoder pointer const to show that it should never be
changing.
BUG=chromium:563299
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1485713002 .
Cr-Commit-Position: refs/heads/master@{#10843}
-Renamed the TimeToFrequency and FrequencyToTime functions.
-Moved the windowing from the TimeToFrequency function.
-Simplified the EchoSubtraction function.
Note that the aec state is still an input to the EchoSubtraction function, and it currently needs to be that in order to support the output of the debug file. The longer-term goal is, however, to order the state into substates. This will simplify the parameter lists to the EchoCancellation function as well as replace the aec state as a parameter
BUG=webrtc:5201
Review URL: https://codereview.webrtc.org/1456123003
Cr-Commit-Position: refs/heads/master@{#10830}
In https://codereview.webrtc.org/1481493004/ some duplicated headers
were left to make it possible to update downstream without breakage.
Now that's done and we can remove these to avoid confusion.
BUG=webrtc:5095
TBR=henrik.lundin@webrtc.org, kwiberg@webrtc.org
TESTED=Passing compile-trybots with --clobber flag:
git cl try --clobber --bot=win_compile_rel --bot=linux_compile_rel --bot=android_compile_rel --bot=mac_compile_rel --bot=ios_rel --bot=linux_gn_rel --bot=win_x64_gn_rel --bot=mac_x64_gn_rel --bot=android_gn_rel -m tryserver.webrtc
NOTRY=True
Review URL: https://codereview.webrtc.org/1477423002
Cr-Commit-Position: refs/heads/master@{#10829}
Multiple decoders were used for the same payload type in this test case,
causing CHECK failures when configuring.
BUG=webrtc:5249
TBR=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1484443003 .
Cr-Commit-Position: refs/heads/master@{#10825}
Created rtcp::Psfb abstract class between rtcp::Pli and rtcp::RtcpPacket to hold common data for Feedback Message.
BUG=webrtc:5260
Review URL: https://codereview.webrtc.org/1446513002
Cr-Commit-Position: refs/heads/master@{#10823}
Prevents double-initialization of decoders due to resolution changes
between initial database settings and first incoming frame.
BUG=webrtc:5251
R=mflodman@webrtc.org
Review URL: https://codereview.webrtc.org/1474193002 .
Cr-Commit-Position: refs/heads/master@{#10822}
Also adds a RTC_CHECK in VideoReceiveStream that verifies that decoders
aren't null, since this will attempt to deregister a codec which would
previously fail with an obscure stack trace not indicating what actually
was wrong.
BUG=webrtc:5249
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1479793002 .
Cr-Commit-Position: refs/heads/master@{#10821}