Make sure we catch all known TV service types

This commit is contained in:
Andreas Öman 2007-12-04 13:44:49 +00:00
parent dacae4d94d
commit 72ada59121
2 changed files with 19 additions and 1 deletions

11
dvb.c
View file

@ -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;

View file

@ -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);