librtcdcpp | A simple WebRTC DataChannels library | SDK library

 by   chadnickbok C++ Version: Current License: BSD-3-Clause

kandi X-RAY | librtcdcpp Summary

kandi X-RAY | librtcdcpp Summary

librtcdcpp is a C++ library typically used in Utilities, SDK applications. librtcdcpp has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

librtcdcpp is a simple C++ implementation of the WebRTC DataChannels API. It was originally written by [Andrew Gault] and [Nick Chadwick] and was inspired in no small part by [librtcdc] Its goal is to be the easiest way to build native WebRTC DataChannels apps across PC/Mac/Linux/iOS/Android.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              librtcdcpp has a low active ecosystem.
              It has 146 star(s) with 30 fork(s). There are 16 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 17 open issues and 6 have been closed. On average issues are closed in 26 days. There are 3 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of librtcdcpp is current.

            kandi-Quality Quality

              librtcdcpp has 0 bugs and 0 code smells.

            kandi-Security Security

              librtcdcpp has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              librtcdcpp code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              librtcdcpp is licensed under the BSD-3-Clause License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              librtcdcpp releases are not available. You will need to build from source code and install.
              Installation instructions are not available. Examples and code snippets are available.
              It has 278 lines of code, 3 functions and 4 files.
              It has low code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of librtcdcpp
            Get all kandi verified functions for this library.

            librtcdcpp Key Features

            No Key Features are available at this moment for librtcdcpp.

            librtcdcpp Examples and Code Snippets

            No Code Snippets are available at this moment for librtcdcpp.

            Community Discussions

            QUESTION

            Program segfaults on alpine linux. How do I resolve it?
            Asked 2018-Feb-05 at 17:36

            I've been working on a webrtc datachannel library in C/C++ and wrote a program in C to:

            1. Create two peers from the same process.
            2. Establish a connection between them.
            3. Close the connection if it's successful.

            Everything runs fine on a debian docker container and on my host opensuse tumbleweed (all x86_64 and 64bit), but on alpine linux container (64bit x86_64), I'm getting a SEGFAULT inside the child processes:

            The function above is from the program's dependency "libnice". It seems like *agent == NULL and there is no way that is made null in the caller's scope. I even inserted a printf("Argument is %p", agent); right before the function call and it prints out its memory and I can verify it's not null. From the disassembly, it looks like the line where copying the agent's contents (0x557a1d20) as the local variable in the callee's stack results in a segfault. The segfault always occurs at this point even after a make clean and recompilation. Fail at activation record? Stack corruption?

            UPDATE: I made a more lightweight container and ran it, and now it segfaults at a different place in that same priv_conn_keepalive_tick_unlocked. The argument seems to be set though (Notice the 0x7ffff7f9ad08):

            Since I thought I might be hitting the libmusl's default stack limit of 80k, I used getrlimit(RLIMIT_STACK, &rl) to obtain the stack size and it looks like it's already 8 MB and not 80k. Increasing this limit further does not seem to make any difference except that if I assign more than 8 MB, my program crashes early inside the Gdb. Gdb says it got an unknown signal "? ?"; outside the gdb, it crashes at the normal point where it normally crashes without the altered stack size.

            I'm not sure what exactly the problem is (stack corruption?) and what to do next to resolve this.

            Here's my program's flow:

            For every peer that is created, a child process is created with a fork(). Parent <--> child communication is done by ZeroMQ and I use protocol buffers to forward any callbacks (and its arguments) that are triggered inside the child onto an event loop running in the parent process.

            So for the above program, there are 2 child processes and 1 parent process.

            Steps to reproduce:

            ...

            ANSWER

            Answered 2018-Feb-02 at 13:26

            Add -Werror=implicit-function-declaration to your CFLAGS and you'll immediately have the cause. The key clue is the pointer value 0x557a1d20, which is almost surely the result of truncating a pointer to 32 bits. This happens when you failed to declare a function that returns a pointer and the compiler (by an awful backwards default) assumes it returns int rather than producing an error, then subsequently allows the implicit conversion from int to pointer despite the C language disallowing it.

            Source https://stackoverflow.com/questions/48576955

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install librtcdcpp

            You can download it from GitHub.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/chadnickbok/librtcdcpp.git

          • CLI

            gh repo clone chadnickbok/librtcdcpp

          • sshUrl

            git@github.com:chadnickbok/librtcdcpp.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular SDK Libraries

            WeiXinMPSDK

            by JeffreySu

            operator-sdk

            by operator-framework

            mobile

            by golang

            Try Top Libraries by chadnickbok

            redis-zstd-module

            by chadnickbokC

            fancify

            by chadnickbokPython

            greedai

            by chadnickbokJavaScript

            aoc_22_rust

            by chadnickbokRust