#define PMT_UPDATE_PCR 0x1
#define PMT_UPDATE_NEW_STREAM 0x2
#define PMT_UPDATE_LANGUAGE 0x4
-#define PMT_UPDATE_FRAME_DURATION 0x8
-#define PMT_UPDATE_COMPOSITION_ID 0x10
-#define PMT_UPDATE_ANCILLARY_ID 0x20
-#define PMT_UPDATE_STREAM_DELETED 0x40
-#define PMT_UPDATE_NEW_CA_STREAM 0x80
-#define PMT_UPDATE_NEW_CAID 0x100
-#define PMT_UPDATE_CA_PROVIDER_CHANGE 0x200
-#define PMT_UPDATE_PARENT_PID 0x400
-#define PMT_UPDATE_CAID_DELETED 0x800
-#define PMT_REORDERED 0x1000
+#define PMT_UPDATE_AUDIO_TYPE 0x8
+#define PMT_UPDATE_FRAME_DURATION 0x10
+#define PMT_UPDATE_COMPOSITION_ID 0x20
+#define PMT_UPDATE_ANCILLARY_ID 0x40
+#define PMT_UPDATE_STREAM_DELETED 0x80
+#define PMT_UPDATE_NEW_CA_STREAM 0x100
+#define PMT_UPDATE_NEW_CAID 0x200
+#define PMT_UPDATE_CA_PROVIDER_CHANGE 0x400
+#define PMT_UPDATE_PARENT_PID 0x800
+#define PMT_UPDATE_CAID_DELETED 0x1000
+#define PMT_REORDERED 0x2000
/**
* Add a CA descriptor
int position = 0;
int tt_position = 1000;
const char *lang = NULL;
+ uint8_t audio_type = 0;
caid_t *c, *cn;
case DVB_DESC_LANGUAGE:
lang = lang_code_get2((const char*)ptr, 3);
+ audio_type = ptr[3];
break;
case DVB_DESC_TELETEXT:
memcpy(st->es_lang, lang, 4);
}
+ if(st->es_audio_type != audio_type) {
+ update |= PMT_UPDATE_AUDIO_TYPE;
+ st->es_audio_type = audio_type;
+ }
+
if(composition_id != -1 && st->es_composition_id != composition_id) {
st->es_composition_id = composition_id;
update |= PMT_UPDATE_COMPOSITION_ID;
buf[0] = DVB_DESC_LANGUAGE;
buf[1] = 4;
memcpy(&buf[2],ssc->ssc_lang,3);
- buf[5] = 0; /* Main audio */
+ buf[5] = ssc->ssc_audio_type;
dlen = 6;
break;
case SCT_DVBSUB: