One reason for the circular deps is that common_types.h is a
historical dumping ground for various structs and defines that
are believed to be generally useful. I tried moving things out
that did not appear to be used downstream (StreamCounters,
RtpCounters etc) and moved the things that seemed used
(RtpHeader + supporting structs) to a new file api/rtp_headers.h.
This makes their place in the api more clear while moving out
the things that don't belong in the API in the first place.
I had to extract out typedefs.h from webrtc_common to resolve
another circular dependency. I believe checks includes typedefs,
but common depends on checks.
Bug: webrtc:7745
Change-Id: I725d49616b1ec0cdc8b74be7c078f7a4d46f084b
Reviewed-on: https://webrtc-review.googlesource.com/33001
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21295}
This CL removes the following GN variables: rtc_build_libyuv,
rtc_libyuv_dir (as requested in webrtc:7906).
It also removes some unneeded dependencies on //third_party/libyuv.
WebRTC targets were using public_deps to depend on //third_party/libyuv
and this created a build graph where targets that were depending on
//third_party/libyuv were not declaring the dependency to GN because
they were somehow getting it from another target that was exposing
//third_party/libyuv header files even if it wasn't directly depending
on it.
Bug: webrtc:8605, webrtc:7906
Change-Id: If71f7988fd80421dc2ad887cf94c2ac66366c3fb
Reviewed-on: https://webrtc-review.googlesource.com/32201
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21275}
This splits things out of rtc_base and makes dependencies explicit.
Bug: webrtc:6828
Change-Id: Id521896c3c43595349021c857bec216e429a0c8d
Reviewed-on: https://webrtc-review.googlesource.com/32780
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21264}
This splits things out of rtc_base and makes dependencies explicit.
Bug: webrtc:6828
Change-Id: Ib813c7bd9e4de7ab015acb917bc09ee7204ba7bd
Reviewed-on: https://webrtc-review.googlesource.com/31940
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21245}
This tool is used downstream, so we want to christen rtc_tools as
a kind of api dir for tools. Tools in other locations should be
considered off limits.
I chose rtc_tools because video_quality_toolchain is already there,
which is also used downstream.
Bug: None
Change-Id: I234d874c8a590ca7413357ecda26b16d9b399836
Reviewed-on: https://webrtc-review.googlesource.com/32340
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21236}
In order to support WinUWP platform, all main(..) routines must be normalized to the formal int main(int argc, char* argv[]) form. A platform wrapper main is auto-created linking against the default main(...). This can only work if the linkage is exactly matching the proper formal definition and not a loosely defined main(...) alternative.
Bug: webrtc:8608
Change-Id: I606663aaea7df1792c7c5636279617b8926fa5cc
Reviewed-on: https://webrtc-review.googlesource.com/28721
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21229}
Using fully qualified paths to include libyuv headers allows WebRTC to
avoid to rely on the //third_party/libyuv:libyuv_config target to
set the -I compiler flag.
Today some WebRTC targets depend on //third_party/libyuv only to
include //third_party/libyuv:libyuv_config but with fully qualified
paths this should not be needed anymore.
A follow-up CL will remove //third_party/libyuv from some targets that
don't need it because they are not including libyuv headers.
Bug: webrtc:8605
Change-Id: Icec707ca761aaf2ea8088e7f7a05ddde0de2619a
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/28220
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21209}
Alr state is now logged by the pacer. To avoid confusion,
loopback tools will now create two separate rtc event
logs for sender and receiver calls.
Bug: webrtc:8287, webrtc:8588
Change-Id: Ib3e47d109c3a65a7ed069b9a613e6a08fe6a2f30
Reviewed-on: https://webrtc-review.googlesource.com/26880
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21084}
CL https://webrtc-review.googlesource.com/c/src/+/28120 removed a
public dependency from rtc_tools:video_quality_analysis on
common_video:common_video.
This was keeping the MSVC64(dbg) build green because was giving the
linker the opportunity to find api:optional symbols.
This CL tries to fix and adds a TODO to remove the synthetic
dependency. The dependency on api:optional should be added to
rtc_base:rtc_base_approved_generic but this triggers another
dependency cycle.
TBR=tommi@webrtc.org
Bug: webrtc:6828
Change-Id: I4e28b49fdb3ee6484a253ca7b1f1a8aafa20e915
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/29683
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21079}
A lot of WebRTC targets were depending on //third_party/libyuv using
public_deps instead of deps. This causes issues because a the
inclusion of libyuv headers is not declared to the build system and
this creates hidden dependencies that put the modularity of the project
at risk.
Bug: webrtc:8603
Change-Id: Ide0ceb84eb5640ae664dc782f3a722b55c3b601a
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/28120
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21039}
Notifications are printed for gaps in seq number, capture timestamp, arrival and send times for RTP and RTCP, and high average loss.
The notifications are printed to stderr by default, but internally they are represented as subclasses to a TriageNotification base class in order to facilitate other output formats.
Initially, this is only run if the event_log_visualizer is given the flag --print_triage_notifications.
Only the first (LOG_START, LOG_END) segment is processed.
Bug: webrtc:8383
Change-Id: If43ef7f115f622fa5552dc50951a11d5f9e3cbaa
Reviewed-on: https://webrtc-review.googlesource.com/8720
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20974}
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.
This CL was uploaded by git cl split.
R=mbonadei@webrtc.org
Bug: None
Change-Id: Iec336d342414dc68b59ba4b4623fdf768f6fb655
Reviewed-on: https://webrtc-review.googlesource.com/23602
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20932}
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.
This CL was uploaded by git cl split.
R=terelius@webrtc.org
Bug: None
Change-Id: I18b44f6c1bd3ccb4288807eee883b87afa7900f4
Reviewed-on: https://webrtc-review.googlesource.com/23569
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20875}
Specifically, I'm moving
safe_compare.h
safe_conversions.h
safe_minmax.h
They shouldn't be part of the API, and moving them to an appropriate
subdirectory of rtc_base/ is a good way to keep track of that.
BUG=webrtc:8445
Change-Id: I458531aeb30bcf4291c4bec3bf22a2fffbf054ff
Reviewed-on: https://webrtc-review.googlesource.com/20860
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20829}
Ran into these when trying a newer libstdc++
Bug: None
Change-Id: Ie3ce0ae1ae1e6da1a15476fbf942b48b37adc9fa
Reviewed-on: https://webrtc-review.googlesource.com/23501
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20701}
Conditional visibility is complex to maintain and it is not well
supported by other build systems.
This CL removes it and falls back on the more relaxed visibility value
("*" in this case).
It is not a problem because the targets that are using conditional
visibility are all marked as "testonly" and this is probably enough to
keep the build graph clean.
Bug: None
Change-Id: I2d2b5ac9a02d08c2863950116db455976ee1459c
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/14902
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20658}
To facilitate this change, I replaced the graph style with one style
config for lines/interpolation and one style config for points.
The output functions were updated to make use of the new styles.
Bug: None
Change-Id: I42404a8ce274d6e433bcdd6aee4b15b640e78b40
Reviewed-on: https://webrtc-review.googlesource.com/22000
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20645}
The difference between capture time and the log time for incoming packets include the network delay, so it is misleading to show them in the pacer delay graph.
Bug: webrtc:8508
Change-Id: Ib2e727f7d2971c66ccf9693cb1a92e066e169bed
Reviewed-on: https://webrtc-review.googlesource.com/21326
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20642}
Makes the script a bit more accurate in identifying place-holder
header files.
Bug: None
Change-Id: Iba13562aed0d40bffef9c25d7345f3bb8af16c29
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/4381
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20357}
The bug comes from computing the axis limits before adding the data.
Bug: webrtc:8417
Change-Id: I1e3860b4f655f40cd261d09b8357d563dbe51f1d
Reviewed-on: https://webrtc-review.googlesource.com/12922
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20355}
Revert the change to rtc_tools/testing/utils.py in
https://webrtc-review.googlesource.com/c/src/+/12540
because it breaks downstream build pipeline.
TBR=phoglund@webrtc.org
Bug: webrtc:8393,b/67931921
Change-Id: Iee77f6b9b15fe03894ee63b48c07eaf3dce40c99
No-try: True
Reviewed-on: https://webrtc-review.googlesource.com/13101
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Commit-Queue: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20337}
Always use gn.py in depot_tools instead of just gn.
The https://cs.chromium.org/chromium/src/build/find_depot_tools.py
is looking up the DEPS-pinned copy in third_party/depot_tools
and adds it to the path when add_depot_tools_to_path() is called.
Similar use:
https: //cs.chromium.org/search/?q=%22find_depot_tools.add_depot_tools_to_path()%22&sq=package:chromium&type=cs
Bug: webrtc:8393
Change-Id: I3cfa3d96b4d0f60e8099e556876bc94340b1bbb5
Reviewed-on: https://webrtc-review.googlesource.com/12540
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@google.com>
Commit-Queue: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20333}
We're moving to an RtcEventLog interface that accepts std::unique_ptr<EventLog> and stores the event for encoding when encoding becomes necessary, rather than before. This will be useful while we maintain the legacy (current) encoding alongside the new encoding on which we're working.
This CL introduces RtcEventLogEncoderLegacy, which takes provides the encoding currently done by RtcEventLogImpl. After this, we can modify RtcEventLogImpl to use a dynamically chosen encoding, allowing us to easily choose between the current encoding and the new one on which we're working.
BUG=webrtc:8111
TBR=stefan@webrtc.org
Change-Id: I3dde7e222a40a117549a094a59b04219467f490a
Reviewed-on: https://webrtc-review.googlesource.com/1364
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20116}
StreamConfig is not integral to RTC-event logging in general, but rather to specific events. Therefore, the dependency on it should not be exported through rtc_event_log.h.
BUG=webrtc:8111
TBR=stefan@webrtc.org
Change-Id: I1ece0830cd05fd12220c8c717490e15942bacec9
Reviewed-on: https://webrtc-review.googlesource.com/1238
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19911}
Now that we have moved WebRTC from src/webrtc to src/, common_types.h
and typedefs.h are triggering a cpplint error.
The cpplint complaint is:
Include the directory when naming .h files [build/include] [4]
This CL disables the error but we have to remove these two headers
from the root directory.
NOPRESUBMIT=true
Bug: webrtc:5876
Change-Id: I08e1b69aadcc4b28ab83bf25e3819d135d41d333
Reviewed-on: https://webrtc-review.googlesource.com/1577
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@google.com>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19859}
In https://webrtc-review.googlesource.com/c/src/+/1560 we moved WebRTC
from src/webrtc to src/ (in order to preserve an healthy git history).
This CL takes care of fixing header guards, #include paths, etc...
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=tommi@webrtc.org
Bug: chromium:611808
Change-Id: Iea91618212bee0af16aa3f05071eab8f93706578
Reviewed-on: https://webrtc-review.googlesource.com/1561
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19846}
In order to eliminate the WebRTC Subtree mirror in Chromium,
WebRTC is moving the content of the src/webrtc directory up
to the src/ directory.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=tommi@webrtc.org
Bug: chromium:611808
Change-Id: Iac59c5b51b950f174119565bac87955a7994bc38
Reviewed-on: https://webrtc-review.googlesource.com/1560
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19845}