Original issue's description:
> Adding a some checks and switching out a few assert for RTC_[D]CHECK.
> These changes are around use of AudioFrame.data_ to help us catch issues earlier since assert() is left out in release builds, including builds with DCHECK enabled. I've also added a few full-on CHECKs to avoid reading past buffer boundaries or continuing on in a failed state.
>
> BUG=chromium:613482
> NOTRY=true
> (using notry due to offline android_arm64_rel bot)
>
> Committed: https://crrev.com/d36df89d40bde3c62ee5cbff841933e50b3c007b
> Cr-Commit-Position: refs/heads/master@{#12870}
TBR=henrik.lundin@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=chromium:613482
Review-Url: https://codereview.webrtc.org/2009253004
Cr-Commit-Position: refs/heads/master@{#12907}
Channel's API remains unchanged, but the creation of a BuiltinAudioDecoderFactory is now in Channel. The next step would be to amend Channel's API (through CreateChannel, I believe) to allow an AudioDecoderFactory to be sent along.
BUG=webrtc:5805
Review-Url: https://codereview.webrtc.org/1992763002
Cr-Commit-Position: refs/heads/master@{#12893}
Reason for revert:
Reverting temporarily. Need to fix tests downstream that pass invalid arguments.
Original issue's description:
> Adding a some checks and switching out a few assert for RTC_[D]CHECK.
> These changes are around use of AudioFrame.data_ to help us catch issues earlier since assert() is left out in release builds, including builds with DCHECK enabled. I've also added a few full-on CHECKs to avoid reading past buffer boundaries or continuing on in a failed state.
>
> BUG=chromium:613482
> NOTRY=true
> (using notry due to offline android_arm64_rel bot)
>
> Committed: https://crrev.com/d36df89d40bde3c62ee5cbff841933e50b3c007b
> Cr-Commit-Position: refs/heads/master@{#12870}
TBR=henrik.lundin@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:613482
Review-Url: https://codereview.webrtc.org/2006243002
Cr-Commit-Position: refs/heads/master@{#12874}
These changes are around use of AudioFrame.data_ to help us catch issues earlier since assert() is left out in release builds, including builds with DCHECK enabled. I've also added a few full-on CHECKs to avoid reading past buffer boundaries or continuing on in a failed state.
BUG=chromium:613482
NOTRY=true
(using notry due to offline android_arm64_rel bot)
Review-Url: https://codereview.webrtc.org/2007563002
Cr-Commit-Position: refs/heads/master@{#12870}
This change turns muted state on by default in VoiceEngine, but not
for NetEq or AudioCodingModule when used stand-alone.
The expected effect is that voice channels that have not received any
packets for some time should reduce their CPU usage. This should have
a noticeable effect on endpoints with many incoming streams, but where
only a few have packets incoming at any given time (i.e., where an
intermediate server filters out the majority of the streams).
BUG=webrtc:5606
NOTRY=True
Review-Url: https://codereview.webrtc.org/1987143003
Cr-Commit-Position: refs/heads/master@{#12797}
Required updating of a few related classes and tests.
BUG=webrtc:5609
NOTRY=True
Review-Url: https://codereview.webrtc.org/1986093002
Cr-Commit-Position: refs/heads/master@{#12794}
Deleted the temporary ACM method without the muted parameter, and had
to modify several tests for this. The muted parameter is not yet propagated to the AudioConferenceMixer; this is the next step.
BUG=webrtc:5609
TBR=perkj@webrtc.org
Review-Url: https://codereview.webrtc.org/1985743002
Cr-Commit-Position: refs/heads/master@{#12779}
VoENetwork is kept for now, but is not really used anylonger.
webrtcvoiceengine is changed to have the same behavior for unsignaled
ssrc as video has, which is reflected by disabling one test case and
this will be discussed and followed up.
BUG=webrtc:5079
TBR=tommi
Review-Url: https://codereview.webrtc.org/1909333002
Cr-Commit-Position: refs/heads/master@{#12555}
With this change, the VoE Channel will handle the case of an empty
playout timestamp (from audio_coding_->PlayoutTimestamp())
differently. The purpose of the change is to prepare for an upcoming
change in NetEq where empty values will be returned more often (i.e.,
not only before the first packet is received).
BUG=webrtc:5669
Review URL: https://codereview.webrtc.org/1857183002
Cr-Commit-Position: refs/heads/master@{#12261}
This is in preparation for changes to when the playout timestamp is
valid.
BUG=webrtc:5669
Review URL: https://codereview.webrtc.org/1853183002
Cr-Commit-Position: refs/heads/master@{#12256}
Muting/unmuting is triggered in the PeerConnection API by calling setEnable() on an audio track.
BUG=webrtc:5671
Review URL: https://codereview.webrtc.org/1810413002
Cr-Commit-Position: refs/heads/master@{#12121}
Reason for revert:
Revert because it breaks downstream code.
Original issue's description:
> Clean away use of RtpAudioFeedback interface from RTP/RTCP receiver code.
>
> BUG=webrtc:4690
>
> Committed: https://crrev.com/69a81999ace08e40e2b2ec526b0e111aa11b9538
> Cr-Commit-Position: refs/heads/master@{#12015}
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:4690
Review URL: https://codereview.webrtc.org/1812453002
Cr-Commit-Position: refs/heads/master@{#12016}
- Change argument type to int for SetSendTelephoneEventPayloadType()
BUG=webrtc:4690
Review URL: https://codereview.webrtc.org/1798903002
Cr-Commit-Position: refs/heads/master@{#11980}
- Clean up unused methods in voe::Channel following removal of VoEDtmf APIs.
BUG=webrtc:4690
Review URL: https://codereview.webrtc.org/1785643006
Cr-Commit-Position: refs/heads/master@{#11976}
- Use better types in AudioSendStream::SendTelephoneEvent() and related methods.
BUG=webrtc:4690
Review URL: https://codereview.webrtc.org/1782053002
Cr-Commit-Position: refs/heads/master@{#11953}
- Use better types in AudioSendStream::SendTelephoneEvent() and related methods.
BUG=webrtc:4690
Review URL: https://codereview.webrtc.org/1722253002
Cr-Commit-Position: refs/heads/master@{#11927}
Instead relies on SetSendingMediaStatus() to filter out receiving RTP
modules. This status is now set in VoiceEngine's SetSend() for senders
along with SetSendingStatus().
BUG=
R=solenberg@webrtc.org, stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1705763002 .
Cr-Commit-Position: refs/heads/master@{#11768}
Also introduce a pair of scoped_ptr <-> unique_ptr conversion
functions. By using them judiciously, we can keep these CL:s small and
avoid having to convert enormous amounts of code at once.
BUG=webrtc:5520
Review URL: https://codereview.webrtc.org/1702983002
Cr-Commit-Position: refs/heads/master@{#11658}
This makes it possible to handle send and receive streams with the same SSRC, which is currently the case in some peer connection tests.
Also moves sending transport feedback to the pacer thread.
BUG=webrtc:5263
Review URL: https://codereview.webrtc.org/1628683002
Cr-Commit-Position: refs/heads/master@{#11443}
Also remove mischievous tab character!
This is a part of getting rid of CriticalSectionWrapper and makes the code slightly simpler.
BUG=
Review URL: https://codereview.webrtc.org/1607353002
Cr-Commit-Position: refs/heads/master@{#11346}
Adds logging to RTPSender and RTCPSender, pushing an event log pointer from Channel through ModuleRtpRtcpImpl to the Sender objects.
BUG=webrtc:4741
Review URL: https://codereview.webrtc.org/1571283002
Cr-Commit-Position: refs/heads/master@{#11336}
Reason for revert:
tommi pointed out that using a refptr for the sink may cause issues. Will reland with a slightly different approach.
Original issue's description:
> Storing raw audio sink for default audio track.
>
> BUG=webrtc:5250
>
> Committed: https://crrev.com/e591f9377f33f3f725a30faecd1bef1a71fa6b99
> Cr-Commit-Position: refs/heads/master@{#11230}
TBR=pthatcher@webrtc.org,solenberg@webrtc.org,pbos@webrtc.org,tommi@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5250
Review URL: https://codereview.webrtc.org/1588693002
Cr-Commit-Position: refs/heads/master@{#11241}
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}
- 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}
This changes the following module directories:
* webrtc/modules/audio_conference_mixer/interface
* webrtc/modules/interface
* webrtc/modules/media_file/interface
* webrtc/modules/rtp_rtcp/interface
* webrtc/modules/utility/interface
To avoid breaking downstream, I followed this recipe:
1. Copy the interface dir to a new sibling directory: include
2. Update the header guards in the include directory to match the style guide.
3. Update the header guards in the interface directory to match the ones in include. This is required to avoid getting redefinitions in the not-yet-updated downstream code.
4. Add a pragma warning in the header files in the interface dir. Example:
#pragma message("WARNING: webrtc/modules/interface is DEPRECATED; "
"use webrtc/modules/include")
5. Search for all source references to webrtc/modules/interface and update them to webrtc/modules/include (*.c*,*.h,*.mm,*.S)
6. Update all GYP+GN files. This required manual inspection since many subdirectories of webrtc/modules referenced the interface dir using ../interface etc(*.gyp*,*.gn*)
BUG=5095
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 -m tryserver.webrtc
R=stefan@webrtc.org, tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1417683006 .
Cr-Commit-Position: refs/heads/master@{#10500}
The end goal is to remove AcmReceiver::SetInitialDelay. This change is
in preparation for that goal. It turns out that
AcmReceiver::SetInitialDelay was only invoked through the following
call chain, where each method in the chain is never referenced from
anywhere else (except from tests in some cases):
ViEChannel::SetReceiverBufferingMode
-> ViESyncModule::SetTargetBufferingDelay
-> VoEVideoSync::SetInitialPlayoutDelay
-> Channel::SetInitialPlayoutDelay
-> AudioCodingModule::SetInitialPlayoutDelay
-> AcmReceiver::SetInitialDelay
The start of the chain, ViEChannel::SetReceiverBufferingMode was never
referenced.
This change deletes all the methods above except
AcmReceiver::SetInitialDelay itself, which will be handled in a
follow-up change.
BUG=webrtc:3520
Review URL: https://codereview.webrtc.org/1421013006
Cr-Commit-Position: refs/heads/master@{#10471}
Also updated the RTPPayloadRegistry::RestoreOriginalPacket signature to not take the first arg as a **, since it isn't modified.
Review URL: https://codereview.webrtc.org/1394573004
Cr-Commit-Position: refs/heads/master@{#10276}
This allows us to pass packet meta data, such as transport sequence
number, to libjingle and further down to the socket implementation. A
similar struct already exist in libjingle, see rtc::PacketOptions in asyncpacketsocket.h.
BUG=4173
Review URL: https://codereview.webrtc.org/1376673004
Cr-Commit-Position: refs/heads/master@{#10144}