Coder Social home page Coder Social logo

Comments (19)

ibc avatar ibc commented on May 16, 2024 1

If you find the cause of that issue, let me know. In the future I'll like for mediasoup to run on Windows too.

from mediasoup.

saghul avatar saghul commented on May 16, 2024 1

Also unclear to me how to change posix pthread_sigmask to windows friendly analog.

@ibc I don't think you need pthread_sigmask, since libuv handles signals on its own and calls your callback in the loop, you will never find yourself in a signal handler.

And this uv loop... how much loops is there within mediasoup instances: 2, 3 or much more?

@Globik One per core in the system.

from mediasoup.

saghul avatar saghul commented on May 16, 2024 1

#35 should help a bit.

from mediasoup.

ibc avatar ibc commented on May 16, 2024 1

@saghul then in main.cpp there is also unix specific sigaction.

Yes. mediasoup ignores SIGPIPE. Otherwise, when running in Linux, any failure sending over a socket would generate a SIGPIE signal and would close the process.

I don't want to ignore such a signal in the libuv signal handler, because that is slower than just ignoring it via a signal mask.

In a child process the room created but no life in the code on node.js side.
server.createRoom(SomeOptionsFromTestDataDirectory).then(room=>{
console.log("Show me the room",room);
//No luck here, no call, silence, no life
// debug mode is on, child process stdout shows that room is created with id
}).catch(e=>console.log(e));
Error is also in silence
I think in windows that uv stuff works synchronically(blocks)
All is in undefined behavour
Vc compiler warn also on loop.h that the class has virtual functions but not has virtual destructors.

I would accept PR that makes mediasoup runnable in Windows, but I'm not an expert on that so I cannot spend time on it. If you can do it I would a PR, but that's not something I can support right now.

from mediasoup.

saghul avatar saghul commented on May 16, 2024 1

@Globik I'm afraid we are hitting a language barrier here :-( I don't understand a word of the last 2 comments, sorry.

from mediasoup.

saghul avatar saghul commented on May 16, 2024

MediaSoup does not currently support Windows, I'm afraid.

from mediasoup.

ibc avatar ibc commented on May 16, 2024

They are not the same file at all.

BTW: Windows is not yet supported: http://mediasoup.org/overview/#requirements

from mediasoup.

Globik avatar Globik commented on May 16, 2024

Yes, I see. Is your implementation based on vanilla BSD socket or on a libuv wrapper socket?
21 unresolved symbols total. VC++ 2015. I must rename those files and then further to go step by step..

from mediasoup.

ibc avatar ibc commented on May 16, 2024

It's based on libuv.
BTW: I do know that, in order to run in Windows, some stuff must be added (such an implementation of getopt) but I don't understand the unresolved symbol above. Note that mediasoup requires C++11 or C++14.

from mediasoup.

Globik avatar Globik commented on May 16, 2024

Yes, it is understandable. Most of libs(libuv, openssl, srtp, usctp etc) are windows friendly. Getopt, pthread, sigaction api there are third parties code variants near to bsd-like. Very intreresting in mediasoup code(for test and learn purposes), on windows machine.
My problem, not yours, those unresove symbols. I 'm at a very begining.

from mediasoup.

Globik avatar Globik commented on May 16, 2024

Compiling good enough after some work on source code. But I am not really C++ programmer.
Is not clear to me what for grammar.rl and IP.rl in utils folder, why there are also the same names of a few cpp and header files, for example unixstreamsocket.h tcpserver.cpp 2 instances.
As a result I came up, runned the tests, test_server.js works like a hero, but others with no luck.
Always says: error ocured timeout and channel is closed. What couse a timeout? Any reason. May be socket is not established.
Also unclear to me how to change posix pthread_sigmask to windows friendly analog.
And this uv loop... how much loops is there within mediasoup instances: 2, 3 or much more?

from mediasoup.

ibc avatar ibc commented on May 16, 2024

Is not clear to me what for grammar.rl and IP.rl in utils folder,

Those are Ragel grammar files. They are converted into C++ source files before pushing to the github repo, so just forget them.

why there are also the same names of a few cpp and header files, for example unixstreamsocket.h tcpserver.cpp 2 instances.

