mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-30 22:26:42 +00:00
Merge pull request #498 from Gujs/openelec-updates
hts-tvheadend: update to hts-tvheadend-78213a0
This commit is contained in:
commit
853d23a359
@ -28,4 +28,4 @@ mkdir -p $ADDON_BUILD/$PKG_ADDON_ID
|
||||
cp -PR $PKG_DIR/config/dvr-config $ADDON_BUILD/$PKG_ADDON_ID/dvr-config
|
||||
|
||||
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
cp -P $PKG_BUILD/build.Linux/tvheadend $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
cp -P $PKG_BUILD/build.linux/tvheadend.bundle $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
|
@ -34,3 +34,4 @@ cd $PKG_BUILD
|
||||
--release
|
||||
|
||||
make
|
||||
make build.linux/tvheadend.bundle
|
||||
|
@ -1,3 +1,6 @@
|
||||
2.1.3
|
||||
- update to hts-tvheadend-78213a0
|
||||
|
||||
2.1.2
|
||||
- add suspend/resume fixes
|
||||
- use KILL signal to stop tvheadend
|
||||
|
@ -19,8 +19,8 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="hts-tvheadend"
|
||||
PKG_VERSION="85e23bb"
|
||||
PKG_REV="2"
|
||||
PKG_VERSION="78213a0"
|
||||
PKG_REV="3"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.lonelycoder.com/hts/tvheadend_overview.html"
|
||||
|
@ -1,24 +0,0 @@
|
||||
commit 73e7b152ac8a5c83d93c2ae9ae9e0e90a506d37d
|
||||
Author: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Thu Mar 22 13:13:22 2012 +0200
|
||||
|
||||
fix ca descr parsing for caid 4AEE
|
||||
- bulsatcom on hellas 39e, bulcrypt, NOT drecrypt
|
||||
|
||||
diff --git a/src/psi.c b/src/psi.c
|
||||
index 130678d..116e001 100644
|
||||
--- a/src/psi.c
|
||||
+++ b/src/psi.c
|
||||
@@ -307,8 +307,10 @@ psi_desc_ca(service_t *t, const uint8_t *buffer, int size)
|
||||
}
|
||||
break;
|
||||
case 0x4a00://DRECrypt
|
||||
- provid = size < 4 ? 0 : buffer[4];
|
||||
- break;
|
||||
+ if (caid != 0x4aee) { // Bulcrypt
|
||||
+ provid = size < 4 ? 0 : buffer[4];
|
||||
+ break;
|
||||
+ }
|
||||
default:
|
||||
provid = 0;
|
||||
break;
|
@ -1,93 +0,0 @@
|
||||
diff --git a/src/cwc.c b/src/cwc.c
|
||||
index 895eaf6..dfb3a6f 100644
|
||||
--- a/src/cwc.c
|
||||
+++ b/src/cwc.c
|
||||
@@ -61,6 +61,7 @@ typedef enum {
|
||||
CARD_VIACCESS,
|
||||
CARD_NAGRA,
|
||||
CARD_NDS,
|
||||
+ CARD_BULCRYPT,
|
||||
CARD_UNKNOWN
|
||||
} card_type_t;
|
||||
|
||||
@@ -280,6 +281,7 @@ void cwc_emm_seca(cwc_t *cwc, uint8_t *data, int len);
|
||||
void cwc_emm_viaccess(cwc_t *cwc, uint8_t *data, int len);
|
||||
void cwc_emm_nagra(cwc_t *cwc, uint8_t *data, int len);
|
||||
void cwc_emm_nds(cwc_t *cwc, uint8_t *data, int len);
|
||||
+void cwc_emm_bulcrypt(cwc_t *cwc, uint8_t *data, int len);
|
||||
|
||||
|
||||
/**
|
||||
@@ -658,6 +660,15 @@ static void
|
||||
cwc_detect_card_type(cwc_t *cwc)
|
||||
{
|
||||
uint8_t c_sys = cwc->cwc_caid >> 8;
|
||||
+
|
||||
+ switch(cwc->cwc_caid) {
|
||||
+ case 0x5581:
|
||||
+ case 0x4aee:
|
||||
+ cwc->cwc_card_type = CARD_BULCRYPT;
|
||||
+ tvhlog(LOG_INFO, "cwc", "%s:%i: bulcrypt card",
|
||||
+ cwc->cwc_hostname, cwc->cwc_port);
|
||||
+ return;
|
||||
+ }
|
||||
|
||||
switch(c_sys) {
|
||||
case 0x17:
|
||||
@@ -1212,6 +1223,9 @@ cwc_emm(uint8_t *data, int len)
|
||||
case CARD_NDS:
|
||||
cwc_emm_nds(cwc, data, len);
|
||||
break;
|
||||
+ case CARD_BULCRYPT:
|
||||
+ cwc_emm_bulcrypt(cwc, data, len);
|
||||
+ break;
|
||||
case CARD_UNKNOWN:
|
||||
break;
|
||||
}
|
||||
@@ -1656,6 +1670,31 @@ cwc_emm_nds(cwc_t *cwc, uint8_t *data, int len)
|
||||
cwc_send_msg(cwc, data, len, 0, 1);
|
||||
}
|
||||
|
||||
+void
|
||||
+cwc_emm_bulcrypt(cwc_t *cwc, uint8_t *data, int len)
|
||||
+{
|
||||
+ int match = 0;
|
||||
+
|
||||
+ switch (data[0]) {
|
||||
+ case 0x82: /* unique */
|
||||
+ case 0x85: /* unique */
|
||||
+ match = len >= 10 && memcmp(data + 3, cwc->cwc_ua + 2, 3) == 0;
|
||||
+ break;
|
||||
+ case 0x84: /* shared */
|
||||
+ match = len >= 10 && memcmp(data + 3, cwc->cwc_ua + 2, 2) == 0;
|
||||
+ break;
|
||||
+ case 0x8b: /* shared-unknown */
|
||||
+ match = len >= 10 && memcmp(data + 4, cwc->cwc_ua + 2, 2) == 0;
|
||||
+ break;
|
||||
+ case 0x8a: /* global */
|
||||
+ match = len >= 10 && memcmp(data + 4, cwc->cwc_ua + 2, 1) == 0;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ if (match)
|
||||
+ cwc_send_msg(cwc, data, len, 0, 1);
|
||||
+}
|
||||
+
|
||||
/**
|
||||
*
|
||||
*/
|
||||
diff --git a/src/psi.c b/src/psi.c
|
||||
index 116e001..57c34f4 100644
|
||||
--- a/src/psi.c
|
||||
+++ b/src/psi.c
|
||||
@@ -868,7 +868,9 @@ static struct strtab caidnametab[] = {
|
||||
{ "GI", 0x4700 },
|
||||
{ "Telemann", 0x4800 },
|
||||
{ "DRECrypt", 0x4ae0 },
|
||||
- { "DRECrypt2", 0x4ae1 }
|
||||
+ { "DRECrypt2", 0x4ae1 },
|
||||
+ { "Bulcrypt", 0x4aee },
|
||||
+ { "Bulcrypt", 0x5581 },
|
||||
};
|
||||
|
||||
const char *
|
Loading…
x
Reference in New Issue
Block a user