From f1978b8108132fa75e1e4624a4c409bcb3989e34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20T=C3=B6rnblom?= Date: Tue, 21 Aug 2012 23:20:43 +0200 Subject: [PATCH] added eac3 support to the pmt builder and audio detection macro. --- src/psi.c | 11 +++++++++++ src/tvheadend.h | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/psi.c b/src/psi.c index 4b4eb7ba..c62d30a6 100644 --- a/src/psi.c +++ b/src/psi.c @@ -744,6 +744,7 @@ psi_build_pmt(const streaming_start_t *ss, uint8_t *buf0, int maxlen, int pcrpid c = 0x04; break; + case SCT_EAC3: case SCT_DVBSUB: c = 0x06; break; @@ -806,6 +807,16 @@ psi_build_pmt(const streaming_start_t *ss, uint8_t *buf0, int maxlen, int pcrpid buf[8] = 0; /* XXX: generate real AC3 desc */ dlen = 9; break; + case SCT_EAC3: + buf[0] = DVB_DESC_LANGUAGE; + buf[1] = 4; + memcpy(&buf[2],ssc->ssc_lang,3); + buf[5] = 0; /* Main audio */ + buf[6] = DVB_DESC_EAC3; + buf[7] = 1; + buf[8] = 0; /* XXX: generate real EAC3 desc */ + dlen = 9; + break; default: break; } diff --git a/src/tvheadend.h b/src/tvheadend.h index 2faeb421..cfa92fe0 100644 --- a/src/tvheadend.h +++ b/src/tvheadend.h @@ -169,7 +169,8 @@ typedef enum { #define SCT_ISVIDEO(t) ((t) == SCT_MPEG2VIDEO || (t) == SCT_H264) #define SCT_ISAUDIO(t) ((t) == SCT_MPEG2AUDIO || (t) == SCT_AC3 || \ - (t) == SCT_AAC || (t) == SCT_MP4A) + (t) == SCT_AAC || (t) == SCT_MP4A || \ + (t) == SCT_EAC3) #define SCT_ISSUBTITLE(t) ((t) == SCT_TEXTSUB || (t) == SCT_DVBSUB) /**