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}
* Move PlatformThread to rtc::.
* Remove ::CreateThread factory method.
* Make non-scoped_ptr from a lot of invocations.
* Make Start/Stop void.
* Remove rtc::Thread priorities, which were unused and would collide.
* Add ::IsRunning() to PlatformThread.
BUG=
R=tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1476453002 .
Cr-Commit-Position: refs/heads/master@{#10812}
This is the last piece of the old directory layout of the modules.
Duplicated header files are left in audio_coding/main/include until
downstream code is updated to the new location. They have pragma
warnings added to them and identical header guards as the new headers to avoid breaking things.
BUG=webrtc: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 --bot=linux_gn_rel --bot=win_x64_gn_rel --bot=mac_x64_gn_rel --bot=android_gn_rel -m tryserver.webrtc
NOTRY=True
NOPRESUBMIT=True
Review URL: https://codereview.webrtc.org/1481493004
Cr-Commit-Position: refs/heads/master@{#10803}
Also removes all virtual methods. Permits using a thread from
rtc_base_approved (namely event tracing).
BUG=webrtc:5158
R=tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1469013002
Cr-Commit-Position: refs/heads/master@{#10760}
This change allows us to delete AcmReceiver::last_audio_codec_id().
BUG=webrtc:3520
Review URL: https://codereview.webrtc.org/1467183002
Cr-Commit-Position: refs/heads/master@{#10756}
This change moves the logics for keeping track of the last ouput
sample rate from AcmReceiver to NetEq, where it fits better. The
getter function AcmReceiver::current_sample_rate_hz() is renamed to
last_output_sample_rate_hz().
BUG=webrtc:3520
Review URL: https://codereview.webrtc.org/1467163002
Cr-Commit-Position: refs/heads/master@{#10754}
Also clean up some include_dir entries and update the few
references to them with absolute include paths instead.
Finally fixed a few lint errors and invalid header guards.
None of these are used downstream.
BUG=webrtc:5095
TESTED=git cl try -c --bot=android_compile_rel --bot=linux_compile_rel --bot=win_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
R=kwiberg@webrtc.org
Review URL: https://codereview.webrtc.org/1438663003 .
Cr-Commit-Position: refs/heads/master@{#10700}
This is to prevent size_t from undefined. This does not happen in current WebRTC since the sources that opus_inst.h gets used have proper definitions. But it would be good to add the definition in itself.
Review URL: https://codereview.webrtc.org/1446093003
Cr-Commit-Position: refs/heads/master@{#10653}
This leaves CodecOwner without a job, so we eliminate it.
BUG=webrtc:5028
Review URL: https://codereview.webrtc.org/1443653004
Cr-Commit-Position: refs/heads/master@{#10650}
It can be computed from other members, notably the current encoder's
number of channels.
BUG=webrtc:5028
Review URL: https://codereview.webrtc.org/1423803007
Cr-Commit-Position: refs/heads/master@{#10585}
Future CLs will move it even further down the stack.
BUG=webrtc:5028
Review URL: https://codereview.webrtc.org/1431103002
Cr-Commit-Position: refs/heads/master@{#10580}
Opus may have an internal error that causes this. Here we make a workaround by adding some small disturbance to the input signals to break a long sequence of zeros.
BUG=webrtc:5127
Review URL: https://codereview.webrtc.org/1415173005
Cr-Commit-Position: refs/heads/master@{#10565}
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}
Reading of PCAP (Wireshark) files was not possible due to a bug in the
parsing of files. This change fixes that by adding new validator methods
to RtpFileSource that can be used to determine the input file type.
R=ivoc@webrtc.org
Review URL: https://codereview.webrtc.org/1427923003
Cr-Commit-Position: refs/heads/master@{#10490}
This method is no longer called. With that gone, a number of other
methods and member variables are obsoleted, and removed.
Methods deleted:
AcmReceiver::InsertStreamOfSyncPackets
AcmReceiver::GetNumSyncPacketToInsert()
AcmReceiver::GetSilence, never called
Member variables deleted:
missing_packets_sync_stream_
late_packets_sync_stream_
av_sync_
initial_delay_manager_
BUG=webrtc:3520
Review URL: https://codereview.webrtc.org/1419573013
Cr-Commit-Position: refs/heads/master@{#10484}
This change avoids calling neteq_->EnableVad() and DisableVad from the
AcmReceiver constructor. Instead, the new member
enable_post_decode_vad is added to NetEq's config struct. It is
disabled by defualt, but ACM sets it to enabled. This preserves the
behavior both of NetEq stand-alone (i.e., in tests) and of ACM.
BUG=webrtc:3520
Review URL: https://codereview.webrtc.org/1425133002
Cr-Commit-Position: refs/heads/master@{#10476}
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}
The former is very similar to the latter, but less general (mostly in
naming).
This CL, which is the first to use Maybe at scale, also removes the implicit conversion from T to Maybe<T>, since it was agreed that the increased verbosity increased legibility.
Review URL: https://codereview.webrtc.org/1430433004
Cr-Commit-Position: refs/heads/master@{#10461}
This operation was relatively simple, since no one was doing anything
fishy with this enum. A large number of lines had to be changed
because the enum values now live in their own namespace, but this is
arguably worth it since it is now much clearer what sort of constant
they are.
BUG=webrtc:5028
Review URL: https://codereview.webrtc.org/1424083002
Cr-Commit-Position: refs/heads/master@{#10449}
Negative acknowledgement (NACK) has up to now been implemented in
ACM. But, since NetEq is in charge of the actual packet buffer, it
makes more sense to have the NACK functionlaity in there.
This CL does the following:
- Move nack.{h,cc} and the unit tests from main/acm2 to neteq.
- Move the NACK related code in ACM into NetEq.
- NACK related functions in AcmReceiver are changed to simple
forwarding APIs.
- Remove unused members in AcmReceiver.
- Remove unused API functions in NetEq.
BUG=webrtc:3520
Review URL: https://codereview.webrtc.org/1410073006
Cr-Commit-Position: refs/heads/master@{#10448}
Following CLs will finish the takeover completely. After that,
RentACodec will also start creating and owning codecs, at which point
its name will start making sense.
BUG=webrtc:5028
Review URL: https://codereview.webrtc.org/1412683006
Cr-Commit-Position: refs/heads/master@{#10432}
We have decided not to do a switch from old (AudioCodingModule) to new
(AudioCoding) API. Instead, we will gradually evolve the old API to
meet the new design goals.
As a consequence of this decision, the AudioCoding and AudioCodingImpl
classes are deleted. Also removing associated unit test sources. No
test coverage is lost with this operation, since the tests for the
"old" API are testing more than the deleted tests did.
BUG=webrtc:3520
Review URL: https://codereview.webrtc.org/1415163002
Cr-Commit-Position: refs/heads/master@{#10406}
Some toolchains (in this case referring to a g++ 4.9, or "arm-linux-
androideabi-g++ (GCC) 4.9 20140827 (prerelease)" according to my
--version, from the Android NDK r10e-rc4 and potentially with custom
patches; others may be affected as well) fail to prove that myVec in
WebRtcIsac_CorrelateInterVec is never used uninitialized. This is likely
due to the compiler thinking the assignment in line 468 might not
happen. Changing the loop condition in line 466 to rowCntr <
SOME_CONSTANT also helps, suggesting that the compiler can't infer that
there are only 2 values interVecDim can have at that point, and neither
of them are 0. Of course, this is not an acceptable fix, as it changes
behaviour.
This seems to be a compiler bug, or at least an issue with its
heuristics. However, we can't really change toolchains at the moment,
and ultimately this change improves support for certain older compilers.
BUG=
Review URL: https://codereview.webrtc.org/1406423004
Cr-Commit-Position: refs/heads/master@{#10337}