/** * Figure out the mimetype */ static const char* tvh_muxer_mime(muxer_t* m, const struct streaming_start *ss) { int i; int has_audio; int has_video; const streaming_start_component_t *ssc; has_audio = 0; has_video = 0; for(i=0; i < ss->ss_num_components; i++) { ssc = &ss->ss_components[i]; if(ssc->ssc_disabled) continue; has_video |= SCT_ISVIDEO(ssc->ssc_type); has_audio |= SCT_ISAUDIO(ssc->ssc_type); } if(has_video) return muxer_container_type2mime(m->m_container, 1); else if(has_audio) return muxer_container_type2mime(m->m_container, 0); else return muxer_container_type2mime(MC_UNKNOWN, 0); }
/** * Figure out the mime-type for the muxed data stream */ static const char* pass_muxer_mime(muxer_t* m, const struct streaming_start *ss) { int i; int has_audio; int has_video; muxer_container_type_t mc; const streaming_start_component_t *ssc; const source_info_t *si = &ss->ss_si; has_audio = 0; has_video = 0; for(i=0; i < ss->ss_num_components; i++) { ssc = &ss->ss_components[i]; if(ssc->ssc_disabled) continue; has_video |= SCT_ISVIDEO(ssc->ssc_type); has_audio |= SCT_ISAUDIO(ssc->ssc_type); } if(si->si_type == S_MPEG_TS) mc = MC_MPEGTS; else if(si->si_type == S_MPEG_PS) mc = MC_MPEGPS; else mc = MC_UNKNOWN; if(has_video) return muxer_container_type2mime(mc, 1); else if(has_audio) return muxer_container_type2mime(mc, 0); else return muxer_container_type2mime(MC_UNKNOWN, 0); }