From e32a058fcf6ad0b4f180acfe6c4f86c0328d2770 Mon Sep 17 00:00:00 2001 From: "Reynaldo H. Verdejo Pinochet" Date: Fri, 13 May 2016 00:50:45 -0700 Subject: [PATCH] dvb/parsechannels: do not assume DVB-T from zap file alone DVB-T/T2 have the same number of fields so we were wrongly assuming DVB-T for DVB-T2 broadcasts. Not setting the delivery system here allows for dvbsrc to make an informed guess based on the channel parameters. --- sys/dvb/parsechannels.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/sys/dvb/parsechannels.c b/sys/dvb/parsechannels.c index 90c5838408..6a0bdaba97 100644 --- a/sys/dvb/parsechannels.c +++ b/sys/dvb/parsechannels.c @@ -202,6 +202,17 @@ set_properties_for_channel (GstElement * dvbbasebin, gchar *type; const gchar *adapter; + /** + * Assumptions are made here about a format that is loosely + * defined. Particularly, we assume a given delivery system + * out of counting the number of fields per line. dvbsrc has + * smarter code to auto-detect a delivery system based on + * known-correct combinations of parameters so if you ever + * encounter cases where the delivery system is being + * wrongly set here, just remove the offending + * g_object_set line and let dvbsrc work his magic out. + */ + filename = g_strdup (g_getenv ("GST_DVB_CHANNELS_CONF")); if (filename == NULL) { filename = g_build_filename (g_get_user_config_dir (), @@ -230,8 +241,6 @@ set_properties_for_channel (GstElement * dvbbasebin, if (strcmp (type, "terrestrial") == 0) { gchar *val; - g_object_set (dvbbasebin, "delsys", SYS_DVBT, NULL); - val = g_hash_table_lookup (params, "inversion"); if (strcmp (val, "INVERSION_OFF") == 0) g_object_set (dvbbasebin, "inversion", 0, NULL);