Project

General

Profile

Bug #5544

Failed to play hidden services

Added by Pablo R. almost 6 years ago. Updated almost 6 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
2019-02-14
Due date:
% Done:

100%

Estimated time:
Found in version:
4.3-1763~g39db47829
Affected Versions:

Description

I have scanned a frequency that has certain channels that emit only sometimes, all of them work properly except two (M.LCAMPEON5 and M.LCAMPEON6). When I play them, it tells me that the service is not enabled (I have not touched any box) and if I map it to a channel, it tells me that the adapter is not available.

However with other players as an enigma the channel does work when it emits. Here never.

What I see in the tbl-base traces being different from the rest of services is this:

2019-02-14 20:02:34.693 [  TRACE]:tbl-base: sdt:  type 01 (1) name [M.LCAMPEON6] provider [Movistar+] def_auth []
2019-02-14 20:02:34.693 [  TRACE]:tbl-base: sdt:    type changed / old 01 (1)
2019-02-14 20:02:34.693 [  TRACE]:tbl-base: sdt:    name changed
2019-02-14 20:02:34.693 [  TRACE]:tbl-base: sdt:    provider changed

old? this is a service scan after deleting both services (!)

P.S.: Attached full log


Files

service.txt (803 KB) service.txt tbl,tbl-base,service,channel,subscription,mpegts,satip Pablo R., 2019-02-14 19:11
input.tar (48 KB) input.tar Pablo R., 2019-02-14 22:37
test1.patch (597 Bytes) test1.patch Jaroslav Kysela, 2019-02-15 21:24
satip.txt (10.1 KB) satip.txt Pablo R., 2019-02-15 21:36

History

#1

Updated by Pablo R. almost 6 years ago

And for another tvh:

This bug is terribly random

#2

Updated by Pablo R. almost 6 years ago

Attached full DVB-S network files for further analysis.

#3

Updated by Jaroslav Kysela almost 6 years ago

Did you grab the logs when the service is broadcasted? There should be PMT scan:

PAT:

2019-02-14 20:02:31.837 [  DEBUG]:tbl-base: pat:  sid 757C (30076) on pid 041A (1050)
2019-02-14 20:02:31.837 [  DEBUG]:mpegts: 11097V in Satelite - add service 757C (null)
2019-02-14 20:02:31.837 [  TRACE]:mpegts: table: mux 0x56463be54640 add pmt 02/FF (2) pid 041A (1050)

SDT:

2019-02-14 20:02:34.693 [  DEBUG]:tbl-base: sdt:  sid 757C (30076) running 4 free_ca 1
2019-02-14 20:02:34.693 [  TRACE]:tbl-base: sdt:    dtag 48 dlen 23
2019-02-14 20:02:34.693 [  TRACE]:tbl-base: sdt:    dtag 8C dlen 16
2019-02-14 20:02:34.693 [  TRACE]:tbl-base: sdt:    dtag 88 dlen 25
2019-02-14 20:02:34.693 [  TRACE]:tbl-base: sdt:    dtag 86 dlen 6
2019-02-14 20:02:34.693 [  TRACE]:tbl-base: sdt:  type 01 (1) name [M.LCAMPEON6] provider [Movistar+] def_auth []
2019-02-14 20:02:34.693 [  TRACE]:tbl-base: sdt:    type changed / old 01 (1)
2019-02-14 20:02:34.693 [  TRACE]:tbl-base: sdt:    name changed
2019-02-14 20:02:34.693 [  TRACE]:tbl-base: sdt:    provider changed
2019-02-14 20:02:34.694 [  DEBUG]:tbl-base: sdt:  nicename Satelite/11097V/M.LCAMPEON6

PMT:

<pre>
.... [  DEBUG]:tbl-base: pmt: sid 757C (30076)
</pre>

nowhere...

#4

Updated by Jaroslav Kysela almost 6 years ago

I see it. It looks like PID subscription problem. The PMT PIDs >= 1049 are not subscribed from the tuner.

#5

Updated by Pablo R. almost 6 years ago

Jaroslav Kysela wrote:

I see it. It looks like PID subscription problem. The PMT PIDs >= 1049 are not subscribed from the tuner.

So is it a SAT>IP tuner problem?

#6

Updated by Pablo R. almost 6 years ago

2019-02-14 20:02:32.616 [  TRACE]:satip: 0005: PLAY params - addpids=1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048
2019-02-14 20:02:32.751 [  TRACE]:satip: Status string: 'ver=1.0;src=1;tuner=1,176,1,15,11097.00,v,dvbs,qpsk,off,0.35,22000,56;pids=0,1,16,17,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048'

Am I wrong or TVH is not requesting these PIDs?

#7

Updated by Jaroslav Kysela almost 6 years ago

