-
-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG]: "satipc" does not work properly when the tuner is in use. #1118
Comments
Doesn't this only happen if fe= is specified in the URL? |
Hi @catalinii , The minisatip LOG when the problem appears:
|
No. It appears with and without the
|
More or less the bug has the root cause in these lines: Lines 243 to 244 in 8d33e93
The error of the adapter it's set, but the code will never checks it. |
I'm pretty sure this works for me. I have one minisatip instance proxying two Digibit R1 tuners. |
Maybe I'm misunderstanding the issue |
Can u check how next branch is behaving? |
I'll check it. However, reading the code of
So, I feel the behaviour is the same: re-request when receiving the 404 error. And the correct behaviour is to close the adapter and try the next.
Then, please commit my PR #1117 with the next branch. This new functionality is very useful. 😉 |
Shouldn't the server be choosing a free adapter? Why does the client have to do that? |
Hi @Jalle19 ,
The scenario is this:
And the problem appears in the "minisatip C". This is a central server that has configured with 2 adapters (with the satipc module). The problem here is that when the client 1 is using the minisatip A (that only has 1 tuner), then the adapter 1 in the minisatip C is BUSY. But the current implementation marks it as FREE. Therefore if the Client 2 requests some channel then the minisatip C will selects the adapter 1... and this is BUSY because the minisatip A is in use by the client 1. And then the current code enters in a loop re-requesting to SETUP to the minisatip A, instead of try with the minisatip B that it's free. So the current implementation of the satipc module requires to be changed. The code at time doesn't care about BUSY adapters. And this functionality requires to be incorporated. So please @catalinii any idea about how to do it? Regards. |
Yeah I think I understand the problem now. |
Nice! So to fix it, I feel @catalinii needs to help us to indicate how to close an adapter from inside the submodule (satipc in this case) and reopen another one from the upper layer. My suggestion is that the What you think @catalinii ? |
It seems to be that in @lars18th scenario, "minisatip A" that has one physical tuner should return error code 503 with the body
This would just be the first step, next would be to handle this return code correctly. Currently the path taken is the same - state gets reset to SATIP_STATE_OPTIONS. |
Hi @Jalle19 , Yes, the "remote SAT>IP server" (the one with the physical tuner) requires to return the correct response. |
Hi @catalinii (and @Jalle19 ), My PR #1190 fixes the problem "in the single case":
But I don't know how to handle this case. |
Hi @catalinii ,
When using the
satipc
module if you "share" the source adapter then you will be in troubles when the tuner is in use.Here a simple tcpdump log with the problem:
As you can see the problem is this:
However, in the minisatip server using the satipc module I've more adapters. And the problem is that instead of searching for another (next) free adapter it will continue reopening (aka restarting) the same adapter.
Any idea to fix this?
The text was updated successfully, but these errors were encountered: