cl was originally reviewed here:
https://codereview.webrtc.org/2060403002/
- Add task queue to Call with the intent of replacing the use of one of the process threads.
- Split VideoSendStream in two. VideoSendStreamInternal is created and used on the new task queue.
- BitrateAllocator is now created on libjingle's worker thread but always used on the new task queue instead of both encoder threads and the process thread.
- VideoEncoderConfig and VideoSendStream::Config support move semantics.
- The encoder thread is moved from VideoSendStream to ViEEncoder. Frames are forwarded directly to ViEEncoder which is responsible for timestamping ? and encoding the frames.
TBR=mflodman@webrtc.org
BUG=webrtc:5687
Review-Url: https://codereview.webrtc.org/2250123002
Cr-Commit-Position: refs/heads/master@{#14014}
Users are updated to call libyuv functions directly. Also delete
related unit tests.
BUG=webrtc:5682
Review-Url: https://codereview.webrtc.org/2287233002
Cr-Commit-Position: refs/heads/master@{#14013}
The method is no longer used, since the jitter buffer delay is
obtained directly from AudioCodingModule instead of being calculated
and smoothed in VoiceEngine. Deleting a few obsolete member variables
as well.
BUG=webrtc:6237
Review-Url: https://codereview.webrtc.org/2290253002
Cr-Commit-Position: refs/heads/master@{#14007}
That is, rather than keeping a separate pointer and size.
This helps automate memory management in NetEq and will be useful in the
work to minimize the AudioDecoder interface as part of the injectable
audio codec work.
I'm planning a follow-up that will change the current management of Packet* to wrapping them in unique_ptr instead.
Review-Url: https://codereview.webrtc.org/2289093003
Cr-Commit-Position: refs/heads/master@{#14002}
The compiler optimization for Windows is O1 by default in GN, but O2 in GYP.
This might help explain the regression observed on neteq_performance_unittest.
NOTRY=True
BUG=641966
Review-Url: https://codereview.webrtc.org/2291253003
Cr-Commit-Position: refs/heads/master@{#13999}
Using a timestamp based on a timer that is monotonically increasing for
the cache, so that cache's freshness can be checked regardless of if
system clock is modified.
Using a system clock for the stats' timestamp, which needs to be
relative to UNIX epoch (Jan 1, 1970, UTC).
This CL removes the dependency on faketiming.h.
BUG=chromium:627816
NOTRY=True
Review-Url: https://codereview.webrtc.org/2299643002
Cr-Commit-Position: refs/heads/master@{#13997}
This test has been failing on TSan lately:
../../webrtc/media/base/videoengine_unittest.h:519: Failure
Value of: GetReceiverStats(i).frame_width
Actual: 0
Expected: DefaultCodec().width
Which is: 640
The root cause for the failure appears to be that the stats update
(https://cs.chromium.org/chromium/src/third_party/webrtc/video/video_receive_stream.cc?rcl=1472584967&l=353)
happens to be after the frame is passed to the renderer - while the test
is only waiting for the former.
The fix is to give it some extra time using EXPECT_EQ_WAIT instead.
Review-Url: https://codereview.webrtc.org/2299483002
Cr-Commit-Position: refs/heads/master@{#13991}
With this change, the value 0xFF is no longer used to flag that the RTP
type is unknown. Instead, an empty value for the rtc::Optional is used.
Review-Url: https://codereview.webrtc.org/2290153002
Cr-Commit-Position: refs/heads/master@{#13989}
Reason for revert:
Downstream apps should now be fixed.
Original issue's description:
> Revert of Remove the old AndroidVideoCapturer stack code. (patchset #2 id:20001 of https://codereview.webrtc.org/2235893003/ )
>
> Reason for revert:
> Breaks downstream.
>
> Original issue's description:
> > Remove the old AndroidVideoCapturer stack code.
> >
> > This code is no longer needed. Apps should be using the new API introduced here: https://codereview.webrtc.org/2127893002/
> >
> > Committed: https://crrev.com/1b365a8db070f9cdcbf35ec871f758dcd909e51d
> > Cr-Commit-Position: refs/heads/master@{#13950}
>
> TBR=magjed@webrtc.org,glaznev@webrtc.org,kjellander@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/e39f251dacf66e50153bcda615f06b7c59e5856b
> Cr-Commit-Position: refs/heads/master@{#13958}
TBR=magjed@webrtc.org,glaznev@webrtc.org,kjellander@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
Review-Url: https://codereview.webrtc.org/2298063003
Cr-Commit-Position: refs/heads/master@{#13988}
Also, make explicit that the GYP build has limited support.
BUG=webrtc:6281
NOTRY=True
Review-Url: https://codereview.webrtc.org/2298143002
Cr-Commit-Position: refs/heads/master@{#13984}
This is step 2 of the plan below.
The modified plan
1. First land unmodified task_queue.h into webrtc_override in Chrome
2. Modify build files in the webrtc repo to include the task_queue.h and task_queue.cc from webrtc_overrides. This will breaks webrtc Chrome FYI.
3. Combine a roll of webrtc to Chrome and a the cl in https://codereview.chromium.org/2293913003/ into one cl.
The combined cl will roll in build files from 2 and add task_queue.cc in webrtc_overrides and build task_queue_unittest.cc as part of content_unittests to test task_queue.cc in webrtc_overrides.
4... Start using task queues in webrtc........
BUG=webrtc:5687
Review-Url: https://codereview.webrtc.org/2289203002
Cr-Commit-Position: refs/heads/master@{#13983}
hbos and hta are webrtc/stats/ OWNERS. Public api headers relating to
rtcstats are placed in webrtc/api/ and implementations are placed in
webrtc/stats/. This ownership allows the rtcstats owners to own both .cc
and .h files.
For example, rtcstats.[h/cc] and rtcstatsreport.[h/cc].
(Soon there will also be rtcstats_objects.[h/cc] and more.)
BUG=chromium:627816
Review-Url: https://codereview.webrtc.org/2294693002
Cr-Commit-Position: refs/heads/master@{#13981}
Change the previous GN configs to build GYP instead
(since we'll keep GYP around for a while) but exclude tests
and examples for that config, since we'll only support the production
code for GYP.
Add new configs for upcoming rename of those bots to GYP instead
of GN.
BUG=webrtc:5949
NOTRY=True
TBR=ehmaldonado@webrtc.org
Review-Url: https://codereview.webrtc.org/2291443002
Cr-Commit-Position: refs/heads/master@{#13980}
This is the stats collector for the new stats types, RTCStats[1] and
RTCStatsReport[2]. It so far only produces RTCPeerConnectionStats[3] as
an example of how it would collect stats. Each RTCStats subclass will
get a corresponding RTCStatsCollector::ProduceFooStats().
Stats reports are cached and returned as const references (ref
counting). This allows stats to be inspected by multiple observers and
across multiple threads. No copies will have to be made when surfacing
this to Blink or other places.
The current implementation of ProducePeerConnectionStats() only look at
existing DataChannels. This might be incorret if data channels can be
removed? Will investigate in a follow-up, crbug.com/636818.
[1] https://www.w3.org/TR/2016/WD-webrtc-20160531/#idl-def-rtcstats
[2] https://www.w3.org/TR/2016/WD-webrtc-20160531/#rtcstatsreport-object
[3] https://w3c.github.io/webrtc-stats/archives/20160526/webrtc-stats.html#pcstats-dict*
BUG=chromium:627816, chromium:636818
Review-Url: https://codereview.webrtc.org/2242043002
Cr-Commit-Position: refs/heads/master@{#13979}
when building the code for ARM.
The intention is to follow up this CL with other CLs that
further addresses the internal resampling in APM
BUG=webrtc:6181
Review-Url: https://codereview.webrtc.org/2265473003
Cr-Commit-Position: refs/heads/master@{#13974}
GetCopyWithRotationApplied is not yet deleted; downstream projects
must be updated first.
BUG=webrtc:5682
Review-Url: https://codereview.webrtc.org/2285693002
Cr-Commit-Position: refs/heads/master@{#13973}
Fix some out-of-sync differences between GYP and GN targets for
desktop capture.
Remove sources that aren't used on iOS for that platform, to solve
linking errors that surfaced when flipping iOS to GN by default.
BUG=webrtc:5949
NOTRY=True
TBR=sergeyu@chromium.org
Review-Url: https://codereview.webrtc.org/2289103002
Cr-Commit-Position: refs/heads/master@{#13971}
The invalid condition made the test be included for iOS, which
fails linking.
BUG=webrtc:5949, webrtc:5544
NOTRY=True
Review-Url: https://codereview.webrtc.org/2291023002
Cr-Commit-Position: refs/heads/master@{#13970}
In order to get resource files to be properly packaged into
the .app for a unit test on iOS, the resource files needs
to be listed as sources in a bundle_data target.
BUG=webrtc:5949
NOTRY=True
Review-Url: https://codereview.webrtc.org/2292853002
Cr-Commit-Position: refs/heads/master@{#13968}