Reason for revert:
Broke chrome build. Investigating.
First error relating to AddSink method in mock_peer_connection_dependency_factory.h
Original issue's description:
> New rtc::VideoSinkInterface.
>
> The plan is that this interface should be used by all classes which receive a stream of video frames, and replace the two generic classes webrtc::VideoRendererInterface and cricket::VideoRenderer.
>
> And the list goes on, there's a dozen of different classes which act as video frame sinks.
>
> At some point, we will likely add some method to handle sink properties like, e.g, maximum useful width and height. But hopefully this can be done while keeping the interface very simple.
>
> BUG=webrtc:5426
> R=perkj@webrtc.org, pthatcher@webrtc.org
>
> Committed: https://crrev.com/a862d4563fbc26e52bed442de784094ae1dfe5ee
> Cr-Commit-Position: refs/heads/master@{#11396}
TBR=pthatcher@webrtc.org,pbos@webrtc.org,perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5426
Review URL: https://codereview.webrtc.org/1646463002
Cr-Commit-Position: refs/heads/master@{#11397}
The plan is that this interface should be used by all classes which receive a stream of video frames, and replace the two generic classes webrtc::VideoRendererInterface and cricket::VideoRenderer.
And the list goes on, there's a dozen of different classes which act as video frame sinks.
At some point, we will likely add some method to handle sink properties like, e.g, maximum useful width and height. But hopefully this can be done while keeping the interface very simple.
BUG=webrtc:5426
R=perkj@webrtc.org, pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1594973006 .
Cr-Commit-Position: refs/heads/master@{#11396}
It works on all platforms except Android and iOS (FFmpeg limitation).
Implemented behind compile time flags, off by default.
The plan is to have it enabled in Chrome (see bug), but not in Chromium/webrtc by default.
Flags to turn it on:
- rtc_use_h264 = true
- ffmpeg_branding = "Chrome" (or other brand that includes H.264 decoder)
Tests using H264:
- video_loopback --codec=H264
- screenshare_loopback --codec=H264
- video_engine_tests (EndToEndTest.SendsAndReceivesH264)
NOTRY=True
BUG=500605, 468365
BUG=https://bugs.chromium.org/p/webrtc/issues/detail?id=5424
Review URL: https://codereview.webrtc.org/1306813009
Cr-Commit-Position: refs/heads/master@{#11390}
This CL fixes compiler / linker errors that occur if HAVE_WEBRTC_VIDEO is
not defined and introduces a new class NullWebRtcVideoEngine to use in
that case.
BUG=
TEST=remove define HAVE_WEBRTC_VIDEO from talk/build/common.gypi, run gclient runhooks and compile
Review URL: https://codereview.webrtc.org/1621453005
Cr-Commit-Position: refs/heads/master@{#11387}
We can't assume that the audio source implementation will be our own internal one and we shouldn't apply local audio options to a remote audio track this way either.
BUG=5423
R=solenberg@webrtc.org
Review URL: https://codereview.webrtc.org/1576913002 .
Cr-Commit-Position: refs/heads/master@{#11341}
Delete methods MaybeSetRenderingSize and IsRendererRegistered, the latter replaced by std::find.
Delete return values from AddRenderer and RemoveRenderer.
BUG=webrtc:5426
Review URL: https://codereview.webrtc.org/1603423002
Cr-Commit-Position: refs/heads/master@{#11332}
This type is used for GL contexts in android hardware encode/decode, so
it seems correct/useful to make it publicly constructable.
Review URL: https://codereview.webrtc.org/1604403002
Cr-Commit-Position: refs/heads/master@{#11331}
This ensures the DtmfSender won't try to access it after it's
destroyed.
BUG=webrtc:5403
Review URL: https://codereview.webrtc.org/1590333004
Cr-Commit-Position: refs/heads/master@{#11327}
webrtc::VideoRendererInterface::SetSize was completely unused.
cricket::VideoRenderer::SetSize only had dummy implementations
returning true and doing nothing.
BUG=webrtc:5426
Review URL: https://codereview.webrtc.org/1574963002
Cr-Commit-Position: refs/heads/master@{#11298}
If the track is disabled, replace incoming frames by black frames. Affects local rendering of disabled tracks.
Also intended to replace the similar logic in
WebRtcVideoChannel2::WebRtcVideoSendStream::InputFrame, once
VideoRtpSender is hooked up as a renderer for the track.
BUG=webrtc:5426
Review URL: https://codereview.webrtc.org/1575223003
Cr-Commit-Position: refs/heads/master@{#11297}
Plus, in stunport, turnport and allocation sequence, create a socket using the new interface.
BUG=
Review URL: https://codereview.webrtc.org/1556743002
Cr-Commit-Position: refs/heads/master@{#11279}
- Similar to HW decoder log timing for first 5 frames
of HW encoder input and output to track correct encoder
start.
- Increment input timestamp when frame is dropped.
- Better calculate average encoding time.
- Use different tags for encoder and decoder modules.
BUG=b/26504665
Review URL: https://codereview.webrtc.org/1587943004
Cr-Commit-Position: refs/heads/master@{#11277}
When libjingle is compied with ENABLE_EXTERNAL_AUTH the sending socket
needs to update RTP header in order for the outgoing packet to be
valid. The corresponding code was in chromium in
content/browser/renderer_host/p2p/socket_host.cc and it was impossible
to reuse it anywhere else. This CL moves this code to
talk/media/base/rtputils.h/cc, so it can be used outside of chrome.
BUG=crbug.com/547158
R=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1578323002 .
Cr-Commit-Position: refs/heads/master@{#11261}
Also, now creating the RtpSender/RtpReceiver proxy objects immediately,
rather than waiting until when GetSenders/GetReceivers is called.
Review URL: https://codereview.webrtc.org/1563403002
Cr-Commit-Position: refs/heads/master@{#11259}
Reason for revert:
These changes broke chrome.
Need to temporarily keep methods InitToEmptyBuffer, InitToBlack, CreateEmptyFrame with old but ignored arguments for pixel_width and pixel_height. Then update chrome, and delete the old methods in a separate cl.
Original issue's description:
> Delete remnants of non-square pixel support from cricket::VideoFrame.
>
> If ever needed, add some aspect ratio parameter, without pixel_width
> and pixel_height arguments cluttering commonly used functions.
>
> BUG=webrtc:5426
>
> Committed: https://crrev.com/709513d4133107d5c02aed34a5ee99444c4d4e25
> Cr-Commit-Position: refs/heads/master@{#11243}
TBR=pthatcher@webrtc.org,perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5426
Review URL: https://codereview.webrtc.org/1583223002
Cr-Commit-Position: refs/heads/master@{#11246}
If ever needed, add some aspect ratio parameter, without pixel_width
and pixel_height arguments cluttering commonly used functions.
BUG=webrtc:5426
Review URL: https://codereview.webrtc.org/1586613002
Cr-Commit-Position: refs/heads/master@{#11243}
Reason for revert:
Reverting due to problem with roll:
/b/build/slave/linux/build/src/buildtools/linux64/gn gen //out/Release '--args=ffmpeg_branding="Chrome" proprietary_codecs=true is_debug=false is_component_build=false use_goma=true goma_dir="/b/build/goma" symbol_level=1 dcheck_always_on=true' --check --runtime-deps-list-file=/b/build/slave/linux/build/src/out/Release/runtime_deps
-> returned 1
ERROR at //third_party/webrtc/BUILD.gn:245:18: Item not found
configs -= [ "//build/config/clang:find_bad_constructs" ]
^-----------------------------------------
You were trying to remove "//build/config/clang:find_bad_constructs"
from the list but it wasn't there.
GN gen failed: 1
step returned non-zero exit code: 1
@@@STEP_FAILURE@@@
Original issue's description:
> Use an explicit identifier in Config
>
> This let's us use them to configure them when using WebRTC as an external library. One use case where this is necessary is in the Android OS.
>
> Committed: https://crrev.com/25249d92d3cf105bcc7b684c8924ccdbc9afcb93
> Cr-Commit-Position: refs/heads/master@{#11231}
TBR=henrik.lundin@webrtc.org,stefan@webrtc.org,tommi@chromium.org,aluebs@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.webrtc.org/1586563003
Cr-Commit-Position: refs/heads/master@{#11239}
This let's us use them to configure them when using WebRTC as an external library. One use case where this is necessary is in the Android OS.
Review URL: https://codereview.webrtc.org/1538643004
Cr-Commit-Position: refs/heads/master@{#11231}
The general constraints on number of channels for AudioProcessing is:
num_in_channels == num_out_channels || num_out_channels == 1
When Beamforming is enabled and additional constraint was added forcing:
num_out_channels == 1
This artificial constraint was removed by adding upmixing support in CopyTo, since it was already supported for the AudioFrame interface using InterleaveTo.
Review URL: https://codereview.webrtc.org/1571013002
Cr-Commit-Position: refs/heads/master@{#11215}
This meant splitting "transport_options" into audio/video/data options,
for when creating the answer, and giving "GetSslRole" a "transport_name"
parameter so we can retrieve the current role on a per-transport basis.
BUG=webrtc:4525
R=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1516993002 .
Cr-Commit-Position: refs/heads/master@{#11192}