Giter VIP home page Giter VIP logo

open-webrtc-toolkit / owt-deps-webrtc Goto Github PK

View Code? Open in Web Editor NEW
246.0 23.0 148.0 341.86 MB

This repo contains the upstream webrtc stack code, with updates for Open WebRTC Toolkit.

Home Page: https://01.org/open-webrtc-toolkit

License: BSD 3-Clause "New" or "Revised" License

Python 1.38% C++ 89.09% C 4.73% Assembly 0.03% Objective-C 0.75% MATLAB 0.07% Shell 0.07% Java 2.28% Objective-C++ 1.52% CSS 0.01% JavaScript 0.02% Roff 0.01% Batchfile 0.01% Jinja 0.01% Lua 0.01% Starlark 0.06%
webrtc

owt-deps-webrtc's Introduction

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

owt-deps-webrtc's People

Contributors

alebzk avatar bc-lee avatar benjwright avatar danilchapovalov avatar ehlemur-zz avatar eshrubs avatar fancycode avatar fippo avatar henbos avatar henrikand avatar hnoo112233 avatar jianjunz avatar jonex avatar kthelgason avatar minyuel avatar mirkobonadei avatar mstyura avatar oprypin avatar orphis avatar perkj avatar philipel-webrtc avatar pkasting avatar pthatcherg avatar rasmusbrandt avatar sergeyulanov avatar steveanton avatar titov-artem avatar tkchin avatar yingwang avatar zhihuang0718 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

owt-deps-webrtc's Issues

SDP with a=extmap-allow-mixed (and no value that follows) will fail to parse

I've looked at branches 76, 83, and 88 and they all have this around line 1279:

bool ParseExtmap(const std::string& line,
                 RtpExtension* extmap,
                 SdpParseError* error) {
  // RFC 5285
  // a=extmap:<value>["/"<direction>] <URI> <extensionattributes>
  std::vector<std::string> fields;
  rtc::split(line.substr(kLinePrefixLength), kSdpDelimiterSpaceChar, &fields);
  const size_t expected_min_fields = 2;
  if (fields.size() < expected_min_fields) {
    return ParseFailedExpectMinFieldNum(line, expected_min_fields, error);
  }

But now (e.g. > 71) there is RFC 8285 being used by Chrome on Droid and windows, which supports a=extmap-allow-mixed to be used with no value. I can't explain why I am just now seeing this on some devices, but from what can gather there is a version span of Chrome up to version 71 that will strip this out of the SDP, anything greater will keep it in, and then this line will fail because it expects 2 fields.

Can someone enlighten me on if this code should change or is it expected that the caller (i.e. chrome) should strip this out. For now I am going to have to work out how to properly allow this to parse to get our stuff working again. Thanks in advance for any feedback.

ipad air 4k

(packet_buffer.cc:243): PacketBuffer is already at max size (2048), failed to increase size.
(packet_buffer.cc:108): Clear PacketBuffer and request key frame.
(packet_buffer.cc:243): PacketBuffer is already at max size (2048), failed to increase size.
(packet_buffer.cc:108): Clear PacketBuffer and request key frame.
(packet_buffer.cc:243): PacketBuffer is already at max size (2048), failed to increase size.
(packet_buffer.cc:108): Clear PacketBuffer and request key frame.

FAILED: obj/third_party/webrtc/rtc_base/logging/logging.o

when " build libwebrtc for OWT Android SDK with scripts/build_android.py " error,
无法生存文件obj/third_party/webrtc/rtc_base/logging/logging.o

building libjingle_peerconnection_so for arm release ninja: Entering directory/home/hou/chromium/src/out/releasearm'
[6/929] CXX obj/third_party/webrtc/rtc_base/logging/logging.o
FAILED: obj/third_party/webrtc/rtc_base/logging/logging.o 错误原因是:../../third_party/webrtc/rtc_base/logging.cc:53:36: error: use of undeclared identifier 'LS_NONE'
static LoggingSeverity g_min_sev = LS_NONE;
^
../../third_party/webrtc/rtc_base/logging.cc:54:36: error: use of undeclared identifier 'LS_NONE'
static LoggingSeverity g_dbg_sev = LS_NONE;
^
../../third_party/webrtc/rtc_base/logging.cc:82:6: error: use of undeclared identifier 'LogSink'
void LogSink::OnLogMessage(const std::string& msg,

......
`

fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. [11/929] CXX obj/third_party/webrtc/pc/rtc_pc_base/srtpsession.o ninja: build stopped: subcommand failed.

Enhancements for low latency mode.

Following items are needed for low latency mode.

  • Realtime mode in pacer
  • Start bitrate
  • Opus channels
  • Priority of rtp_send_controller task queue
  • Bypass audio processing
  • Remove GPRA

H264 HW encoder with 83-sdk hang on huawei mobile phone

Hi, using 83-sdk for android, HW H264 encoder will hang after several seconds on Huawei P30(kirin 980).
E org.webrtc.Logging: HardwareVideoEncoder: Dropped frame, encoder queue full
E org.webrtc.Logging: HardwareVideoEncoder: Dropped frame, encoder queue full
...
Would you give some suggestion?

failed and not received all candidates, newComponentState:4

Ubuntu 18.04
MCU Server V4.3

client report 'ice close' , and webrtc agent report log :


2019-11-29 16:31:47,220 - WARN: LibNiceConnection - id: 759289002149473500, message: failed and not received all candidates, newComponentState:4
2019-11-29 16:31:47,576 - WARN: LibNiceConnection - id: 758165339333195300, message: failed and not received all candidates, newComponentState:4
2019-11-29 16:31:58,479 - WARN: LibNiceConnection - id: 115807156049238420, message: failed and not received all candidates, newComponentState:4
2019-11-29 16:31:59,927 - WARN: LibNiceConnection - id: 468377342159567800, message: failed and not received all candidates, newComponentState:4
2019-11-29 16:32:05.607 - WARN: WorkingNode - Exiting on SIGTERM

Missing ssl.gni file

I am trying to build the owt webrtc on a Win10, Visual Studio 2019 machine.

However upon trying to generate the build files via:
C:\Git\owt_webrtc\src>gn gen out\Debug --args="is_debug=true rtc_use_h264=false target_os=\"win\" target_cpu=\"x64\"
I get the following error:

C:\Git\owt_webrtc\src>gn gen out\Debug --args="is_debug=true rtc_use_h264=false target_os=\"win\" target_cpu=\"x64\"
ERROR at //webrtc.gni:15:1: Can't load input file.
import("//build_overrides/ssl/ssl.gni")
^-------------------------------------
Unable to load:
  C:/Git/owt_webrtc/src/build_overrides/ssl/ssl.gni
I also checked in the secondary tree for:
  C:/Git/owt_webrtc/src/build/secondary/build_overrides/ssl/ssl.gni
See //BUILD.gn:17:1: whence it was imported.
import("webrtc.gni")

And its true there are no files there:
image

Does anybody know why the files are missing ?

Video capture freezed when resolution was set to 4K.

captureRequestBuilder.set(CaptureRequest.CONTROL_VIDEO_STABILIZATION_MODE,

on honor v20 device, this line will freeze the video capture.

Reproduce in owt-client-android conference sample:

  1. use Camera2Capturer. (do some modify in OwtVideoCapture)
  2. OwtVideoCapturer.create use 3840x2160 resolution and set isCameraFront to false.(front camera not support 4k)
  3. start the sample, then the video capture area draw nothing.
  4. remove Camera2Session CONTROL_VIDEO_STABILIZATION_MODE_ON, restart the sample, everything going fine.

Use of undeclared identifier 'sscanf_s'

Compilation error reported on Linux for branch cloudgaming-83:

../../third_party/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc:79:7: error: use of undeclared identifier 'sscanf_s'
      sscanf_s(expr_str.c_str(), "Enabled-%u,%u,%u", start_bitrate_kbps,
      ^

how can i compile source like webrtc.lib

  1. i just git clone source on my pc computer
    2 i don't know how i can use webrtc_official commond to gclient sync other source code.
  2. or can you tell me what version of webrtc i should download on my computer, thanks !

Ubuntu 16 build Android sdk

ERROR at //build/config/android/internal_rules.gni:162:21: Can't load input file.
deps += [ "$_target_label$build_config_target_suffix" ]

Why not use STAP-A in RtpPacketizerH265

Looking at the RtpPacketizerH265::GeneratePackets function, you can see code like this:

if (fragment_len> single_packet_capacity)
     {
       PacketizeFu(i);
       ++i;
     }
     else
     {
       Packetize Single Nalu(i);
       ++i;
     }

I think it's better to use PacketizeAp instead of PacketizeSingleNalu here. Is this intended? Or is it a mistake? I wonder why the H265Packetizer uses SingleNalu instead of STAB-A if it is intended to waste the remaining space of a RTP packet.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.