C++14 evented IO libraries for high performance networking and media based applications

Overview

LibSourcey

C++ Networking Evolved

Circle CI Doxygen

LibSourcey is a collection of cross platform C++14 modules and classes that provide developers with an arsenal for rapidly developing high performance network based p2p and media streaming applications. Think of it as the power and performance of libuv combined with the features of FFmpeg, OpenCV and WebRTC, all integrated with the ease and readability of the stl (C++ Standard Library).

Basic features

  • Event-based IO — Core modules are built on top of libuv (the underlying C library that powers nodejs) and use event-based asynchronous IO throughout to maximize performance and minimize concurrency reliance for building mission critical native and server side apps.

  • Cross platform — The codebase is cross platform and should compile on any system with access to a modern C++14 compiler.

  • Modular libraries — Libraries are modular for easy integration into your existing projects, so you can just "include what you need" without incurring extra incumbent bloat.

  • Well tested — Core modules are well tested with unit tests and stress tested daily in production.

  • Clean and readable code — Modern C++ design principles have been adhered to throughout for clean and readable code.

  • Easy packaging and installation — LibSourcey can be compiled and installed on most platforms with CMake. For straight forward distribution and integration with existing projects the libraries be also packaged as a deb, rpm, tar.gz, zip, and more formats with a single command.

  • Docker images — Semantically versioned images are available on Docker Hub. Just type docker pull sourcey/libsourcey to grab the latest.

  • Solid networking layer — At the core of LibSourcey is a solid and blazing fast networking layer build on libuv and openssl primitives, with TCP, SSL and UDP socket implementations.

  • Web servers and clients — A HTTP stack is provided that includes servers, clients, WebSockets, media streaming, file transfers, and authentication. The HTTP parser is based on the super-fast C code used by nginx.

  • Media streaming and encoding — The av library consists of thin wrappers around FFmpeg and OpenCV for media capture, encoding, recording, streaming, analysis and more.

  • Realtime messaging — LibSourcey aims to bridge the gap between desktop, mobile and web by providing performance oriented messaging solutions that work across all platforms.

    • Socket.IO — Socket.IO C++ client that supports the latest protocol revision 4 (>= 1.0). Read more about Socket.IO.
    • Symple — Sourcey's home grown realtime messaging protocol that works over the top of Socket.IO to provide rostering, presence and many other features necessary for building online games and chat applications. More about Symple.
  • WebRTC support — WebRTC native support allows you to build p2p desktop and server side applications that inherit LibSourcey's realtime messaging and media capabilities. Take a look at the examples for how to stream live webcam and microphone streams to the browser, and also how to record live WebRTC streams on the server side.

Getting started

See the installation guides in the docs to get started playing with LibSourcey.

A few examples

What better way to get acquainted with a new library then with some tasty code examples.

HTTP echo server

Lets start with the classic HTTP echo server, which looks something like this:

http::Server srv{ "127.0.0.1", 1337 };
srv.Connection += [](http::ServerConnection::Ptr conn) {
    conn->Payload += [](http::ServerConnection& conn, const MutableBuffer& buffer) {
        conn.send(bufferCast<const char*>(buffer), buffer.size());
        conn.close();
    };
};
srv.start();

Pretty neat right? Its crazy fast too, especially on Linux kernel 3.9 or newer where its optimized to use of kernel level multicore socket load balancing. Don't take our word for it though, here are some benchmarks using wrk:

LibSourcey httpechoserver

$ wrk -d10s --timeout 2s http://localhost:1337
Running 10s test @ http://localhost:1337
  2 threads and 10 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   265.76us  472.62us  12.42ms   97.51%
    Req/Sec    18.84k     1.26k   21.57k    74.50%
  375060 requests in 10.01s, 20.39MB read
Requests/sec:  37461.50
Transfer/sec:      2.04MB

Nodejs echo server

$ wrk -d10s --timeout 2s http://localhost:1337
Running 10s test @ http://localhost:1337
  2 threads and 10 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   502.70us  715.11us  14.83ms   97.90%
    Req/Sec    11.69k     1.46k   14.52k    70.50%
  232667 requests in 10.01s, 21.97MB read
Requests/sec:  23236.33
Transfer/sec:      2.19MB

As you can see the httpechoserver is almost twice as fast as the dead simple nodejs echo server, which is not a bad performance gain over one of the web's leading technologies thats touted for it's performance. Check the httpechoserver sample for the full code, including the nodejs echo server we used for benchmarking.

Processes

Interacting with system processes and piping IO doesn't have to be painful. The following code will run the ping sourcey.com and with stdio and exit callbacks:

Process proc{ "ping", "sourcey.com" };
proc.onstdout = [](std::string line)
{
    // handle process output
};
proc.onexit = [](std::int64_t status)
{
    // handle process exit
};
proc.spawn();

// write some random data to the stdin pipe
proc.in() << "random data"

Packet Stream

A good starting point for learning LibSourcey is the PacketStream, which lets you create a dynamic delegate chain for piping, processing and outputting arbitrary data packets. This method of layering packet processors and makes it possible to develop complex data processing applications on the fly.

For example, the code below captures a live webcam stream, encodes it into H.264, and then finally broadcasts it in realtime over the internet:

// Create a PacketStream to pass packets from the
// input device captures -> encoder -> socket
PacketStream stream;

// Setup the encoder options
av::EncoderOptions options;
options.oformat = av::Format{"MP4", "mp4",
    { "H.264", "libx264", 640, 480, 25, 48000, 128000, "yuv420p" },
    { "AAC", "aac", 2, 44100, 64000, "fltp" }};

// Create a device manager instance to enumerate system devices
av::DeviceManager devman;
av::Device device;

// Create and attach the default video capture
av::VideoCapture::Ptr video;
if (devman.getDefaultCamera(device)) {
    video.open(device.id, 640, 480);
    video.getEncoderFormat(options.iformat);
    stream.attachSource(video, true);
}

// Create and attach the default audio capture
av::AudioCapture::Ptr audio;
if (devman.getDefaultMicrophone(device)) {
    audio.open(device.id, 2, 44100);
    audio.getEncoderFormat(options.iformat);
    stream.attachSource(audio, true);
}

// Create and attach the multiplex encoder
av::MultiplexPacketEncoder::Ptr encoder(options);
stream.attach(encoder);

// Attach the output net::Socket instance (instantiated elsewhere)
// to broadcast encoded packets over the network
stream.attach(socket);

// Start the stream
// This method call will start the device captures and begin
// pumping encoded media into the output socket
stream.start();

There are plenty more demos and sample code to play with over on the examples page.

Contributors

A massive thanks to everyone who has contributed to making LibSourcey awesome:

  • Kam Low (@auscaster) — Primary developer
  • Yury Shulbn (@yuryshubin) — iOS build toolchain and platform fixes
  • Vinci Xu (@VinciShark) — Windows documentation, testing and updates
  • Michael Fig (@michael-fig) — Fixed compiler flags to build without FFmpeg
  • Hyunuk Kim (@surinkim) — Fixed std::codecvt unicode character conversion on Windows
  • Damian Zelim (@ZelimDamian) — Fixed compiler flags for OS X build
  • Norm Ovenseri (@normano) — Added verbose logging output to build system
  • Alexey (@deilos) — Fixed cross-platform FFmpeg build script
  • Kryton (@Malesio) — Fixed segfaults in samples and tidied up Valgrind warnings

Contributing

