Git Product home page Git Product logo

Comments (4)

djp952 avatar djp952 commented on June 12, 2024

Resolved for Matrix baseline via cb21ccf

Solution will need to back-ported to Leia baseline as well, implementation will differ. Will close this issue after that has been completed.

The way this worked out, as long as the RTL-SDR device is actively being used, a reference to that device will be maintained. So for rtl_tcp connections, the connection itself will not be closed for at least 30 seconds after it was last used. This isn't a perfect solution, it can still fail if the user tries to open a new rtl_tcp connection within a few seconds of it actually getting released, but in practice it's working pretty well. The only other real alternative is to maintain the connection indefinitely which would be horrible for users with multiple clients hitting the same rtl_tcp instance. After using it, you'd have to shut down/restart Kodi on one system to use it on another.

I'm sure this will need adjustments in the future.

from pvr.rtlradio.

djp952 avatar djp952 commented on June 12, 2024

Changeset for Leia baseline committed via 172ab4a

Closing Issue.

from pvr.rtlradio.

djp952 avatar djp952 commented on June 12, 2024

Re-opening issue because I'm not satisfied with the results. While the proposed solution 'works', rtl_tcp loads up a bunch of packets from the currently tuned frequency and will dump them to the client when it reconnects. I would prefer a more definitive DISCONNECT type of thing here, which may be possible by modifying the SO_LINGER socket option.

The ideal scenario would be to get rtl_tcp to disconnect immediately and reset itself without waiting for 5-10 seconds. Until that happens I don't see how this can work properly ...

from pvr.rtlradio.

djp952 avatar djp952 commented on June 12, 2024

Instead of trying to work around the problems with rtl_tcp, I've modified my forked version of the rtl-sdr library to include blinick's patch that gets rid of the condition variable that causes the delay (https://github.com/blinick/rtl-sdr/tree/wip_rtltcp_ringbuf). I've also upped the connect timeout to 5 seconds instead of 1 second in the PVR, but that's still not enough to 'solve' the problem with the official rtl_tcp.

Marking as closed; will be a documentation concern.

from pvr.rtlradio.

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.