Bug #2943
Lockups with multiple streams/OTA EPG with AVM Fritz! SATIP device on channel switches
100%
Description
Hello,
I use an AVM Fritz! DVB-C repeater, which has 2 tuners. There have been a number of patches to work around some limitations of the device, for example having the ability to bind each tuner to a unique IP-address, because the device only allows one stream per IP.
To obtain a second IP I use an alias for my WiFi-device with static IP configuration. As you can see in the logs receiving two streams generally works. However, when using both tuners and performing a channel switch, both streams break.
In the log provided, I use kodi to tune to a hdtv channel (zdf_neo), and the webinterface to tune the second tuner to radio (1live). Then I switch in kodi from zdf_neo to a new sdtv channel (ProSieben). On the webinterface of the AVM-tuner device you can see that it is successfully tuned to prosieben on the tuner that was tuned to zdf_neo before.
However, tvheadend fails to receive data for prosieben, then apparently tries the other tuner, which then also causes 1live radio to break.
When stopping both failing subscription requests and starting them one after another again, receiving data works again.
Files
History
Updated by Steve O over 9 years ago
Follow-Up:
The same issue arises when disabling one tuner in the configuration. On a channel switch, the stream goes bad. Only stopping and then opening a channel again works. So the problem might be related to switching of channels, not the multituner configuration.
Updated by Steve O over 9 years ago
Next tune delay is set to 1000ms and tear down delay is enabled.
Updated by Jaroslav Kysela over 9 years ago
Could you try this change ?
iff --git a/src/input/mpegts/satip/satip_frontend.c b/src/input/mpegts/satip/satip_frontend.c index cfb3e60..c5a5452 100644 --- a/src/input/mpegts/satip/satip_frontend.c +++ b/src/input/mpegts/satip/satip_frontend.c @@ -1022,6 +1022,9 @@ new_tune: rtcp = rtp = NULL; lfe_master = NULL; + if (rtsp) + satip_frontend_close_rtsp(lfe, efd, &rtsp); + memset(ev, 0, sizeof(ev)); ev[0].events = TVHPOLL_IN; ev[0].fd = lfe->sf_dvr_pipe.rd;
Updated by Steve O over 9 years ago
Hello Jaroslav,
thank you for the quick response. The fix works nicely! No lockups so far with two streams and a lot of channel switches
Updated by Steve O over 9 years ago
After 10 days of testing, I can confirm that with the changes the AVM tuner works without issues in tvheadend.
Is there a chance that the patch gets committed to master? Or is it a too specific device workaround?
Updated by Jaroslav Kysela about 9 years ago
- Status changed from New to Fixed
- % Done changed from 0 to 100
Applied in changeset commit:tvheadend|c26b2ed2b51df1d55e52743b6b4a53e65504b9cd.