mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-13 05:40:42 +01:00
No description
![]() For implementations where the signaling and worker threads are not the same thread, this significantly cuts down on Thread::Invoke()s that would block the signaling thread while waiting for the worker thread. For Audio and Video Rtp receivers, the following methods now do not block the signaling thread: * GetParameters * SetJitterBufferMinimumDelay * GetSources * SetFrameDecryptor / GetFrameDecryptor * SetDepacketizerToDecoderFrameTransformer Importantly this change also makes the track() accessor accessible directly from the application thread (bypassing the proxy) since for receiver objects, the track object is const. Other changes: * Remove RefCountedObject inheritance, use make_ref_counted instead. * Every member variable in the rtp receiver classes is now RTC_GUARDED * Stop() now fully clears up worker thread state, and Stop() is consistently called before destruction. This means that there's one thread hop instead of at least 4 before (sometimes more), per receiver. * OnChanged triggered volume for audio tracks is done asynchronously. * Deleted most of the JitterBufferDelay implementation. Turns out that it was largely unnecessary overhead and complexity. It seems that these two classes are copy/pasted to a large extent so further refactoring would be good in the future, as to not have to fix each issue twice. Bug: chromium:1184611 Change-Id: I1ba5c3abbd1b0571f7d12850d64004fd2d83e5e2 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218605 Commit-Queue: Tommi <tommi@webrtc.org> Reviewed-by: Markus Handell <handellm@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34022} |
||
---|---|---|
api | ||
audio | ||
build_overrides | ||
call | ||
common_audio | ||
common_video | ||
data | ||
docs | ||
examples | ||
g3doc | ||
logging | ||
media | ||
modules | ||
net/dcsctp | ||
p2p | ||
pc | ||
resources | ||
rtc_base | ||
rtc_tools | ||
sdk | ||
stats | ||
system_wrappers | ||
test | ||
tools_webrtc | ||
video | ||
.clang-format | ||
.git-blame-ignore-revs | ||
.gitignore | ||
.gn | ||
.vpython | ||
AUTHORS | ||
BUILD.gn | ||
CODE_OF_CONDUCT.md | ||
codereview.settings | ||
DEPS | ||
DIR_METADATA | ||
ENG_REVIEW_OWNERS | ||
g3doc.lua | ||
LICENSE | ||
license_template.txt | ||
native-api.md | ||
OWNERS | ||
PATENTS | ||
PRESUBMIT.py | ||
presubmit_test.py | ||
presubmit_test_mocks.py | ||
pylintrc | ||
README.chromium | ||
README.md | ||
WATCHLISTS | ||
webrtc.gni | ||
webrtc_lib_link_test.cc | ||
whitespace.txt |
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.
Development
See here for instructions on how to get started developing with the native code.
Authoritative list of directories that contain the native API header files.
More info
- Official web site: http://www.webrtc.org
- Master source code repo: https://webrtc.googlesource.com/src
- Samples and reference apps: https://github.com/webrtc
- Mailing list: http://groups.google.com/group/discuss-webrtc
- Continuous build: https://ci.chromium.org/p/webrtc/g/ci/console
- Coding style guide
- Code of conduct
- Reporting bugs