Change type of number of reference pictures (size_t -> uint8_t). Max is 2 bits.
Size of WebRtcRTPHeader: 4352 -> 1784 bytes.
BUG=webrtc:5144, chromium:500602
Review URL: https://codereview.webrtc.org/1427253002
Cr-Commit-Position: refs/heads/master@{#10504}
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}
field_trial_default and metrics_default don't use system_wrappers and
don't need to depend on it. The dependency on field_trial_default was
added in libjingle in crrev.com/356135 and that broke compilation of
libjingle for NaCl with GN because system_wrappers currently doesn't
compile for NaCl.
TBR=niklas.enbom@webrtc.org
Review URL: https://codereview.webrtc.org/1412003007
Cr-Commit-Position: refs/heads/master@{#10495}
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 is a re-land of https://codereview.webrtc.org/1353263005/
which was reverted because of perf-regressions. Changes since that CL:
* Change LayerFilteringTransport to send a padding packet instead of
dropping it for data that should be filtered out. This prevents
confusion due to changed sequence numbers.
* Changed timing of stats poller thread in VideoAnalyzer. Startup was
racy wrt initializion of send_stream_.
* Minor formatting issues.
PERF NOTE: This change will affect some performance numbers slightly.
In particular, {encode_frame_rate, encode_time_ms,
encode_usage_percent, media_bitrate_bps} will change due to timing
of the measurements.
BUG=
R=pbos@webrtc.orgTBR=mflodman@webrtc.org
Review URL: https://codereview.webrtc.org/1412233003
Cr-Commit-Position: refs/heads/master@{#10483}
Triggers more often on tsanv2 in parallel, suppressing for now to get
the parallel bot into the main waterfall.
BUG=chromium:445880, webrtc:5152
R=kjellander@webrtc.org
Review URL: https://codereview.webrtc.org/1428033002 .
Cr-Commit-Position: refs/heads/master@{#10480}
More visible in parallel execution of tsanv2, suppression needed for now
to launch parallel in main waterfall.
BUG=chromium:445880, webrtc:5151
R=kjellander@webrtc.org
Review URL: https://codereview.webrtc.org/1433433002 .
Cr-Commit-Position: refs/heads/master@{#10478}
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}
MediaCodec.stop() call may hang in some rear cases. To avoid
application hang this call need to be done on separate thread and
possible error reported back to application.
Application may elect to continue executing and use another codec
instance for encoding/decoding or stop the call and exit.
BUG=b/24339249
R=magjed@webrtc.org
Review URL: https://codereview.webrtc.org/1425143005 .
Cr-Commit-Position: refs/heads/master@{#10467}
The test didn't previously run on Android bots, but was enabled by
mistake in https://codereview.webrtc.org/1426643003/
It used to be long to the rtc_unittests target, which also don't run
on Android unfortunately. For now, let's just disable this one test
on Android to get the bots go green.
BUG=4364
TBR=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1419033007 .
Cr-Commit-Position: refs/heads/master@{#10464}
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}
Add a new interface to abstract away file operations. This CL temporarily
removes support for dumping the output of reverse streams. It will be easy to
restore in the new framework, although we may decide to only allow it with
the aecdump format.
We also now require the user to specify the output format, rather than
defaulting to the input format.
TEST=Bit-exact output to the previous audioproc_f version using an input wav
file, and to the legacy audioproc using an aecdump file.
Review URL: https://codereview.webrtc.org/1409943002
Cr-Commit-Position: refs/heads/master@{#10460}
When estimating that we can send more than the codec max bitrate (under
the assumption that codec max bitrate is good enough for the quality),
we should use additional bitrate so that we can maintain good quality.
Global bitrate caps should still be enforced through bitrate caps (b=AS)
and not codec max bitrates.
BUG=webrtc:5102
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1428473002
Cr-Commit-Position: refs/heads/master@{#10457}
This removes unnecessary RTP header extension overhead since only one of
these extensions is used at a time.
BUG=webrtc:4254
R=pbos@webrtc.org
Review URL: https://codereview.webrtc.org/1429753003 .
Cr-Commit-Position: refs/heads/master@{#10455}