Pull Requests are always welcome, so if you fix or make anything better then feel free to float a PR back upstream :)

  1. Fork LibSourcey on Github
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request
Issues
  • WebRTC recording with OpenCV integration?

    WebRTC recording with OpenCV integration?

    Bountysource

    Is there an example of using OpenCV to process frames from a live WebRTC video stream? As an example, say you wanted to perform some basic feature detection (e.g. canny edge detection) on frames as they streamed in from a WebRTC peer; how would you accomplish this with libsourcey?

    I noticed the WebRTC Native Video Recorder sample and this bit of code:

            Signaler app(options);
    
            Idler rtc(app.loop,
                      [](void* arg) {
                          // TraceL << "Running WebRTC loop" << endl;
                          auto thread = reinterpret_cast<rtc::Thread*>(arg);
                          thread->ProcessMessages(10);
                      },
                      rtc::Thread::Current());
    

    It's not clear to me though how I would integrate OpenCV to process frames as they were received. Is there something like a "frame received" event/object? Recording the stream is also desirable, so it seems like this example is a good place to start out, but I would also like to access the frames as images before they are recorded. Thanks.

    opened by fohara 14
  • macOS CMAKE error on symple app

    macOS CMAKE error on symple app

    When running CMAKE in macOS for the /libsourcey/src/symple app, see this error:

    CMake Error at CMakeLists.txt:1 (ask_build_sourcey_module): Unknown CMake command "ask_build_sourcey_module".

    opened by RichLewis007 13
  • CMake error with FindWebRTC.cmake

    CMake error with FindWebRTC.cmake

    Hi, after #115 resolved, I pull the latest code. But it seems that release version of cmake have some prombles. I get the following error: CMake Error at cmake/FindWebRTC.cmake:114 (get_filename_component): get_filename_component called with incorrect number of arguments Call Stack (most recent call first): cmake/LibSourceyIncludes.cmake:47 (find_package) cmake/LibSourceyIncludes.cmake:90 (find_dependency) src/webrtc/CMakeLists.txt:4 (include_dependency) and Release of WEBRTC Variables looks like disk name is missing: -- Release Libraries: /Program Files (x86)/Microsoft Visual Studio 12.0/VC/lib/amd64/vccorlibd.lib;/Program Files (x86)/Microsoft Visual Studio 12.0/VC/lib/amd64/vcomp.lib;... So I think somewhere still have bugs?

    opened by webbery 13
  • Visual Studio 2015 compilation/linking errors

    Visual Studio 2015 compilation/linking errors

    Hello again, Thanks to the latest updates, I've been able to get further in building libsourcey, but I am still having difficulties at the final step. I can build WebRTC and have CMake detect it and generate the VS solution, but when I try to build the solution (in Debug or Release), I get a flurry of errors in several of the projects.

    I have successfully built WebRTC as described in https://github.com/sourcey/libsourcey/blob/master/doc/installation-windows.md (I am using branch-heads/57).

    Here is my CMake output:

    $ cmake .. -DCMAKE_BUILD_TYPE=DEBUG -DBUILD_SHARED_LIBS=ON -DBUILD_MODULES=ON -DBUILD_APPLICATIONS=ON -DBUILD_SAMPLES=ON -DBUILD_TESTS=ON -DWITH_FFMPEG=ON -DWITH_WEBRTC=ON -DWEBRTC_ROOT_DIR=E:/webrtc/003/webrtc-checkout/src
    -- Including module archo
    -- Including module test archotests
    -- Including dependency: FFmpeg
    -- Including module av
    -- Including dependency: FFmpeg
    -- Including module sample deviceenumerator
    -- Including dependency: FFmpeg
    -- Including module sample devicerecorder
    -- Including module test avtests
    -- Including module base
    -- Including module test basetests
    -- Including dependency: SSL
    -- Including BoringSSL
    -- Including dependency: WebRTC
    -- Including module crypto
    -- Including module test cryptotests
    -- Including dependency: SSL
    -- Including BoringSSL
    -- Including dependency: WebRTC
    -- Including module http
    -- Including module sample httpechoserver
    -- Including module test httptests
    -- Including module json
    -- Including dependency: SSL
    -- Including BoringSSL
    -- Including dependency: WebRTC
    -- Including module net
    -- Including module sample echoserver
    -- Including module test nettests
    -- Including module sched
    -- Including module test schedtests
    -- Including dependency: SSL
    -- Including BoringSSL
    -- Including dependency: WebRTC
    -- Including module socketio
    -- Including dependency: SSL
    -- Including BoringSSL
    -- Including dependency: WebRTC
    -- Including module test socketiotests
    -- Including dependency: SSL
    -- Including BoringSSL
    -- Including dependency: WebRTC
    -- Including module stun
    -- Including module test stuntests
    -- Including dependency: SSL
    -- Including BoringSSL
    -- Including dependency: WebRTC
    -- Including module symple
    -- Including module sample sympleconsole
    -- Including module test sympletests
    -- Including module turn
    -- Including module sample turnserver
    -- Including module test turnclienttest
    -- Including module util
    -- Including module uv
    -- Including dependency: WebRTC
    CMake Warning at src/webrtc/CMakeLists.txt:7 (message):
      Compiling WebRTC libraries with `BUILD_SHARED_LIBS=OFF` is recommended
    
    
    -- Including module webrtc
    -- Including dependency: WebRTC
    -- Including dependency: FFmpeg
    -- Including module sample webrtcstreamer
    -- Including dependency: WebRTC
    -- Including dependency: FFmpeg
    -- Including module sample webrtcrecorder
    -- Parsing 'libsourcey.h.cmake'
    --
    --   Platform:
    --     Host:                        Windows 10.0.14393 AMD64
    --     CMake:                       3.7.0-rc1
    --     CMake generator:             Visual Studio 14 2015 Win64
    --     CMake build tool:            C:/Program Files (x86)/MSBuild/14.0/bin/MSBuild.exe
    --     MSVC:                        1900
    --
    --   C/C++:
    --     Built as dynamic libs?:      YES
    --     C++ Compiler:                C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
    --     C++ flags (Release):         /DWIN32 /D_WINDOWS /W4 /GR /EHa  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /wd4251 /MD /O2 /Ob2 /DNDEBUG   /Zi
    --     C++ flags (Debug):           /DWIN32 /D_WINDOWS /W4 /GR /EHa  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /wd4251 /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1
    --     C Compiler:                  C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
    --     C flags (Release):           /DWIN32 /D_WINDOWS /W3  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /MD /O2 /Ob2 /DNDEBUG  /Zi
    --     C flags (Debug):             /DWIN32 /D_WINDOWS /W3  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1
    --     Linker flags (Release):      /machine:x64  /SAFESEH:NO /INCREMENTAL:NO  /debug
    --     Linker flags (Debug):        /machine:x64  /SAFESEH:NO /debug /INCREMENTAL
    --
    --   Build Components:
    --
    --      Dependencies:               libuv;zlib;minizip;http_parser
    --      Modules:                    archo;av;base;crypto;http;json;net;sched;socketio;stun;symple;turn;util;uv;webrtc
    --      Applications:
    --      Samples:                    av;http;net;socketio;symple;turn;webrtc
    --      Tests:                      archo;av;base;crypto;http;net;sched;socketio;stun;symple;turn
    --
    --   Other third-party libraries:
    --
    --     Use OpenSSL:                 YES
    --     Use FFmpeg:                  YES
    --     Use OpenCV:                  NO
    --     Use WebRTC:                  YES
    --     Use Poco:                    NO
    --     Use wxWidgets:               NO
    --
    --     Install path:                E:/Libs/libsourcey/build/install
    --
    --     libsourcey.h is in:          E:/Libs/libsourcey/build/install/include/libsourcey.h
    -- -----------------------------------------------------------------
    --
    -- Configuring done
    -- Generating done
    -- Build files have been written to: E:/Libs/libsourcey/build
    

    Some of the libsourcey projects (e.g. "base") compile just fine, but others do not. Here is a sampling of the ~800 errors VS spits out at me:

    13>------ Build started: Project: basetests, Configuration: Debug x64 ------
    9>  cipher.cpp
    10>  configuration.cpp
    11>  audiobuffer.cpp
    12>  zipfile.cpp
    13>  basetests.cpp
    11>  audiocapture.cpp
    9>  crypto.cpp
    12>     Creating library E:/Libs/libsourcey/build/archo/Debug/scy_archod.lib and object E:/Libs/libsourcey/build/archo/Debug/scy_archod.exp
    12>zipfile.obj : error LNK2019: unresolved external symbol "public: __cdecl scy::LogStream::LogStream(enum scy::LogLevel,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int,void const *,char const *)" ([email protected]@@[email protected]@[email protected][email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]) referenced in function "public: void __cdecl scy::archo::ZipFile::extract(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" ([email protected]@[email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z)
    12>zipfile.obj : error LNK2019: unresolved external symbol "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl scy::fs::dirname(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" ([email protected]@[email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@Z) referenced in function "public: bool __cdecl scy::archo::ZipFile::extractCurrentFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool)" ([email protected]@[email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected])
    12>zipfile.obj : error LNK2019: unresolved external symbol "void __cdecl scy::fs::mkdirr(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)" ([email protected]@[email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]) referenced in function "public: bool __cdecl scy::archo::ZipFile::extractCurrentFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool)" ([email protected]@[email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected])
    12>zipfile.obj : error LNK2019: unresolved external symbol "void __cdecl scy::fs::addnode(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" ([email protected]@[email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@Z) referenced in function "public: bool __cdecl scy::archo::ZipFile::extractCurrentFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool)" ([email protected]@[email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected])
    12>zipfile.obj : error LNK2019: unresolved external symbol "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl scy::fs::transcode(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" ([email protected]@[email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@Z) referenced in function "public: void __cdecl scy::archo::ZipFile::open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" ([email protected]@[email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z)
    12>zipfile.obj : error LNK2001: unresolved external symbol "char const scy::fs::delimiter" ([email protected]@[email protected]@3DB)
    12>E:\Libs\libsourcey\build\archo\Debug\scy_archod.dll : fatal error LNK1120: 6 unresolved externals
    
    9>E:\Libs\libsourcey\src\crypto\include\scy/crypto/x509certificate.h(98): error C2039: 'set': is not a member of 'std'
    9>  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\iostream(12): note: see declaration of 'std'
    9>E:\Libs\libsourcey\src\crypto\include\scy/crypto/x509certificate.h(98): error C2061: syntax error: identifier 'set'
    9>E:\Libs\libsourcey\src\crypto\src\x509certificate.cpp(229): error C2039: 'set': is not a member of 'std'
    9>  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\iostream(12): note: see declaration of 'std'
    9>E:\Libs\libsourcey\src\crypto\src\x509certificate.cpp(229): error C2061: syntax error: identifier 'set'
    9>E:\Libs\libsourcey\src\crypto\src\x509certificate.cpp(231): error C2065: 'domainNames': undeclared identifier
    9>E:\Libs\libsourcey\src\crypto\src\x509certificate.cpp(231): error C2228: left of '.clear' must have class/struct/union
    9>  E:\Libs\libsourcey\src\crypto\src\x509certificate.cpp(231): note: type is 'unknown-type'
    9>E:\Libs\libsourcey\src\crypto\src\x509certificate.cpp(240): error C2065: 'domainNames': undeclared identifier
    9>E:\Libs\libsourcey\src\crypto\src\x509certificate.cpp(240): error C2228: left of '.insert' must have class/struct/union
    9>  E:\Libs\libsourcey\src\crypto\src\x509certificate.cpp(240): note: type is 'unknown-type'
    9>E:\Libs\libsourcey\src\crypto\src\x509certificate.cpp(247): error C2065: 'domainNames': undeclared identifier
    9>E:\Libs\libsourcey\src\crypto\src\x509certificate.cpp(247): error C2228: left of '.empty' must have class/struct/union
    9>  E:\Libs\libsourcey\src\crypto\src\x509certificate.cpp(247): note: type is 'unknown-type'
    9>E:\Libs\libsourcey\src\crypto\src\x509certificate.cpp(248): error C2065: 'domainNames': undeclared identifier
    9>E:\Libs\libsourcey\src\crypto\src\x509certificate.cpp(248): error C2228: left of '.insert' must have class/struct/union
    9>  E:\Libs\libsourcey\src\crypto\src\x509certificate.cpp(248): note: type is 'unknown-type'
    

    I suspect there is something related to the recent work in exchanging OpenSSL with BoringSSL and trying to exclude these x509 certificates that was incomplete.

    Please let me know if there is more data/logs I can provide you. Thanks!

    opened by DanAndersen 12
  • CMake cannot find custom WebRTC build

    CMake cannot find custom WebRTC build

    I built WebRTC in Gentoo with my own scripts, and trying to build with setting WEBRTC_ROOT_DIR, here it is:

    cmake .. -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_SHARED_LIBS=OFF \
    -DBUILD_APPLICATIONS=OFF -DBUILD_MODULES=OFF \
    -DBUILD_SAMPLES=OFF -DBUILD_TESTS=ON \
    -DBUILD_MODULE_base=ON -DBUILD_MODULE_crypto=ON \
    -DBUILD_MODULE_http=ON -DBUILD_MODULE_json=ON \
    -DBUILD_MODULE_av=ON -DBUILD_MODULE_net=ON \
    -DBUILD_MODULE_socketio=ON -DBUILD_MODULE_stun=ON \
    -DBUILD_MODULE_symple=ON -DBUILD_MODULE_turn=ON \
    -DBUILD_MODULE_util=ON -DBUILD_MODULE_webrtc=ON \
    -DWITH_WEBRTC=ON -DWEBRTC_ROOT_DIR=/home/artem/webrtc-checkout/src \
    -DWITH_FFMPEG=OFF -DWITH_OPENCV=OFF \
    -DBUILD_MODULE_archo=OFF -DBUILD_MODULE_pacm=OFF \
    -DBUILD_MODULE_pluga=OFF -DBUILD_MODULE_sked=OFF
    
    ...
    
    -- Could NOT find WEBRTC (missing:  WEBRTC_LIBRARIES) 
    CMake Error at cmake/LibSourceyIncludes.cmake:72 (message):
      Failed to include dependency: WebRTC.  Please build and install
      dependencies before using CMake.
    Call Stack (most recent call first):
      LibSourcey.cmake:243 (find_dependency)
      CMakeLists.txt:35 (include)
    ...
    

    Commit 23e72cfd6c3e8369494fbf344433c64ecc255fe7 CMake 3.5.2

    And it seems that commenting this line helps: https://github.com/sourcey/libsourcey/blob/master/cmake/FindWebRTC.cmake#L168

    opened by artemiuzzz 11
  • Compile on Linux with SAMPLES_webrtc

    Compile on Linux with SAMPLES_webrtc

    Hello,

    I try to cmake with this command: (if building on the current master checkout)

    cmake .. -DCMAKE_BUILD_TYPE=RELEASE -DWITH_WEBRTC=ON -DBUILD_SAMPLES_webrtc=ON -DWITH_FFMPEG=ON \ -DWEBRTC_ROOT_DIR=~/tmp/webrtcbuilds/out/webrtcbuilds-17821-fd68d65-linux-x64/ -DBUILD_SHARED_LIBS=OFF

    After running

    make

    I got Error:

    Linking CXX executable stuntests
    ~/tmp/webrtcbuilds/out/webrtcbuilds-17821-fd68d65-linux-x64/lib/x64/Release/libwebrtc_full.a: error adding symbols: Malformed archive
    

    If I used previous commit I got

    Linking CXX executable stuntests
    /usr/bin/ld: ~/tmp/webrtcbuilds/out/src/out/x64/Release/obj/third_party/boringssl/boringssl/cpu-intel.o: unrecognized relocation (0x2a) in section `.text.OPENSSL_cpuid_setup'
    /usr/bin/ld: final link failed: Bad value
    collect2: error: ld returned 1 exit status
    make[2]: *** [stun/tests/stuntests] Error 1
    make[1]: *** [stun/tests/CMakeFiles/stuntests.dir/all] Error 2
    make: *** [all] Error 2
    

    May be something wrong with my libc6?

    dpkg -l | grep libc6
    ii  libc6:amd64                           2.19-0ubuntu6.11                      amd64        Embedded GNU C Library: Shared libraries
    ii  libc6-dev:amd64                       2.19-0ubuntu6.11                      amd64        Embedded GNU C Library: Development Libraries and Header Files
    ii  libc6-i386                            2.19-0ubuntu6.11                      amd64        Embedded GNU C Library: 32-bit shared libraries for AMD64
    

    Thanks for any help.

    opened by VladislavSu 11
  • WebRTC troubles

    WebRTC troubles

    Hi! That's not actually an issue, but could you please provide an external repo or just some archive with Debug and Release WebRTC binaries(Visual Studio 2015) that libsourcey could be linked with? Thanks!

    opened by cexcell 11
  • Replacing adapters leads to crash (when overriding `onSocketRecv`)

    Replacing adapters leads to crash (when overriding `onSocketRecv`)

    Hello Kam,

    I've been testing some things with the HTTP module, and so I tried to implement some multi-request connection adapter thingy. The one-time use nature of the current implementation isn't really convenient, especially when dealing with a REST API. Although replacing the default ConnectionAdapter instance with a Websocket adapter works pretty well, this snippet leads to a segfault :

    ClientConnection::Ptr connection = createConnection(u);
    connection->replaceAdapter(new ConnectionAdapter(connection.get(), HTTP_RESPONSE));
    connection->request().setURI("/");
    connection->request().setHost(u.host(), u.port());
    connection->send();
    

    where u is here an instance of URL. I obviously call waitForShutdown so there isn't any destroyed pending operation. I also noticed that this replaceAdapter call is the same as the one in the ClientConnection constructor.

    More details about the crash

    Debugger reported that this is caused by dereferencing a null pointer, occuring in onSocketRecv of some SocketAdapter instance. The ptr member of ref is showed as a null pointer, even though the alive field is true. That means the pointer is deleted somewhere, and the alive flag isn't toggled to false.

    I'm tempted to think that something is broken in the replaceAdapter method, which sounds somewhat weird, mainly because the Websocket adapter is working just fine. I'll do some further investigation, though.

    Note: when run with Valgrind, the crash somehow doesn't seem to happen.

    opened by Malesio 10
  • Cast from pointer to smaller type 'int' loses information

    Cast from pointer to smaller type 'int' loses information

    "In file scy/signal.h:160:26: Cast from pointer to smaller type 'int' loses information".

    From my point of view it's inappropriate conversion for 64bit architecture like this:

    void* empty = 0;
    int value = (int)empty;
    
    opened by sparfenyuk 10
  • MacOS 10.12 compile error

    MacOS 10.12 compile error

    Hi there, I'm trying to build libsourcy on MacOS 10.12 with WEBRTC ON, after changing the FindWebRTC.cmake, Makefile generated successful. Clang genenarated Unsupported platform error, BTW, I used the webrtcbuilds to compile webrtc. Added some #define WEBRTC_POSIX WEBRTC_MAC, error gone. Then comes the following

    In file included from /Users/qulyf/Github/libsourcey/src/webrtc/src/streamrecorder.cpp:12: In file included from /Users/qulyf/Github/libsourcey/src/webrtc/include/scy/webrtc/streamrecorder.h:21: In file included from /Users/qulyf/Github/libsourcey/src/av/include/scy/av/multiplexencoder.h:20: In file included from /Users/qulyf/Github/libsourcey/src/av/include/scy/av/audioencoder.h:21: In file included from /Users/qulyf/Github/libsourcey/src/av/include/scy/av/audiocontext.h:23: In file included from /Users/qulyf/Github/libsourcey/src/av/include/scy/av/fpscounter.h:16: In file included from /Users/qulyf/Github/libsourcey/src/base/include/scy/packetstream.h:19: In file included from /Users/qulyf/Github/libsourcey/src/base/include/scy/memory.h:18: /Users/qulyf/Github/libsourcey/src/base/include/scy/timer.h:52:10: warning: 'start' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] void start(std::function<void()> func); ^ /Users/qulyf/Github/libsourcey/src/base/include/scy/runner.h:44:18: note: overridden virtual function is here virtual void start(std::function<void()> target) = 0; ^ In file included from /Users/qulyf/Github/libsourcey/src/webrtc/src/streamrecorder.cpp:12: In file included from /Users/qulyf/Github/libsourcey/src/webrtc/include/scy/webrtc/streamrecorder.h:21: /Users/qulyf/Github/libsourcey/src/av/include/scy/av/multiplexencoder.h:81:21: warning: 'options' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] EncoderOptions& options(); ^ /Users/qulyf/Github/libsourcey/src/av/include/scy/av/iencoder.h:94:29: note: overridden virtual function is here virtual EncoderOptions& options() = 0; ^ /Users/qulyf/Github/libsourcey/src/webrtc/src/streamrecorder.cpp:92:67: error: no member named 'DataY' in 'webrtc::VideoFrameBuffer' frame->data[0] = (uint8_t*)yuvframe.video_frame_buffer()->DataY(); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ /Users/qulyf/Github/libsourcey/src/webrtc/src/streamrecorder.cpp:93:67: error: no member named 'DataU' in 'webrtc::VideoFrameBuffer' frame->data[1] = (uint8_t*)yuvframe.video_frame_buffer()->DataU(); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ /Users/qulyf/Github/libsourcey/src/webrtc/src/streamrecorder.cpp:94:67: error: no member named 'DataV' in 'webrtc::VideoFrameBuffer' frame->data[2] = (uint8_t*)yuvframe.video_frame_buffer()->DataV(); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ 5 warnings and 3 errors generated. make[2]: *** [webrtc/CMakeFiles/webrtc.dir/src/streamrecorder.cpp.o] Error 1 make[1]: *** [webrtc/CMakeFiles/webrtc.dir/all] Error 2 make: *** [all] Error 2

    Stucked. Any help would be much appreciated. Thanks

    opened by qulyf 8
  • Fatal error in webrtcstreamer sample

    Fatal error in webrtcstreamer sample

    After building the webrtcstreamer example and running it I get the following error from webrtcstreamerd when trying to play the stream:

    [000:209] [32046] (channel.cc:1805): Changing voice state, recv=0 send=1
    
    
    #
    # Fatal error in ../../../webrtc/voice_engine/voe_base_impl.cc, line 91
    # last system error: 0
    # Check failed: 2 * number_of_channels == bytes_per_sample (4 vs. 2)
    # 
    #
    [000:209] [32046] (video_send_stream.cc:665): VideoSendStream::Start
    [000:209] [32068] (video_send_stream.cc:918): VideoSendStream::Start
    [000:209] [32046] (channel.cc:2063): Changing video state, send=1
    [000:210] [32077] (vie_encoder.cc:788): Video suspend state changed to: not suspended
    
    ==== C stack trace ===============================
    
    ./webrtcstreamerd(+0x4d17fb) [0x55e119f937fb]
    ./webrtcstreamerd(+0x9cfb40) [0x55e11a491b40]
    ./webrtcstreamerd(+0x9cff57) [0x55e11a491f57]
    ./webrtcstreamerd(+0xe92f7f) [0x55e11a954f7f]
     5: scy::wrtc::AudioPacketModule::sendFrameP()
     6: scy::wrtc::AudioPacketModule::processFrameP()
     7: scy::wrtc::AudioPacketModule::startProcessP()
     8: scy::wrtc::AudioPacketModule::OnMessage(rtc::Message*)
    ./webrtcstreamerd(+0x4a7030) [0x55e119f69030]
    ./webrtcstreamerd(+0x46fe1a) [0x55e119f31e1a]
    ./webrtcstreamerd(+0x46fd4a) [0x55e119f31d4a]
    ./webrtcstreamerd(+0x46fa97) [0x55e119f31a97]
    /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ca) [0x7f30f7a376ca]
    14: clone
    [1]    32043 abort (core dumped)  ./webrtcstreamerd
    
    opened by jdcc2 8
  • Error generating Visual Studio 16 2019

    Error generating Visual Studio 16 2019

    I've been struggling to get libsourcey built for quite some time. Many things point to dead links, or there are inconsistencies in what is documented and the external tools being used. Please help. I've managed to get it this far but feel I am hitting a brick wall.

    CMAKE My changes Commandline options:

    -DWEBRTC_LIBRARY_RELEASE:FILEPATH="C:/Libraries/WebRTC/lib/x64/Release/libwebrtc_full.lib"
    -DWEBRTC_LIBRARY_DEBUG:FILEPATH="C:/Libraries/WebRTC/lib/x64/Debug/libwebrtc_full.lib"
    -DWEBRTC_INCLUDE_DIR:PATH="include"
    -DWITH_POCO:BOOL="0"
    -DWEBRTC_ROOT_DIR:STRING="C:\Libraries\WebRTC"
    -DFFMPEG_ROOT_DIR:STRING="C:\Libraries\ffmpeg\dev"
    -DWITH_FFMPEG:BOOL="1"
    -DBUILD_SHARED_LIBS:BOOL="0"
    -DBUILD_MODULES:BOOL="0" 
    

    Cache file:

    WEBRTC_LIBRARY_RELEASE:FILEPATH=C:/Libraries/WebRTC/lib/x64/Release/libwebrtc_full.lib
    WEBRTC_LIBRARY_DEBUG:FILEPATH=C:/Libraries/WebRTC/lib/x64/Debug/libwebrtc_full.lib
    WEBRTC_INCLUDE_DIR:PATH=include
    WITH_POCO:BOOL=0
    FFmpeg_AVCODEC_INCLUDE_DIRS:PATH=FFmpeg_AVCODEC_INCLUDE_DIRS-NOTFOUND
    WEBRTC_ROOT_DIR:STRING=C:\Libraries\WebRTC
    FFMPEG_ROOT_DIR:STRING=C:\Libraries\ffmpeg\dev
    WITH_FFMPEG:BOOL=1
    BUILD_SHARED_LIBS:BOOL=0
    BUILD_MODULES:BOOL=0
    

    Configure output:

    CMake Deprecation Warning at CMakeLists.txt:7 (cmake_minimum_required):
      Compatibility with CMake < 2.8.12 will be removed from a future version of
      CMake.
    
      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.
    
    
    Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19042.
    CMake Warning (dev) at cmake/FindOpenCV.cmake:147 (set):
      implicitly converting 'BOOLEAN' to 'STRING' type.
    Call Stack (most recent call first):
      LibSourcey.cmake:211 (find_package)
      CMakeLists.txt:39 (include)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    CMake Warning (dev) at cmake/CMakeFindExtensions.cmake:106 (set):
      implicitly converting 'BOOLEAN' to 'STRING' type.
    Call Stack (most recent call first):
      cmake/FindFFmpeg.cmake:62 (set_module_found)
      LibSourcey.cmake:212 (find_package)
      CMakeLists.txt:39 (include)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    CMake Warning (dev) at cmake/FindFFmpeg.cmake:144 (set):
      implicitly converting 'BOOLEAN' to 'STRING' type.
    Call Stack (most recent call first):
      LibSourcey.cmake:212 (find_package)
      CMakeLists.txt:39 (include)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    - Linking dependency libuv with libraries: 
    - Linking dependency minizip with libraries: 
    - Linking dependency http_parser with libraries: 
    WEBRTC_INCLUDE_DIR: include
    WEBRTC_INCLUDE_DIRS: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:426 (message):
      The package name passed to `find_package_handle_standard_args` (WEBRTC)
      does not match the name of the calling package (WebRTC).  This can lead to
      problems in calling code that expects `find_package` result variables
      (e.g., `_FOUND`) to follow a certain pattern.
    Call Stack (most recent call first):
      cmake/FindWebRTC.cmake:189 (find_package_handle_standard_args)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      LibSourcey.cmake:262 (find_dependency)
      CMakeLists.txt:39 (include)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    WEBRTC Variables:
    -- Found: TRUE
    -- Include Dirs: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    -- Libraries: optimized;C:/Libraries/WebRTC/lib/x64/Release/libwebrtc_full.lib;debug;C:/Libraries/WebRTC/lib/x64/Debug/libwebrtc_full.lib
    -- Debug Libraries: 
    -- Release Libraries: 
    -- Dependencies: Secur32.lib;Winmm.lib;msdmo.lib;dmoguids.lib;wmcodecdspuuid.lib
    Using BoringSSL
    CMake Warning (dev) at cmake/CMakeFindExtensions.cmake:106 (set):
      implicitly converting 'BOOLEAN' to 'STRING' type.
    Call Stack (most recent call first):
      cmake/FindFFmpeg.cmake:62 (set_module_found)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      LibSourcey.cmake:286 (find_dependency)
      CMakeLists.txt:39 (include)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    CMake Warning (dev) at cmake/FindFFmpeg.cmake:144 (set):
      implicitly converting 'BOOLEAN' to 'STRING' type.
    Call Stack (most recent call first):
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      LibSourcey.cmake:286 (find_dependency)
      CMakeLists.txt:39 (include)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    Including module archo
    Including dependency: FFmpeg
    CMake Warning (dev) at cmake/CMakeFindExtensions.cmake:106 (set):
      implicitly converting 'BOOLEAN' to 'STRING' type.
    Call Stack (most recent call first):
      cmake/FindFFmpeg.cmake:62 (set_module_found)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      src/av/CMakeLists.txt:15 (include_dependency)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    CMake Warning (dev) at cmake/FindFFmpeg.cmake:144 (set):
      implicitly converting 'BOOLEAN' to 'STRING' type.
    Call Stack (most recent call first):
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      src/av/CMakeLists.txt:15 (include_dependency)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    Including module av
    Including module base
    Including dependency: SSL
    Including dependency: WebRTC
    WEBRTC_INCLUDE_DIR: include
    WEBRTC_INCLUDE_DIRS: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:426 (message):
      The package name passed to `find_package_handle_standard_args` (WEBRTC)
      does not match the name of the calling package (WebRTC).  This can lead to
      problems in calling code that expects `find_package` result variables
      (e.g., `_FOUND`) to follow a certain pattern.
    Call Stack (most recent call first):
      cmake/FindWebRTC.cmake:189 (find_package_handle_standard_args)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      cmake/FindSSL.cmake:8 (include_dependency)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      src/crypto/CMakeLists.txt:4 (include_dependency)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    WEBRTC Variables:
    -- Found: TRUE
    -- Include Dirs: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    -- Libraries: optimized;C:/Libraries/WebRTC/lib/x64/Release/libwebrtc_full.lib;debug;C:/Libraries/WebRTC/lib/x64/Debug/libwebrtc_full.lib
    -- Debug Libraries: 
    -- Release Libraries: 
    -- Dependencies: Secur32.lib;Winmm.lib;msdmo.lib;dmoguids.lib;wmcodecdspuuid.lib
    Including BoringSSL TRUE
    Including module crypto
    Including dependency: SSL
    Including dependency: WebRTC
    WEBRTC_INCLUDE_DIR: include
    WEBRTC_INCLUDE_DIRS: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:426 (message):
      The package name passed to `find_package_handle_standard_args` (WEBRTC)
      does not match the name of the calling package (WebRTC).  This can lead to
      problems in calling code that expects `find_package` result variables
      (e.g., `_FOUND`) to follow a certain pattern.
    Call Stack (most recent call first):
      cmake/FindWebRTC.cmake:189 (find_package_handle_standard_args)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      cmake/FindSSL.cmake:8 (include_dependency)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      src/http/CMakeLists.txt:10 (include_dependency)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    WEBRTC Variables:
    -- Found: TRUE
    -- Include Dirs: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    -- Libraries: optimized;C:/Libraries/WebRTC/lib/x64/Release/libwebrtc_full.lib;debug;C:/Libraries/WebRTC/lib/x64/Debug/libwebrtc_full.lib
    -- Debug Libraries: 
    -- Release Libraries: 
    -- Dependencies: Secur32.lib;Winmm.lib;msdmo.lib;dmoguids.lib;wmcodecdspuuid.lib
    Including BoringSSL TRUE
    Including module http
    Including module json
    Including dependency: SSL
    Including dependency: WebRTC
    WEBRTC_INCLUDE_DIR: include
    WEBRTC_INCLUDE_DIRS: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:426 (message):
      The package name passed to `find_package_handle_standard_args` (WEBRTC)
      does not match the name of the calling package (WebRTC).  This can lead to
      problems in calling code that expects `find_package` result variables
      (e.g., `_FOUND`) to follow a certain pattern.
    Call Stack (most recent call first):
      cmake/FindWebRTC.cmake:189 (find_package_handle_standard_args)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      cmake/FindSSL.cmake:8 (include_dependency)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      src/net/CMakeLists.txt:3 (include_dependency)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    WEBRTC Variables:
    -- Found: TRUE
    -- Include Dirs: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    -- Libraries: optimized;C:/Libraries/WebRTC/lib/x64/Release/libwebrtc_full.lib;debug;C:/Libraries/WebRTC/lib/x64/Debug/libwebrtc_full.lib
    -- Debug Libraries: 
    -- Release Libraries: 
    -- Dependencies: Secur32.lib;Winmm.lib;msdmo.lib;dmoguids.lib;wmcodecdspuuid.lib
    Including BoringSSL TRUE
    Including module net
    Including module sched
    Including dependency: SSL
    Including dependency: WebRTC
    WEBRTC_INCLUDE_DIR: include
    WEBRTC_INCLUDE_DIRS: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:426 (message):
      The package name passed to `find_package_handle_standard_args` (WEBRTC)
      does not match the name of the calling package (WebRTC).  This can lead to
      problems in calling code that expects `find_package` result variables
      (e.g., `_FOUND`) to follow a certain pattern.
    Call Stack (most recent call first):
      cmake/FindWebRTC.cmake:189 (find_package_handle_standard_args)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      cmake/FindSSL.cmake:8 (include_dependency)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      src/socketio/CMakeLists.txt:4 (include_dependency)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    WEBRTC Variables:
    -- Found: TRUE
    -- Include Dirs: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    -- Libraries: optimized;C:/Libraries/WebRTC/lib/x64/Release/libwebrtc_full.lib;debug;C:/Libraries/WebRTC/lib/x64/Debug/libwebrtc_full.lib
    -- Debug Libraries: 
    -- Release Libraries: 
    -- Dependencies: Secur32.lib;Winmm.lib;msdmo.lib;dmoguids.lib;wmcodecdspuuid.lib
    Including BoringSSL TRUE
    Including module socketio
    Including dependency: SSL
    Including dependency: WebRTC
    WEBRTC_INCLUDE_DIR: include
    WEBRTC_INCLUDE_DIRS: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:426 (message):
      The package name passed to `find_package_handle_standard_args` (WEBRTC)
      does not match the name of the calling package (WebRTC).  This can lead to
      problems in calling code that expects `find_package` result variables
      (e.g., `_FOUND`) to follow a certain pattern.
    Call Stack (most recent call first):
      cmake/FindWebRTC.cmake:189 (find_package_handle_standard_args)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      cmake/FindSSL.cmake:8 (include_dependency)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      src/stun/CMakeLists.txt:4 (include_dependency)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    WEBRTC Variables:
    -- Found: TRUE
    -- Include Dirs: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    -- Libraries: optimized;C:/Libraries/WebRTC/lib/x64/Release/libwebrtc_full.lib;debug;C:/Libraries/WebRTC/lib/x64/Debug/libwebrtc_full.lib
    -- Debug Libraries: 
    -- Release Libraries: 
    -- Dependencies: Secur32.lib;Winmm.lib;msdmo.lib;dmoguids.lib;wmcodecdspuuid.lib
    Including BoringSSL TRUE
    Including module stun
    Including dependency: SSL
    Including dependency: WebRTC
    WEBRTC_INCLUDE_DIR: include
    WEBRTC_INCLUDE_DIRS: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:426 (message):
      The package name passed to `find_package_handle_standard_args` (WEBRTC)
      does not match the name of the calling package (WebRTC).  This can lead to
      problems in calling code that expects `find_package` result variables
      (e.g., `_FOUND`) to follow a certain pattern.
    Call Stack (most recent call first):
      cmake/FindWebRTC.cmake:189 (find_package_handle_standard_args)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      cmake/FindSSL.cmake:8 (include_dependency)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      src/symple/CMakeLists.txt:4 (include_dependency)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    WEBRTC Variables:
    -- Found: TRUE
    -- Include Dirs: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    -- Libraries: optimized;C:/Libraries/WebRTC/lib/x64/Release/libwebrtc_full.lib;debug;C:/Libraries/WebRTC/lib/x64/Debug/libwebrtc_full.lib
    -- Debug Libraries: 
    -- Release Libraries: 
    -- Dependencies: Secur32.lib;Winmm.lib;msdmo.lib;dmoguids.lib;wmcodecdspuuid.lib
    Including BoringSSL TRUE
    Including module symple
    Including module turn
    Including module util
    Including dependency: WebRTC
    WEBRTC_INCLUDE_DIR: include
    WEBRTC_INCLUDE_DIRS: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:426 (message):
      The package name passed to `find_package_handle_standard_args` (WEBRTC)
      does not match the name of the calling package (WebRTC).  This can lead to
      problems in calling code that expects `find_package` result variables
      (e.g., `_FOUND`) to follow a certain pattern.
    Call Stack (most recent call first):
      cmake/FindWebRTC.cmake:189 (find_package_handle_standard_args)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      src/webrtc/CMakeLists.txt:3 (include_dependency)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    WEBRTC Variables:
    -- Found: TRUE
    -- Include Dirs: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    -- Libraries: optimized;C:/Libraries/WebRTC/lib/x64/Release/libwebrtc_full.lib;debug;C:/Libraries/WebRTC/lib/x64/Debug/libwebrtc_full.lib
    -- Debug Libraries: 
    -- Release Libraries: 
    -- Dependencies: Secur32.lib;Winmm.lib;msdmo.lib;dmoguids.lib;wmcodecdspuuid.lib
    Including module webrtc
    Creating 'libsourcey.pc'
    Creating 'libsourcey.h'
    Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
    
      Platform:
        Host:                        Windows 10.0.19042 AMD64
        CMake:                       3.19.4
        CMake generator:             Visual Studio 16 2019
        CMake build tool:            C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/MSBuild/Current/Bin/MSBuild.exe
        MSVC:                        1928
    
      C/C++:
        Built as dynamic libs?:      NO
        C++ Compiler:                C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe
        C++ flags (Release):         /DWIN32 /D_WINDOWS /W4 /GR /EHs /MP16   /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /wd4251 /MD /O2 /Ob2 /DNDEBUG   /Zi
        C++ flags (Debug):           /DWIN32 /D_WINDOWS /W4 /GR /EHs /MP16   /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /wd4251 /MDd /Zi /Ob0 /Od /RTC1 
        C Compiler:                  C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe
        C flags (Release):           /DWIN32 /D_WINDOWS /W3   /MP16   /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /MD /O2 /Ob2 /DNDEBUG  /Zi
        C flags (Debug):             /DWIN32 /D_WINDOWS /W3   /MP16   /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /MDd /Zi /Ob0 /Od /RTC1 
        Linker flags (Release):      /machine:x64  /SAFESEH:NO /INCREMENTAL:NO  /debug
        Linker flags (Debug):        /machine:x64  /SAFESEH:NO /debug /INCREMENTAL 
    
      Build Components:
    
         Dependencies:               libuv;zlib;minizip;http_parser
         Modules:                    archo;av;base;crypto;http;json;net;sched;socketio;stun;symple;turn;util;webrtc
         Applications:               
         Samples:                    
         Tests:                      
    
      Other third-party libraries:
    
        Use BoringSSL:               NO
        Use FFmpeg:                  YES
        Use OpenCV:                  NO
        Use WebRTC:                  YES
        Use Poco:                    NO
        Use wxWidgets:               NO
    
        Install path:                C:/Users/Jeff/source/repos/libsourcey/bin/install
    
        libsourcey.h is in:          C:/Users/Jeff/source/repos/libsourcey/bin/install/include/libsourcey.h
    -----------------------------------------------------------------
    
    Configuring done
    

    Generate output

    CMake Deprecation Warning at CMakeLists.txt:7 (cmake_minimum_required):
      Compatibility with CMake < 2.8.12 will be removed from a future version of
      CMake.
    
      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.
    
    
    Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19042.
    CMake Warning (dev) at cmake/FindOpenCV.cmake:147 (set):
      implicitly converting 'BOOLEAN' to 'STRING' type.
    Call Stack (most recent call first):
      LibSourcey.cmake:211 (find_package)
      CMakeLists.txt:39 (include)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    CMake Warning (dev) at cmake/CMakeFindExtensions.cmake:106 (set):
      implicitly converting 'BOOLEAN' to 'STRING' type.
    Call Stack (most recent call first):
      cmake/FindFFmpeg.cmake:62 (set_module_found)
      LibSourcey.cmake:212 (find_package)
      CMakeLists.txt:39 (include)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    CMake Warning (dev) at cmake/FindFFmpeg.cmake:144 (set):
      implicitly converting 'BOOLEAN' to 'STRING' type.
    Call Stack (most recent call first):
      LibSourcey.cmake:212 (find_package)
      CMakeLists.txt:39 (include)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    - Linking dependency libuv with libraries: 
    - Linking dependency minizip with libraries: 
    - Linking dependency http_parser with libraries: 
    WEBRTC_INCLUDE_DIR: include
    WEBRTC_INCLUDE_DIRS: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:426 (message):
      The package name passed to `find_package_handle_standard_args` (WEBRTC)
      does not match the name of the calling package (WebRTC).  This can lead to
      problems in calling code that expects `find_package` result variables
      (e.g., `_FOUND`) to follow a certain pattern.
    Call Stack (most recent call first):
      cmake/FindWebRTC.cmake:189 (find_package_handle_standard_args)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      LibSourcey.cmake:262 (find_dependency)
      CMakeLists.txt:39 (include)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    WEBRTC Variables:
    -- Found: TRUE
    -- Include Dirs: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    -- Libraries: optimized;C:/Libraries/WebRTC/lib/x64/Release/libwebrtc_full.lib;debug;C:/Libraries/WebRTC/lib/x64/Debug/libwebrtc_full.lib
    -- Debug Libraries: 
    -- Release Libraries: 
    -- Dependencies: Secur32.lib;Winmm.lib;msdmo.lib;dmoguids.lib;wmcodecdspuuid.lib
    Using BoringSSL
    CMake Warning (dev) at cmake/CMakeFindExtensions.cmake:106 (set):
      implicitly converting 'BOOLEAN' to 'STRING' type.
    Call Stack (most recent call first):
      cmake/FindFFmpeg.cmake:62 (set_module_found)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      LibSourcey.cmake:286 (find_dependency)
      CMakeLists.txt:39 (include)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    CMake Warning (dev) at cmake/FindFFmpeg.cmake:144 (set):
      implicitly converting 'BOOLEAN' to 'STRING' type.
    Call Stack (most recent call first):
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      LibSourcey.cmake:286 (find_dependency)
      CMakeLists.txt:39 (include)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    Including module archo
    Including dependency: FFmpeg
    CMake Warning (dev) at cmake/CMakeFindExtensions.cmake:106 (set):
      implicitly converting 'BOOLEAN' to 'STRING' type.
    Call Stack (most recent call first):
      cmake/FindFFmpeg.cmake:62 (set_module_found)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      src/av/CMakeLists.txt:15 (include_dependency)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    CMake Warning (dev) at cmake/FindFFmpeg.cmake:144 (set):
      implicitly converting 'BOOLEAN' to 'STRING' type.
    Call Stack (most recent call first):
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      src/av/CMakeLists.txt:15 (include_dependency)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    Including module av
    Including module base
    Including dependency: SSL
    Including dependency: WebRTC
    WEBRTC_INCLUDE_DIR: include
    WEBRTC_INCLUDE_DIRS: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:426 (message):
      The package name passed to `find_package_handle_standard_args` (WEBRTC)
      does not match the name of the calling package (WebRTC).  This can lead to
      problems in calling code that expects `find_package` result variables
      (e.g., `_FOUND`) to follow a certain pattern.
    Call Stack (most recent call first):
      cmake/FindWebRTC.cmake:189 (find_package_handle_standard_args)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      cmake/FindSSL.cmake:8 (include_dependency)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      src/crypto/CMakeLists.txt:4 (include_dependency)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    WEBRTC Variables:
    -- Found: TRUE
    -- Include Dirs: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    -- Libraries: optimized;C:/Libraries/WebRTC/lib/x64/Release/libwebrtc_full.lib;debug;C:/Libraries/WebRTC/lib/x64/Debug/libwebrtc_full.lib
    -- Debug Libraries: 
    -- Release Libraries: 
    -- Dependencies: Secur32.lib;Winmm.lib;msdmo.lib;dmoguids.lib;wmcodecdspuuid.lib
    Including BoringSSL TRUE
    Including module crypto
    Including dependency: SSL
    Including dependency: WebRTC
    WEBRTC_INCLUDE_DIR: include
    WEBRTC_INCLUDE_DIRS: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:426 (message):
      The package name passed to `find_package_handle_standard_args` (WEBRTC)
      does not match the name of the calling package (WebRTC).  This can lead to
      problems in calling code that expects `find_package` result variables
      (e.g., `_FOUND`) to follow a certain pattern.
    Call Stack (most recent call first):
      cmake/FindWebRTC.cmake:189 (find_package_handle_standard_args)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      cmake/FindSSL.cmake:8 (include_dependency)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      src/http/CMakeLists.txt:10 (include_dependency)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    WEBRTC Variables:
    -- Found: TRUE
    -- Include Dirs: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    -- Libraries: optimized;C:/Libraries/WebRTC/lib/x64/Release/libwebrtc_full.lib;debug;C:/Libraries/WebRTC/lib/x64/Debug/libwebrtc_full.lib
    -- Debug Libraries: 
    -- Release Libraries: 
    -- Dependencies: Secur32.lib;Winmm.lib;msdmo.lib;dmoguids.lib;wmcodecdspuuid.lib
    Including BoringSSL TRUE
    Including module http
    Including module json
    Including dependency: SSL
    Including dependency: WebRTC
    WEBRTC_INCLUDE_DIR: include
    WEBRTC_INCLUDE_DIRS: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:426 (message):
      The package name passed to `find_package_handle_standard_args` (WEBRTC)
      does not match the name of the calling package (WebRTC).  This can lead to
      problems in calling code that expects `find_package` result variables
      (e.g., `_FOUND`) to follow a certain pattern.
    Call Stack (most recent call first):
      cmake/FindWebRTC.cmake:189 (find_package_handle_standard_args)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      cmake/FindSSL.cmake:8 (include_dependency)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      src/net/CMakeLists.txt:3 (include_dependency)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    WEBRTC Variables:
    -- Found: TRUE
    -- Include Dirs: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    -- Libraries: optimized;C:/Libraries/WebRTC/lib/x64/Release/libwebrtc_full.lib;debug;C:/Libraries/WebRTC/lib/x64/Debug/libwebrtc_full.lib
    -- Debug Libraries: 
    -- Release Libraries: 
    -- Dependencies: Secur32.lib;Winmm.lib;msdmo.lib;dmoguids.lib;wmcodecdspuuid.lib
    Including BoringSSL TRUE
    Including module net
    Including module sched
    Including dependency: SSL
    Including dependency: WebRTC
    WEBRTC_INCLUDE_DIR: include
    WEBRTC_INCLUDE_DIRS: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:426 (message):
      The package name passed to `find_package_handle_standard_args` (WEBRTC)
      does not match the name of the calling package (WebRTC).  This can lead to
      problems in calling code that expects `find_package` result variables
      (e.g., `_FOUND`) to follow a certain pattern.
    Call Stack (most recent call first):
      cmake/FindWebRTC.cmake:189 (find_package_handle_standard_args)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      cmake/FindSSL.cmake:8 (include_dependency)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      src/socketio/CMakeLists.txt:4 (include_dependency)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    WEBRTC Variables:
    -- Found: TRUE
    -- Include Dirs: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    -- Libraries: optimized;C:/Libraries/WebRTC/lib/x64/Release/libwebrtc_full.lib;debug;C:/Libraries/WebRTC/lib/x64/Debug/libwebrtc_full.lib
    -- Debug Libraries: 
    -- Release Libraries: 
    -- Dependencies: Secur32.lib;Winmm.lib;msdmo.lib;dmoguids.lib;wmcodecdspuuid.lib
    Including BoringSSL TRUE
    Including module socketio
    Including dependency: SSL
    Including dependency: WebRTC
    WEBRTC_INCLUDE_DIR: include
    WEBRTC_INCLUDE_DIRS: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:426 (message):
      The package name passed to `find_package_handle_standard_args` (WEBRTC)
      does not match the name of the calling package (WebRTC).  This can lead to
      problems in calling code that expects `find_package` result variables
      (e.g., `_FOUND`) to follow a certain pattern.
    Call Stack (most recent call first):
      cmake/FindWebRTC.cmake:189 (find_package_handle_standard_args)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      cmake/FindSSL.cmake:8 (include_dependency)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      src/stun/CMakeLists.txt:4 (include_dependency)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    WEBRTC Variables:
    -- Found: TRUE
    -- Include Dirs: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    -- Libraries: optimized;C:/Libraries/WebRTC/lib/x64/Release/libwebrtc_full.lib;debug;C:/Libraries/WebRTC/lib/x64/Debug/libwebrtc_full.lib
    -- Debug Libraries: 
    -- Release Libraries: 
    -- Dependencies: Secur32.lib;Winmm.lib;msdmo.lib;dmoguids.lib;wmcodecdspuuid.lib
    Including BoringSSL TRUE
    Including module stun
    Including dependency: SSL
    Including dependency: WebRTC
    WEBRTC_INCLUDE_DIR: include
    WEBRTC_INCLUDE_DIRS: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:426 (message):
      The package name passed to `find_package_handle_standard_args` (WEBRTC)
      does not match the name of the calling package (WebRTC).  This can lead to
      problems in calling code that expects `find_package` result variables
      (e.g., `_FOUND`) to follow a certain pattern.
    Call Stack (most recent call first):
      cmake/FindWebRTC.cmake:189 (find_package_handle_standard_args)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      cmake/FindSSL.cmake:8 (include_dependency)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      src/symple/CMakeLists.txt:4 (include_dependency)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    WEBRTC Variables:
    -- Found: TRUE
    -- Include Dirs: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    -- Libraries: optimized;C:/Libraries/WebRTC/lib/x64/Release/libwebrtc_full.lib;debug;C:/Libraries/WebRTC/lib/x64/Debug/libwebrtc_full.lib
    -- Debug Libraries: 
    -- Release Libraries: 
    -- Dependencies: Secur32.lib;Winmm.lib;msdmo.lib;dmoguids.lib;wmcodecdspuuid.lib
    Including BoringSSL TRUE
    Including module symple
    Including module turn
    Including module util
    Including dependency: WebRTC
    WEBRTC_INCLUDE_DIR: include
    WEBRTC_INCLUDE_DIRS: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:426 (message):
      The package name passed to `find_package_handle_standard_args` (WEBRTC)
      does not match the name of the calling package (WebRTC).  This can lead to
      problems in calling code that expects `find_package` result variables
      (e.g., `_FOUND`) to follow a certain pattern.
    Call Stack (most recent call first):
      cmake/FindWebRTC.cmake:189 (find_package_handle_standard_args)
      cmake/LibSourceyIncludes.cmake:52 (find_package)
      cmake/LibSourceyIncludes.cmake:108 (find_dependency)
      src/webrtc/CMakeLists.txt:3 (include_dependency)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    WEBRTC Variables:
    -- Found: TRUE
    -- Include Dirs: C:\Libraries\WebRTC\include;C:\Libraries\WebRTC\include/third_party/boringssl/src/include
    -- Libraries: optimized;C:/Libraries/WebRTC/lib/x64/Release/libwebrtc_full.lib;debug;C:/Libraries/WebRTC/lib/x64/Debug/libwebrtc_full.lib
    -- Debug Libraries: 
    -- Release Libraries: 
    -- Dependencies: Secur32.lib;Winmm.lib;msdmo.lib;dmoguids.lib;wmcodecdspuuid.lib
    Including module webrtc
    Creating 'libsourcey.pc'
    Creating 'libsourcey.h'
    Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
    
      Platform:
        Host:                        Windows 10.0.19042 AMD64
        CMake:                       3.19.4
        CMake generator:             Visual Studio 16 2019
        CMake build tool:            C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/MSBuild/Current/Bin/MSBuild.exe
        MSVC:                        1928
    
      C/C++:
        Built as dynamic libs?:      NO
        C++ Compiler:                C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe
        C++ flags (Release):         /DWIN32 /D_WINDOWS /W4 /GR /EHs /MP16   /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /wd4251 /MD /O2 /Ob2 /DNDEBUG   /Zi
        C++ flags (Debug):           /DWIN32 /D_WINDOWS /W4 /GR /EHs /MP16   /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /wd4251 /MDd /Zi /Ob0 /Od /RTC1 
        C Compiler:                  C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe
        C flags (Release):           /DWIN32 /D_WINDOWS /W3   /MP16   /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /MD /O2 /Ob2 /DNDEBUG  /Zi
        C flags (Debug):             /DWIN32 /D_WINDOWS /W3   /MP16   /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /MDd /Zi /Ob0 /Od /RTC1 
        Linker flags (Release):      /machine:x64  /SAFESEH:NO /INCREMENTAL:NO  /debug
        Linker flags (Debug):        /machine:x64  /SAFESEH:NO /debug /INCREMENTAL 
    
      Build Components:
    
         Dependencies:               libuv;zlib;minizip;http_parser
         Modules:                    archo;av;base;crypto;http;json;net;sched;socketio;stun;symple;turn;util;webrtc
         Applications:               
         Samples:                    
         Tests:                      
    
      Other third-party libraries:
    
        Use BoringSSL:               NO
        Use FFmpeg:                  YES
        Use OpenCV:                  NO
        Use WebRTC:                  YES
        Use Poco:                    NO
        Use wxWidgets:               NO
    
        Install path:                C:/Users/Jeff/source/repos/libsourcey/bin/install
    
        libsourcey.h is in:          C:/Users/Jeff/source/repos/libsourcey/bin/install/include/libsourcey.h
    -----------------------------------------------------------------
    
    Configuring done
    CMake Error at vendor/zlib/CMakeLists.txt:185 (add_library):
      Cannot find source file:
    
        contrib/masmx64/gvmat64.asm
    
      Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
      .hpp .hxx .in .txx .f .F .for .f77 .f90 .f95 .f03 .ispc
    
    
    CMake Error at vendor/zlib/CMakeLists.txt:185 (add_library):
      No SOURCES given to target: zlib
    
    
    CMake Error at vendor/zlib/CMakeLists.txt:186 (add_library):
      No SOURCES given to target: zlibstatic
    
    
    
    opened by YAJeff 0
  • Fail compilation on default setting. (fedora33)

    Fail compilation on default setting. (fedora33)

    Hi, I;m getting this compilation error while trying to compile sha : 98df3c31ea1c5e8 libsourcey/src/crypto/include/scy/crypto/hash.h:56:16: error: field ‘_ctx’ has incomplete type ‘EVP_MD_CTX’ {aka ‘evp_md_ctx_st’}

    Env: Fedora33, Compiler gcc10. Here attached the compilation log sourcey_compile_error.log

    opened by lighta 1
  • Bump jquery from 3.3.1 to 3.5.0 in /src/av/samples/mediaserver/client

    Bump jquery from 3.3.1 to 3.5.0 in /src/av/samples/mediaserver/client

    Bumps jquery from 3.3.1 to 3.5.0.

    Commits
    • 7a0a850 3.5.0
    • 8570a08 Release: Update AUTHORS.txt
    • da3dd85 Ajax: Do not execute scripts for unsuccessful HTTP responses
    • 065143c Ajax: Overwrite s.contentType with content-type header value, if any
    • 1a4f10d Tests: Blacklist one focusin test in IE
    • 9e15d6b Event: Use only one focusin/out handler per matching window & document
    • 966a709 Manipulation: Skip the select wrapper for <option> outside of IE 9
    • 1d61fd9 Manipulation: Make jQuery.htmlPrefilter an identity function
    • 04bf577 Selector: Update Sizzle from 2.3.4 to 2.3.5
    • 7506c9c Build: Resolve Travis config warnings
    • Additional commits viewable in compare view
    Maintainer changes

    This version was pushed to npm by mgol, a new releaser for jquery since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • LibSourcey does not support modern version of WebRTC, because cricket::VideoCapturer was removed from WebRTC

    LibSourcey does not support modern version of WebRTC, because cricket::VideoCapturer was removed from WebRTC

    Building libSourcey with last version of WebRTC on 23.04.2020 leads to errors. Some errors could be simply fixed:

    #include "rtc_base/criticalsection.h" -> #include "rtc_base/critical_section.h" #include "rtc_base/scoped_ref_ptr.h" -> #include "base/memory/scoped_refptr.h"

    But there is more complex: src/webrtc/.../videopacketsource.h relies on cricket::VideoCapturer, which was deprecated and lately removed from WebRTC (see WebRTC developers discussion there: https://bugs.chromium.org/p/webrtc/issues/detail?id=6353)

    The videopacketsource.h file references on file, with was removed: #include "media/base/videocapturer.h" and class definition inside extend from removed class: class VideoPacketSource : public cricket::VideoCapturer

    Please, rewrite the code with new video classes according to the samples mentioned in the discussion above.

    opened by kapulkin 2
KoanLogic 378 Jun 22, 2022
EASTL stands for Electronic Arts Standard Template Library. It is an extensive and robust implementation that has an emphasis on high performance.

EA Standard Template Library EASTL stands for Electronic Arts Standard Template Library. It is a C++ template library of containers, algorithms, and i

Electronic Arts 6.5k Jun 29, 2022
C++ Parallel Computing and Asynchronous Networking Engine

As Sogou`s C++ server engine, Sogou C++ Workflow supports almost all back-end C++ online services of Sogou, including all search services, cloud input method,online advertisements, etc., handling more than 10 billion requests every day. This is an enterprise-level programming engine in light and elegant design which can satisfy most C++ back-end development requirements.

Sogou-inc 8.4k Jun 24, 2022
A collection of single-file C libraries. (generic containers, random number generation, argument parsing and other functionalities)

cauldron A collection of single-file C libraries and tools with the goal to be portable and modifiable. Libraries library description arena-allocator.

Camel Coder 31 Jun 17, 2022
Abseil Common Libraries (C++)

Abseil - C++ Common Libraries The repository contains the Abseil C++ library code. Abseil is an open-source collection of C++ code (compliant to C++11

Abseil 10.5k Jun 21, 2022
Basic Development Environment - a set of foundational C++ libraries used at Bloomberg.

BDE Libraries This repository contains the BDE libraries, currently BSL (Basic Standard Library), BDL (Basic Development Library), BAL (Basic Applicat

Bloomberg 1.4k Jun 27, 2022
stb single-file public domain libraries for C/C++

stb single-file public domain (or MIT licensed) libraries for C/C++ Noteworthy: image loader: stb_image.h image writer: stb_image_write.h image resize

Sean Barrett 19.2k Jun 28, 2022
JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, RTAS and AAX audio plug-ins.

JUCE is an open-source cross-platform C++ application framework used for rapidly developing high quality desktop and mobile applications, including VS

JUCE 4.3k Jun 22, 2022
A toolkit for making real world machine learning and data analysis applications in C++

dlib C++ library Dlib is a modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real worl

Davis E. King 11.2k Jun 22, 2022
hypertextcpp - is a hyperfast HTML templating system for C++ applications.

It provides a highly readable .htcpp template file format and a command line utility that transpiles it to C++ HTML rendering code. Include a generated C++ header file in your project, then setup a build system to update it when necessary, and you're all set.

null 24 May 7, 2022
An open-source C++ library developed and used at Facebook.

Folly: Facebook Open-source Library What is folly? Folly (acronymed loosely after Facebook Open Source Library) is a library of C++14 components desig

Facebook 22.1k Jun 20, 2022
Functional Programming Library for C++. Write concise and readable C++ code.

FunctionalPlus helps you write concise and readable C++ code. Table of contents Introduction Usage examples Type deduction and useful error messages T

Tobias Hermann 1.6k Jun 24, 2022
Easy to use, header only, macro generated, generic and type-safe Data Structures in C

C Macro Collections Easy to use, header only, macro generated, generic and type-safe Data Structures in C. Table of Contents Installation Contributing

Leonardo Vencovsky 307 Jun 28, 2022
Idle is an asynchronous and hot-reloadable C++ dynamic component framework

Idle is an asynchronous, hot-reloadable, and highly reactive dynamic component framework similar to OSGI that is: ?? Modular: Your program logic is en

Denis Blank 163 Jun 11, 2022
TengineGst is a streaming media analytics framework, based on GStreamer multimedia framework, for creating varied complex media analytics pipelines.

TengineGst is a streaming media analytics framework, based on GStreamer multimedia framework, for creating varied complex media analytics pipelines. It ensures pipeline interoperability and provides optimized media, and inference operations using Tengine Toolkit Inference Engine backend, across varied architecture - CPU, iGPU and VPU.

OAID 64 May 30, 2022
Kodi is an award-winning free and open source software media player and entertainment hub for digital media

website • docs • community • add-ons Welcome to Kodi Home Theater Software! Kodi is an award-winning free and open source software media player and en

Team Kodi 13.9k Jun 24, 2022
Smartstreaming is a high-performance and scalable streaming media server.

1. introduction Smartstreaming is a high-performance and scalable streaming media server. 2. design | io | Coroutine | | transport | tcp/udp/srt/quic

null 2 Jan 7, 2022
Visualization Library is a C++ middleware for high-performance 2D and 3D graphics applications based on OpenGL 1.x-4.x supporting Windows, Linux and Mac OS X.

Visualization Library 2.2 Gallery About Visualization Library is a C++ middleware for high-performance 2D and 3D graphics applications based on the in

Michele 293 Jun 26, 2022
WAFer is a C language-based software platform for scalable server-side and networking applications. Think node.js for C programmers.

WAFer WAFer is a C language-based ultra-light scalable server-side web applications framework. Think node.js for C programmers. Because it's written i

Riolet Corporation 692 Jun 3, 2022
WAFer is a C language-based software platform for scalable server-side and networking applications. Think node.js for C programmers.

WAFer WAFer is a C language-based ultra-light scalable server-side web applications framework. Think node.js for C programmers. Because it's written i

Riolet Corporation 692 Jun 3, 2022
Experimental and Comparative Performance Measurements of High Performance Computing Based on OpenMP and MPI

High-Performance-Computing-Experiments Experimental and Comparative Performance Measurements of High Performance Computing Based on OpenMP and MPI 实验结

Jiang Lu 1 Nov 27, 2021
WasmEdge Runtime is a high-performance, extensible, and hardware optimized WebAssembly Virtual Machine for automotive, cloud, AI, and blockchain applications.

WasmEdge Runtime is a high-performance, extensible, and hardware optimized WebAssembly Virtual Machine for automotive, cloud, AI, and blockchain applications.

null 3.4k Jun 27, 2022
🥑 ArangoDB is a native multi-model database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions.

?? ArangoDB is a native multi-model database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions.

ArangoDB 12.4k Jun 24, 2022
Lightweight Peer-to-Peer networking engine for real time applications

Club A lightweight Peer-to-Peer networking engine for real time applications written in C++14. Motivation Real time applications such as Online games,

Peter 187 Mar 3, 2022
An eventing framework for building high performance and high scalability systems in C.

NOTE: THIS PROJECT HAS BEEN DEPRECATED AND IS NO LONGER ACTIVELY MAINTAINED As of 2019-03-08, this project will no longer be maintained and will be ar

Facebook Archive 1.7k Jun 15, 2022
OceanBase is an enterprise distributed relational database with high availability, high performance, horizontal scalability, and compatibility with SQL standards.

What is OceanBase database OceanBase Database is a native distributed relational database. It is developed entirely by Alibaba and Ant Group. OceanBas

OceanBase 4.4k Jun 27, 2022
An eventing framework for building high performance and high scalability systems in C.

NOTE: THIS PROJECT HAS BEEN DEPRECATED AND IS NO LONGER ACTIVELY MAINTAINED As of 2019-03-08, this project will no longer be maintained and will be ar

Meta Archive 1.7k Jun 15, 2022
High-level networking API for real-time simulations with primitives for remote procedure call and object state replication

tnl2 - Torque Network Library version 2 tnl2 is a high-level networking API for real-time simulations with primitives for remote procedure call and o

Mark Frohnmayer 23 Apr 10, 2022
High Performance 3D Game Engine, with a high emphasis on Rendering

Electro High Performance 3D Game Engine, with a high emphasis on Rendering MainFeatures Rendering PBR Renderer (Cook–Torrance GGX) IBL (Image Based Li

Surge 45 Jun 18, 2022