]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
Add workarounds for AVM's FRITZ\!-devices.
authorNita Vesa <werecatf@gmail.com>
Sat, 2 May 2015 05:08:58 +0000 (08:08 +0300)
committerJaroslav Kysela <perex@perex.cz>
Sat, 2 May 2015 18:02:39 +0000 (20:02 +0200)
src/input/mpegts/satip/satip.c
src/input/mpegts/satip/satip_frontend.c
src/input/mpegts/satip/satip_private.h
src/input/mpegts/satip/satip_rtsp.c

index b0fc4a43c87515d0461a942833d847cd5f8fbea9..7dab04ac2b0241d7f52bcaa5a431a655d4bbd3db 100644 (file)
@@ -384,6 +384,11 @@ satip_device_hack( satip_device_t *sd )
     sd->sd_pids_max    = 128;
     sd->sd_pids_len    = 2048;
     sd->sd_no_univ_lnb = 1;
+  } else if (strstr(sd->sd_info.modelname, "FRITZ!")) {
+    sd->sd_fullmux_ok  = 0;
+    sd->sd_pids_deladd = 0;
+    sd->sd_pids0       = 1;
+    sd->sd_fritz_quirk = 1;
   }
 }
 
index 7a52c62e4b2f6bc4f8324b8b4f1091ed42e5a2f9..c43440fa1341459a541d43b0378523e8d2f281b9 100644 (file)
@@ -1280,6 +1280,8 @@ new_tune:
     rtsp_flags |= SATIP_SETUP_PIDS0;
   if (lfe->sf_device->sd_pilot_on)
     rtsp_flags |= SATIP_SETUP_PILOT_ON;
+  if (lfe->sf_device->sd_fritz_quirk)
+    rtsp_flags |= SATIP_SETUP_FRITZ_QUIRK;
   r = -12345678;
   pthread_mutex_lock(&lfe->sf_dvr_lock);
   if (lfe->sf_req == lfe->sf_req_thread)
index 96a0ad22b091c899fcdad7ff277975a5aff9263a..c6044d5223dac12fb8db2599370a53a3772408db 100644 (file)
@@ -84,6 +84,7 @@ struct satip_device
   int                        sd_pids_deladd;
   int                        sd_sig_scale;
   int                        sd_pids0;
+  int                        sd_fritz_quirk;
   int                        sd_pilot_on;
   int                        sd_no_univ_lnb;
   int                        sd_dbus_allow;
@@ -222,6 +223,7 @@ int satip_satconf_get_position
 #define SATIP_SETUP_PLAY     (1<<0)
 #define SATIP_SETUP_PIDS0    (1<<1)
 #define SATIP_SETUP_PILOT_ON (1<<2)
+#define SATIP_SETUP_FRITZ_QUIRK   (1<<3)
 
 int
 satip_rtsp_setup( http_client_t *hc,
index 9c09d576797e571ad270cb941c46ffed242f0d50..18b1be304a3b2ba697af0e018a4ce85b11727d3d 100644 (file)
@@ -222,6 +222,8 @@ satip_rtsp_setup( http_client_t *hc, int src, int fe,
   }
   if (flags & SATIP_SETUP_PIDS0)
     strcat(buf, "&pids=0");
+  if (flags & SATIP_SETUP_FRITZ_QUIRK)
+    strcat(buf, ",21");
   tvhtrace("satip", "setup params - %s", buf);
   if (hc->hc_rtsp_stream_id >= 0)
     snprintf(stream = _stream, sizeof(_stream), "/stream=%li",