Currently, webrtc::VideoEncoders are supposed to be deleted through the
factory that created them with the
WebRtcVideoEncoderFactory::DestroyVideoEncoder method. In practice,
we sometimes use this method and sometimes we just call delete on the
webrtc::VideoEncoder pointer. We want to be able to consistently use the
normal destructor of webrtc::VideoEncoder instead of having to call
DestroyVideoEncoder so that we can put webrtc::VideoEncoder inside
an std::unique_ptr and make ownership more clear. As part of webrtc:7925
we also want to make a new encoder factory class that does not have the
DestroyVideoEncoder() method, and this CL is a step in that direction.
This CL introduces a helper function CreateScopedVideoEncoder that takes
a webrtc::VideoEncoder and a WebRtcVideoEncoderFactory pointer, and
returns a new webrtc::VideoEncoder instance that can be deleted through
the regular destructor.
This CL also removes WebRtcSimulcastEncoderFactory that almost only
contains logic for handling the DestroyVideoEncoder calls that we no
longer need, and inlines the rest of the logic inside the
WebRtcVideoChannel::WebRtcVideoSendStream::CreateVideoEncoder method.
BUG=webrtc:7925
Review-Url: https://codereview.webrtc.org/3007643002
Cr-Commit-Position: refs/heads/master@{#19564}
Headers webrtc/video_receive_stream.h and webrtc/video_send_stream.h
have been moved to webrtc/call in https://codereview.webrtc.org/3000253002,
this CL is just switching WebRTC internal dependencies to actual headers
instead of depending on the backward compatibility ones.
BUG=webrtc:8107
Review-Url: https://codereview.webrtc.org/3007553002
Cr-Commit-Position: refs/heads/master@{#19561}
These are no longer needed as all clients have been updated to use the
new methods that always return a value.
BUG=None
Review-Url: https://codereview.webrtc.org/3009583002
Cr-Commit-Position: refs/heads/master@{#19559}
Original implementation of jpeg writer didn't compile on iOS at all.
This required clients to exclude some code using defines, which leads to
more complicated code.
Now, instead, jpeg writer will compile but will do nothing on iOS. Clients'
code don't need any additional checks now.
BUG=none
Review-Url: https://codereview.webrtc.org/3004603002
Cr-Commit-Position: refs/heads/master@{#19558}
This allows returning RTPFragmentationHeader from a method and assigning
the results to a variable.
BUG=webrtc:7760
Review-Url: https://codereview.webrtc.org/3002283002
Cr-Commit-Position: refs/heads/master@{#19556}
It would leave a trailing carriage return character in the payload
list, causing the preferred codec to appear twice if it was at the
back of the list originally. This causes problems down the line and
results in that codec not being negotiated successfully.
BUG=webrtc:8129
Review-Url: https://codereview.webrtc.org/3001363002
Cr-Commit-Position: refs/heads/master@{#19552}
remove rtc_base_approved from the public_deps list of rtc_task_queue.
BUG=webrtc:8160
NOTRY=True
Review-Url: https://codereview.webrtc.org/3008553002
Cr-Commit-Position: refs/heads/master@{#19551}
This CL introduces common functions for adding and releasing
native references to reduce the number of JNI functions.
BUG=webrtc:8043
Review-Url: https://codereview.webrtc.org/3003213002
Cr-Commit-Position: refs/heads/master@{#19547}
Update the name of the macro to something more descriptive and use
variable length arguments to make it work better with autoformatting
tools.
BUG=None
Review-Url: https://codereview.webrtc.org/2998403002
Cr-Commit-Position: refs/heads/master@{#19538}
If the content area of a window is not covered by the content area of another
window, we do not treat them as overlapping. This can fix the issue that two
fullscreen windows cover each other, or a fullscreen window is covered by the
shadow effect of task bar.
Bug: chromium:741770
Change-Id: I92dc636bc8445d50b00390cf3332695f69daf9c6
Reviewed-on: https://chromium-review.googlesource.com/628244
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19532}
WindowCapturerWin wrongly calculate the image size if the application it target
does not support high DPI. It causes part of the output frame black. See bug for
details.
Bug: webrtc:8112
Change-Id: I33c66dfa977ec08a29c56ff86ae37320b1459c87
Reviewed-on: https://chromium-review.googlesource.com/634383
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19531}
Reason for revert:
Might be the root cause of an internal test failure.
Original issue's description:
> Verify sender ssrc when receiving rtcp target bitrate
>
> BUG=webrtc:8137
>
> Review-Url: https://codereview.webrtc.org/3000373002
> Cr-Commit-Position: refs/heads/master@{#19524}
> Committed: a7a4beb419TBR=danilchap@webrtc.org,sprang@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:8137
Review-Url: https://codereview.webrtc.org/3005633002
Cr-Commit-Position: refs/heads/master@{#19529}
A crash may randomly happen in IsWindowMinimized(), the potential reason is that
|on_screen| is not retrieved from |window| with kCGWindowIsOnScreen property. So
add a == NULL check before executing CFBooleanGetValue().
Bug: chromium:758554
Change-Id: I25ad1ddbb21ec049ef237e55a8d25156bcd982c7
Reviewed-on: https://chromium-review.googlesource.com/634043
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19527}
This avoids infinite recursion in case the recovered packet carries a
RED header.
BUG=chromium:754748
Review-Url: https://codereview.webrtc.org/3004553002
Cr-Commit-Position: refs/heads/master@{#19525}
I think this was previously used in libjingle but it is not
used in WebRTC.
BUG=webrtc:8082
Review-Url: https://codereview.webrtc.org/2999703002
Cr-Commit-Position: refs/heads/master@{#19523}
These tests are very old and come from a time when we tested each method in the
ADM as if the ADM should function as a standalone component.
Several tests are already disabled and we test combinations of APIs that are no
longer valid (since the ADM is now used in a more fixed way in VoE).
The tests does not verify media (we have other tests under
voice_engine/test/auto_test) which starts media and verifies that it works OK.
There are also a a more extensive set of ADM tests for Android and iOS.
You could also say that these tests tests the most "hardware related parts of
the ADM", but not those that we expose via the VoEHardware API.
Hence, not much value to maintain them imo.
NOTRY=TRUE
BUG=webrtc:7250
Review-Url: https://codereview.webrtc.org/2726433003
Cr-Commit-Position: refs/heads/master@{#19522}
This function is currently only available in EglBase14, which is not in
the api. This CL adds the swapBuffer method to the public EglBase
interface. For EglBase10, the presentation time is just ignored.
BUG=webrtc:8155
Review-Url: https://codereview.webrtc.org/3003843002
Cr-Commit-Position: refs/heads/master@{#19518}