From: Jaroslav Kysela Date: Thu, 14 Jan 2016 07:52:34 +0000 (+0100) Subject: htsp server: pass network_type information in the sourceinfo / subscriptionStart X-Git-Tag: v4.2.1~1172 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a022d661c5dfcdf5e13be7378cdbb1eb1aec156f;p=thirdparty%2Ftvheadend.git htsp server: pass network_type information in the sourceinfo / subscriptionStart --- diff --git a/src/htsp_server.c b/src/htsp_server.c index d33200278..69bd10657 100644 --- a/src/htsp_server.c +++ b/src/htsp_server.c @@ -3876,6 +3876,7 @@ htsp_subscription_start(htsp_subscription_t *hs, const streaming_start_t *ss) if(si->si_adapter ) htsmsg_add_str(sourceinfo, "adapter", si->si_adapter ); if(si->si_mux ) htsmsg_add_str(sourceinfo, "mux" , si->si_mux ); if(si->si_network ) htsmsg_add_str(sourceinfo, "network", si->si_network ); + if(si->si_network_type) htsmsg_add_str(sourceinfo, "network_type", si->si_network_type ); if(si->si_provider) htsmsg_add_str(sourceinfo, "provider", si->si_provider); if(si->si_service ) htsmsg_add_str(sourceinfo, "service", si->si_service ); if(si->si_satpos ) htsmsg_add_str(sourceinfo, "satpos", si->si_satpos ); diff --git a/src/input/mpegts/mpegts_service.c b/src/input/mpegts/mpegts_service.c index d18e69cb9..fa209f1dd 100644 --- a/src/input/mpegts/mpegts_service.c +++ b/src/input/mpegts/mpegts_service.c @@ -434,6 +434,17 @@ mpegts_service_setsourceinfo(service_t *t, source_info_t *si) if(m->mm_network->mn_network_name != NULL) si->si_network = strdup(m->mm_network->mn_network_name); +#if ENABLE_MPEGTS_DVB + dvb_fe_type_t ftype; + ftype = dvb_fe_type_by_network_class(m->mm_network->mn_id.in_class); + if (ftype == DVB_TYPE_NONE) + strcpy(buf, "IPTV"); + else + snprintf(buf, sizeof(buf), "%s", dvb_type2str(ftype)); +#else + strcpy(buf, "IPTV"); +#endif + si->si_network_type = strdup(buf); m->mm_display_name(m, buf, sizeof(buf)); si->si_mux = strdup(buf); diff --git a/src/service.c b/src/service.c index 215cbfaa6..b6382e240 100644 --- a/src/service.c +++ b/src/service.c @@ -1470,6 +1470,7 @@ service_source_info_free(struct source_info *si) { free(si->si_adapter); free(si->si_network); + free(si->si_network_type); free(si->si_mux); free(si->si_provider); free(si->si_service); @@ -1484,6 +1485,7 @@ service_source_info_copy(source_info_t *dst, const source_info_t *src) #define COPY(x) if (src->si_##x) dst->si_##x = strdup(src->si_##x) COPY(adapter); COPY(network); + COPY(network_type); COPY(mux); COPY(provider); COPY(service); diff --git a/src/service.h b/src/service.h index 7a6e3d90c..7fa2bcff5 100644 --- a/src/service.h +++ b/src/service.h @@ -44,6 +44,7 @@ typedef struct source_info { tvh_uuid_t si_mux_uuid; char *si_adapter; char *si_network; + char *si_network_type; char *si_satpos; char *si_mux; char *si_provider;