void UpdateAspectRatio(int ratio_w, int ratio_h);
void ClearAspectRatio();
ool Pause(bool paused);
Restart(const VideoFormat& capture_format);
MuteToBlackThenPause(bool muted);
IsMuted() const
set_square_pixel_aspect_ratio
bool square_pixel_aspect_ratio()
This cl also remove the use of messages and posting of state change.
Further more - a thread checker is added to make sure methods are called on only one thread. Construction can happen on a separate thred.
It does not add restrictions on what thread frames are delivered on though.
There is more features in VideoCapturer::Onframe related to screen share in ARGB that probably can be cleaned up in a follow up cl.
BUG=webrtc:5426
Review URL: https://codereview.webrtc.org/1733673002
Cr-Commit-Position: refs/heads/master@{#11773}
Code still compiles in Chromium with a proper const float* variable so
it is expected to address the issue.
BUG=chromium:589951
TBR=peah@webrtc.org
Review URL: https://codereview.webrtc.org/1739893004 .
Cr-Commit-Position: refs/heads/master@{#11772}
Instead relies on SetSendingMediaStatus() to filter out receiving RTP
modules. This status is now set in VoiceEngine's SetSend() for senders
along with SetSendingStatus().
BUG=
R=solenberg@webrtc.org, stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1705763002 .
Cr-Commit-Position: refs/heads/master@{#11768}
This CL introduces a new class CopyOnWriteBuffer that holds data in a
refcounted Buffer which is shared between copied CopyOnWriteBuffer to avoid
unnecessary allocations / memory copies.
BUG=webrtc:5155
Review URL: https://codereview.webrtc.org/1697743003
Cr-Commit-Position: refs/heads/master@{#11767}
Reason for revert:
Revert breaks other uses, a fix will be rolled into Chromium instead.
Original issue's description:
> Revert of Remove ignored return code from modules. (patchset #3 id:40001 of https://codereview.webrtc.org/1703833002/ )
>
> Reason for revert:
> Breaks Chromium.
>
> Original issue's description:
> > Remove ignored return code from modules.
> >
> > ModuleProcessImpl doesn't act on return codes and having them around is
> > confusing (it's unclear what an error return code here would do even).
> >
> > BUG=
> > R=tommi@webrtc.org
> >
> > Committed: f14c47a58c
>
> TBR=tommi@webrtc.org,pbos@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=
>
> Committed: https://crrev.com/da33a8a2a22f6d19ba2a8cce963beafbdbaa8fd8
> Cr-Commit-Position: refs/heads/master@{#11761}
TBR=tommi@webrtc.org,torbjorng@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.webrtc.org/1737013002
Cr-Commit-Position: refs/heads/master@{#11762}
Reason for revert:
Breaks Chromium.
Original issue's description:
> Remove ignored return code from modules.
>
> ModuleProcessImpl doesn't act on return codes and having them around is
> confusing (it's unclear what an error return code here would do even).
>
> BUG=
> R=tommi@webrtc.org
>
> Committed: f14c47a58cTBR=tommi@webrtc.org,pbos@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.webrtc.org/1736663004
Cr-Commit-Position: refs/heads/master@{#11761}
The CL prevents a data race in MessageQueue where the variable "ss_" is
modified without a lock while sometimes read inside a lock.
Also thread annotations have been added to the MessageQueue class.
This was already reviewed and landed in https://codereview.webrtc.org/1675923002/
but failed in Chromium GN builds due to sharedexclusivelock.cc not being
compiled in these builds. This changed in https://codereview.webrtc.org/1712773003/
so the reland should work fine now.
BUG=webrtc:5496
Review URL: https://codereview.webrtc.org/1729893002
Cr-Commit-Position: refs/heads/master@{#11758}
When remote side closes, opensslstreamadapter could return SR_EOS which will not trigger upper layer to clean up what's left in the StreamInterfaceChannel. The result of this is when there are more packets coming in, the Write on the StreamInterfaceChannel will overflow the buffer.
The fix here is that when receiving the remote side close signal, we also close the underneath StreamInterfaceChannel which will clean up the queue to prevent overflow.
BUG=574524
TBR=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1566023002
Cr-Commit-Position: refs/heads/master@{#11751}
ModuleProcessImpl doesn't act on return codes and having them around is
confusing (it's unclear what an error return code here would do even).
BUG=
R=tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1703833002 .
Cr-Commit-Position: refs/heads/master@{#11747}
Makes RtpRtcp modules disable-able from any thread, which are intended
to be modified from the encoder thread in the future for encoders to be
able to be initialized asynchronously from the main worker thread.
Removes/simplifies module usage inside ViEChannel.
BUG=webrtc:5494
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1721713002 .
Cr-Commit-Position: refs/heads/master@{#11746}
Puts thresholds in a range that works well on Nexus 5X (doesn't
seem to trigger overuse), while not disabling them for systems that have
a really-really hard time (>200% overuse).
BUG=webrtc:5577
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1730103003 .
Cr-Commit-Position: refs/heads/master@{#11744}
(This is a re-land---without the real_fourier.h changes---of 11716, which was reverted in 11726.)
BUG=webrtc:5520
Review URL: https://codereview.webrtc.org/1731153002
Cr-Commit-Position: refs/heads/master@{#11742}
The array is reset in Init() but not the indexer. This makes the start point undefined after Init() for re-initializing an AudioLoop. This can be fixed.
BUG=
Review URL: https://codereview.webrtc.org/1727353002
Cr-Commit-Position: refs/heads/master@{#11739}
initialization and errors.
The stats are counts using enumeration, an instance of
H264EncoderImpl/H264DecoderImpl will report at most 1 Init
and 1 Error for its entire lifetime. This is to avoid
spamming reports if initialization or coding fails and it
retries in a loop. The Init stats will give us an idea of
usage counts for the encoder/decoder. The Error stats will
give us an idea of how many of these usages encounters some
type of problem, such as encode or decode errors.
- WebRTC.Video.H264EncoderImpl.Event:
* kH264EncoderEventInit: Occurs at InitEncode.
* kH264EncoderEventError: Occurs if any type of error
occurs during initialization or encoding.
- WebRTC.Video.H264DecoderImpl.Event:
* kH264DecoderEventInit: Occurs at InitDecode.
* kH264DecoderEventError: Occurs if any type of error
occurs during initialization, AVGetBuffer2 or decoding.
Chromium sibling CL:
https://codereview.chromium.org/1719273002/
BUG=chromium:500605, chromium:468365
Review URL: https://codereview.webrtc.org/1716173002
Cr-Commit-Position: refs/heads/master@{#11736}
Previously, we relied on the encoded stream to come to an end before
the end of the buffer. This is a bad idea, since it is possible to
craft a stream that fills the buffer while decoding to less than the
expected amount of data; without the new checks introduced here, this
causes the decoder to read past the end of the input buffer.
BUG=chromium:582471, chromium:587852
Review URL: https://codereview.webrtc.org/1721593004
Cr-Commit-Position: refs/heads/master@{#11734}
They are invoked with the maximum size of the data to be added, and a
callable that generates that data, like this:
buffer.AppendData(10, [] (rtc::ArrayView<uint8_t> av) {
for (uint8_t i = 0; i != 5; ++i)
av[i] = i;
return 5;
});
The callable returns the number of bytes actually written, and the
final Buffer size will be adjusted accordingly. SetData and AppendData
both return the number of bytes added (i.e. the return value of the
callable).
These versions will be useful when converting AudioEncoder::Encode to use Buffer rather than raw pointers.
Also added a few tests for the new functionality.
Review URL: https://codereview.webrtc.org/1717273002
Cr-Commit-Position: refs/heads/master@{#11733}
Reason for revert:
Actually, we're going to need this soon, so I'm going to add it back again. We'll use it as part of the future GN migration.
Original issue's description:
> Revert of Add tools/mb to setup_links.py (patchset #1 id:1 of https://codereview.webrtc.org/1692543002/ )
>
> Reason for revert:
> Doesn't solve the problem and MB is actually hardcoded to use gyp_chromium when running in GYP mode, so it's better to clean this up for now.
>
> Original issue's description:
> > Add tools/mb to setup_links.py
> >
> > I believe this is needed in order to setup the iOS simulator bots
> > using the ios recipe module. We'll also most likely use MB in the future
> > when moving over from GYP to GN (since that's the sole purpose of the tool:
> > to make such a migration easier).
> >
> > BUG=chromium:498746
> > NOTRY=True
> > TBR=phoglund@webrtc.org
> >
> > Committed: https://crrev.com/68da769ab9579cac98fe4da7fb5da6dbb3842216
> > Cr-Commit-Position: refs/heads/master@{#11575}
>
> TBR=phoglund@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=chromium:498746
>
> Committed: https://crrev.com/67ca0e16501d5c9179d3003a38a7cefc7cd3e259
> Cr-Commit-Position: refs/heads/master@{#11577}
TBR=phoglund@webrtc.org
NOTRY=True
Review URL: https://codereview.webrtc.org/1730113002
Cr-Commit-Position: refs/heads/master@{#11732}
in order to suppress UBSan errors from the AGC.
BUG=webrtc:5124, webrtc:5487
Review URL: https://codereview.webrtc.org/1696153002
Cr-Commit-Position: refs/heads/master@{#11730}
RFC 5245 allows an ICE restart to occur on only one media section.
However, before this CL, if an endpoint attempted to do this, we would
change our local ICE ufrag/pwd in every media section.
Also did some refactoring, turning the transport options from
mediasesion.h into a map.
Review URL: https://codereview.webrtc.org/1671173002
Cr-Commit-Position: refs/heads/master@{#11728}
In order for the change to be reviewable, the
move was made into two steps consisting of the
first two patches in this CL.
Step 1 (patch set 1):
-Changed file types to use .cc
-Changed buildfiles to use the new files
-Changed C code inclusion to properly match the changed
file formats (removed and added extern "C" declarations).
-Changed implicit void-> nonvoid casts that are
illegal in C++ to be explicit.
Step 2 (patch set 2):
-Changed all the warnings reported when uploading the CL.
-The warnings about formatting of the assembly optimized
code were not addressed though.
BUG=webrtc:5201
Review URL: https://codereview.webrtc.org/1713923002
Cr-Commit-Position: refs/heads/master@{#11727}
Reason for revert:
Breaks downstream compilation using webrtc/common_audio/real_fourier.h. Let's chat tomorrow on how to coordinate a re-land.
Original issue's description:
> Replace scoped_ptr with unique_ptr in webrtc/common_audio/
>
> BUG=webrtc:5520
>
> Committed: https://crrev.com/79d7a499c0c3e1de8f5ad1138236f0386701053f
> Cr-Commit-Position: refs/heads/master@{#11716}
TBR=henrik.lundin@webrtc.org,kwiberg@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5520
Review URL: https://codereview.webrtc.org/1726043002
Cr-Commit-Position: refs/heads/master@{#11726}