What is the problem?

  • handles/TCPServer.cpp is a libuv C++ wrapper for a TCP server.
  • RTC/TCPServer.cpp is a child class of handles/TCPServer.cpp specialized in receiving ICE/DTLS/RTP over TCP.

I don't know why this is a problem for you, but there is no error/bug/issue here.

from mediasoup.

saghul avatar saghul commented on May 16, 2024

IIRC some versions of Visual Studio get confused.

On Oct 2, 2016 18:13, "Iñaki Baz Castillo" [email protected] wrote:

Is not clear to me what for grammar.rl and IP.rl in utils folder,

Those are Ragel http://www.colm.net/open-source/ragel/ grammar files.
They are converted into C++ source files before pushing to the github repo,
so just forget them.

why there are also the same names of a few cpp and header files, for
example unixstreamsocket.h tcpserver.cpp 2 instances.

What is the problem?

  • handles/TCPServer.cpp is a libuv C++ wrapper for a TCP server.
  • RTC/TCPServer.cpp is a child class of handles/TCPServer.cpp
    specialized in receiving ICE/DTLS/RTP over TCP.

I don't know why this is a problem for you, but there is no
error/bug/issue here.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
#34 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AATYGIJZfchbqb1SwaFWMgoO-TYL_mncks5qv-ZKgaJpZM4J-Fm_
.

from mediasoup.

Globik avatar Globik commented on May 16, 2024

VC ++ places all object files in to one folder. If there are two or more object files with the same names so vc++ replaces them all with only one and the latest. As a result appeares unresolved symbols)

from mediasoup.

Globik avatar Globik commented on May 16, 2024

@saghul then in main.cpp there is also unix specific sigaction.
In a child process the room created but no life in the code on node.js side.
server.createRoom(SomeOptionsFromTestDataDirectory).then(room=>{
console.log("Show me the room",room);
//No luck here, no call, silence, no life
// debug mode is on, child process stdout shows that room is created with id
}).catch(e=>console.log(e));
Error is also in silence
I think in windows that uv stuff works synchronically(blocks)
All is in undefined behavour
Vc compiler warn also on loop.h that the class has virtual functions but not has virtual destructors.

from mediasoup.

saghul avatar saghul commented on May 16, 2024

Yes. mediasoup ignores SIGPIPE. Otherwise, when running in Linux, any failure sending over a socket would generate a SIGPIE signal and would close the process.

I don't want to ignore such a signal in the libuv signal handler, because that is slower than just ignoring it via a signal mask.

Correct. Since Windows doesn't have the SIGPIPE issue it would be safe to ifdef that.

I would accept PR that makes mediasoup runnable in Windows, but I'm not an expert on that so I cannot spend time on it. If you can do it I would a PR, but that's not something I can support right now.

I can help with the review, but I don't have the time to write the code myself.

from mediasoup.

Globik avatar Globik commented on May 16, 2024

Mediasoup is sowieso runnable on windows, just like cinderella. But stdout or what stuff in node.js seems to be blocking process. That feeling that write from mediasoup to node.js end point is blocking or unrunnable. Issue with process.nextTick on nodejs site or Loop::onChannelRequest (sending the answer) to io ' socket'(mediasoup_channel_fd)
By the way getopt.h I am using from... eh... from here: http://www.codeproject.com/Articles/157001/Full-getopt-Port-for-Unicode-and-Multibyte-Microso
Only When I am exiting out with ctrl +C stdin(or stdout?) on console mediasoup displays that I "created" the room sucessfully.
And else one moment, is netstring.c understand ansi? Unicode? My definitions are without unicoding.
And those maximum buffer of netstring obligatory?

from mediasoup.

Globik avatar Globik commented on May 16, 2024

@saghul ,
uv_walk throughout signaling mechanismus of mediasoup can take a place?

from mediasoup.

ibc avatar ibc commented on May 16, 2024

uv_walk throughout signaling mechanismus of mediasoup can take a place?

I don't know exactly what you mean and what uv_walk has to do in here. If you want to propose something because you know it works (also in Windows), just send a PR. But I won't change the mediasoup internal signaling mechanism because it just works in Linux/OSX.

from mediasoup.

Related Issues (20)

Recommend Projects

  • React photo React

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

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

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

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

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

Recommend Topics

  • javascript

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

  • web

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

  • server

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

  • Machine learning

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.