Git Product home page Git Product logo

Comments (6)

ThibaultBee avatar ThibaultBee commented on August 15, 2024

Hi,

Do you have something on your logcat? Any hint about the issue?

As a temporary workaround, according to SRT documentation (https://github.com/Haivision/srt/blob/master/docs/API/API-functions.md#srt_rendezvous), rendezVous is a shortcut for doing bind locally, setting the SRTO_RENDEZVOUS option to true, and doing srt_connect..

It might be time to add an AndroidTest on rendezVous() to check what it's happening.

Regards,

from srtdroid.

IgorEsaul avatar IgorEsaul commented on August 15, 2024

socket.setSockFlag(SockOpt.RENDEZVOUS, true);
before rendezVous no success

logcat after 30 seconds of calling rendezVous
java.net.SocketException: Connection setup failure: connection timed out
at com.github.thibaultbee.srtdroid.models.Socket.rendezVous(Socket.kt:286)
at com.github.thibaultbee.srtdroid.models.Socket.rendezVous(Socket.kt:299)

i tried using "0.0.0.0", "localhost", "192.168.1.244" as the localhost value, no result
but
socket.bind(localhost, port);
socket.listen(10);
Pair<Socket, InetSocketAddress> pair = socket.accept();
it works well

a shortcut for doing bind locally, setting the SRTO_RENDEZVOUS option to true, and doing srt_connect..

I do not understand this phrase, rendezVous blocks the thread on 30 sec.

from srtdroid.

ThibaultBee avatar ThibaultBee commented on August 15, 2024

i tried using "0.0.0.0", "localhost", "192.168.1.244" as the localhost value, no result
but
socket.bind(localhost, port);
socket.listen(10);
Pair<Socket, InetSocketAddress> pair = socket.accept();
it works well

What operations do you perform on the peer device? I am not familiar with rendezVous API but the peer device should also call rendezVous.

a shortcut for doing bind locally, setting the SRTO_RENDEZVOUS option to true, and doing srt_connect..

I do not understand this phrase, rendezVous blocks the thread on 30 sec.

I think it means that:

socket.rendezVous("0.0.0.0", remotehost, 5000);

is the equivalent of:

socket.bind("0.0.0.0", 5000)
socket.setSockFlag(SockOpt.RENDEZVOUS, true)
socket.connect(remotehost, 5000).

from srtdroid.

IgorEsaul avatar IgorEsaul commented on August 15, 2024

I use android apps Larix Player, Haivision Play, Haivision Play Pro on another device as peers
all these apps in the Rendezvous mode accept only incoming connections.
I tried ffplay Rendezvous mode does not work at all.

socket.bind("0.0.0.0", 5000)
socket.setSockFlag(SockOpt.RENDEZVOUS, true)
socket.connect(remotehost, 5000).
it works(if remotehost is valid), but
socket.bind("0.0.0.0", 5000);
socket.setSockFlag(SockOpt.RENDEZVOUS, true);
socket.listen(10);
socket.accept();
java.net.SocketException: Operation not supported: Listen/accept is not supported in rendezous connection setup

from srtdroid.

IgorEsaul avatar IgorEsaul commented on August 15, 2024

In the link Larix Player - Larix Brodcaster if an incorrect ip address is specified in one of the apps, the connection is not established, a similar situation srtdroid - srtdroid.
conclusion: rendezVous accepts incoming connections only from remotehost addresses, I think this is not right, the address of the incoming connection can be different from the destination address of the outgoing connection.
Thanks

from srtdroid.

ThibaultBee avatar ThibaultBee commented on August 15, 2024

Hi,

I am not sure I fully understand the issue. It seems to me that you are describing the server/listener mode instead of the rendezvous mode.
Anyway, for SRT issue, you may want to contact them directly.

from srtdroid.

Related Issues (17)

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.