From 72ada591217f1cb57a2885f368420d9b48e2c356 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96man?= Date: Tue, 4 Dec 2007 13:44:49 +0000 Subject: [PATCH] Make sure we catch all known TV service types --- dvb.c | 11 ++++++++++- dvb_support.h | 9 +++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/dvb.c b/dvb.c index de191c84..19ec14d0 100644 --- a/dvb.c +++ b/dvb.c @@ -801,7 +801,14 @@ dvb_sdt_callback(th_dvb_mux_instance_t *tdmi, uint8_t *ptr, int len, len -= dlen; ptr += dlen; dllen -= dlen; } - if(stype == 1) { + switch(stype) { + + case DVB_ST_SDTV: + case DVB_ST_HDTV: + case DVB_ST_AC_SDTV: + case DVB_ST_AC_HDTV: + /* TV service */ + t = dvb_find_transport(tdmi, transport_stream_id, service_id, 0); if(t == NULL) @@ -816,6 +823,8 @@ dvb_sdt_callback(th_dvb_mux_instance_t *tdmi, uint8_t *ptr, int len, ret |= 1; /* Return error (so scanning wont continue yet) */ } } + break; + } } return ret; diff --git a/dvb_support.h b/dvb_support.h index 1a095c5a..2538934d 100644 --- a/dvb_support.h +++ b/dvb_support.h @@ -38,6 +38,15 @@ #define DVB_DESC_SUBTITLE 0x59 #define DVB_DESC_AC3 0x6a + +/* Service types defined in EN 300 468 */ + +#define DVB_ST_SDTV 0x1 /* SDTV (MPEG2) */ +#define DVB_ST_RADIO 0x2 +#define DVB_ST_HDTV 0x11 /* HDTV (MPEG2) */ +#define DVB_ST_AC_SDTV 0x16 /* Advanced codec SDTV */ +#define DVB_ST_AC_HDTV 0x19 /* Advanced codec HDTV */ + int dvb_get_string(char *dst, size_t dstlen, const uint8_t *src, const size_t srclen, const char *target_encoding);