TVH limits the concurrent PIDs to the configured value (see the client config - it's usually 32), but it should unsubscribe and subscribe the another group during the scan. Unfortunately, something prevents to do this in your setup. I just did a quick test for 19.2E 12363V and it works good here (the PMT PIDs are splitted):

2019-02-15 21:51:28.240 [  TRACE]:satip: 0003: SETUP params - src=5&fe=3&freq=12363&sr=27500&msys=dvbs&mtype=qpsk&pol=v&fec=34&ro=0.35&pids=0
2019-02-15 21:51:28.308 [  TRACE]:satip: 0003: PLAY params - addpids=1,16,17
2019-02-15 21:51:30.043 [  TRACE]:satip: 0003: PLAY params - addpids=1273,1274,1276,1277,1278,1279,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1293,1294,1296,1301,1302,1303,1304,1305
2019-02-15 21:51:32.009 [  TRACE]:satip: 0003: PLAY params - delpids=1273,1274,1276,1277,1278,1279,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1293,1294,1296,1301,1302,1303,1304,1305
2019-02-15 21:51:32.010 [  TRACE]:satip: 0003: PLAY params (split) - addpids=1312,1313,1314,1315,1325,1326,1327,1328,1329,1330,1331,1341,1342,1345,4050
2019-02-15 21:51:33.981 [  TRACE]:satip: 0003: PLAY params - delpids=1312,1313,1314,1326,1327,1328,1330,1331,1341,1342,1345,4050
2019-02-15 21:51:35.032 [  TRACE]:satip: 0003: PLAY params - delpids=1325,1329
#8

Updated by Pablo R. almost 6 years ago

Jaroslav Kysela wrote:

TVH limits the concurrent PIDs to the configured value (see the client config - it's usually 32), but it should unsubscribe and subscribe the another group during the scan. Unfortunately, something prevents to do this in your setup. I just did a quick test for 19.2E 12363V and it works good here (the PMT PIDs are splitted):

[...]

I have PID limit set at 64. Maybe these PID limit is partially applied?

I mean, in normal retransmissions 64 PIDs can be used, but in the case of scans this is hard limited to 32 (25) - no splits and no more pids ?

#9

Updated by Jaroslav Kysela almost 6 years ago

Add this patch and do another scan for the problematic mux:

diff --git a/src/input/mpegts/satip/satip_frontend.c b/src/input/mpegts/satip/satip_frontend.c
index dd2ff67f9..8b161baa6 100644
--- a/src/input/mpegts/satip/satip_frontend.c
+++ b/src/input/mpegts/satip/satip_frontend.c
@@ -915,6 +915,11 @@ satip_frontend_update_pids
     if (lfe->sf_device->sd_pids21)
       mpegts_pid_add(&tr->sf_pids, 21, MPS_WEIGHT_PMT_SCAN);
   }
+  {
+    char buf[2048];
+    mpegts_pid_dump(&tr->sf_pids, buf, sizeof(buf), 1, 1);
+    tvhtrace(LS_SATIP, "update pids: %s", buf);
+  }
   tvh_mutex_unlock(&lfe->sf_dvr_lock);

   tvh_write(lfe->sf_dvr_pipe.wr, "c", 1);
#10

Updated by Jaroslav Kysela almost 6 years ago

Nevermind. I see it in the code, you extended the PID limit, but it cannot be stored to the 127 characters per request and the current implementation in satip_rtsp_play() is a bit dumb, so the additional PIDs are just silently stripped. Try to extend also the maximum length of PIDs (twice).

#11

Updated by Pablo R. almost 6 years ago

Attached file :P

#12

Updated by Pablo R. almost 6 years ago

Jaroslav Kysela wrote:

Nevermind. I see it in the code, you extended the PID limit, but it cannot be stored to the 127 characters per request and the current implementation in satip_rtsp_play() is a bit dumb, so the additional PIDs are just silently stripped. Try to extend also the maximum length of PIDs (twice).

You are right. When increasing PID lenght it works.
Is this a definitive solution? We should increase the PID lenght for the satip triax and kathrein in that case (device/firmware-specific workarounds).

#13

Updated by Jaroslav Kysela almost 6 years ago

  • Status changed from New to Fixed
  • % Done changed from 0 to 100

Applied in changeset commit:tvheadend|cc70226210f9888d58a205cf903d89c9b499ab97.

#14

Updated by Jaroslav Kysela almost 6 years ago

I hope that this is fixed for all configs now. The split method was improved and it is more universal now.

#15

Updated by Pablo R. almost 6 years ago

There is something wrong

2019-02-16 11:06:00.111 [  TRACE]:satip: SAT>IP DVB-S Tuner - local RTP port 47548 RTCP port 47549
2019-02-16 11:06:00.111 [  TRACE]:satip: 0025: SETUP params - src=1&fe=3&freq=11317.5&sr=22000&msys=dvbs&mtype=qpsk&pol=v&fec=56&ro=0.35&pids=0
2019-02-16 11:06:00.288 [  DEBUG]:satip: 192.168.1.138 #2 - new session 274583595269ab82 stream id 2392
2019-02-16 11:06:00.288 [  TRACE]:satip: 0024: PLAY params[0] - addpids=1,16,17,47,100,101,165,1029p���Z^?
2019-02-16 11:06:00.423 [  DEBUG]:satip: 192.168.1.138 #3 - new session 2745840676923d79 stream id 2393
2019-02-16 11:06:00.423 [  TRACE]:satip: 0025: PLAY params[0] - addpids=1,16,17,38,88,89,162,1036p���Z^?
2019-02-16 11:06:00.425 [  ERROR]:satip: SAT>IP DVB-S Tuner #2 (192.168.1.138@UDP) - RTSP cmd error 7 (DONE) [8-400]
2019-02-16 11:06:00.431 [  ERROR]:satip: SAT>IP DVB-S Tuner #3 (192.168.1.138@UDP) - RTSP cmd error 7 (DONE) [8-400]

Also available in: Atom PDF