diff --git a/src/dvr/mkmux.c b/src/dvr/mkmux.c index d0f94bf4..ac305f77 100644 --- a/src/dvr/mkmux.c +++ b/src/dvr/mkmux.c @@ -215,6 +215,7 @@ mk_build_tracks(mk_mux_t *mkm, const struct streaming_start *ss) codec_id = "A_EAC3"; break; + case SCT_MP4A: case SCT_AAC: tracktype = 2; codec_id = "A_AAC"; @@ -252,6 +253,7 @@ mk_build_tracks(mk_mux_t *mkm, const struct streaming_start *ss) switch(ssc->ssc_type) { case SCT_H264: case SCT_MPEG2VIDEO: + case SCT_MP4A: case SCT_AAC: if(ssc->ssc_gh) ebml_append_bin(t, 0x63a2, @@ -723,7 +725,7 @@ mk_write_frame_i(mk_mux_t *mkm, mk_track *t, th_pkt_t *pkt) data = pktbuf_ptr(pkt->pkt_payload); len = pktbuf_len(pkt->pkt_payload); - if(t->type == SCT_AAC) { + if(t->type == SCT_AAC || t->type == SCT_MP4A) { // Skip ADTS header if(len < 7) return; diff --git a/src/plumbing/globalheaders.c b/src/plumbing/globalheaders.c index 703591bd..314839e4 100644 --- a/src/plumbing/globalheaders.c +++ b/src/plumbing/globalheaders.c @@ -78,6 +78,7 @@ apply_header(streaming_start_component_t *ssc, th_pkt_t *pkt) return; switch(ssc->ssc_type) { + case SCT_MP4A: case SCT_AAC: ssc->ssc_gh = pktbuf_alloc(NULL, 2); d = pktbuf_ptr(ssc->ssc_gh); @@ -121,6 +122,7 @@ header_complete(streaming_start_component_t *ssc, int not_so_picky) if(ssc->ssc_gh == NULL && (ssc->ssc_type == SCT_H264 || ssc->ssc_type == SCT_MPEG2VIDEO || + ssc->ssc_type == SCT_MP4A || ssc->ssc_type == SCT_AAC)) return 0; return 1; diff --git a/src/webui/extjs.c b/src/webui/extjs.c index b959214f..3ed9f8b4 100644 --- a/src/webui/extjs.c +++ b/src/webui/extjs.c @@ -1189,6 +1189,7 @@ extjs_servicedetails(http_connection_t *hc, break; case SCT_AC3: + case SCT_MP4A: case SCT_AAC: case SCT_MPEG2AUDIO: htsmsg_add_str(c, "details", st->es_lang);