mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
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.
This commit is contained in:
parent
8fcdf14846
commit
e32a058fcf
1 changed files with 11 additions and 2 deletions
|
@ -202,6 +202,17 @@ set_properties_for_channel (GstElement * dvbbasebin,
|
||||||
gchar *type;
|
gchar *type;
|
||||||
const gchar *adapter;
|
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"));
|
filename = g_strdup (g_getenv ("GST_DVB_CHANNELS_CONF"));
|
||||||
if (filename == NULL) {
|
if (filename == NULL) {
|
||||||
filename = g_build_filename (g_get_user_config_dir (),
|
filename = g_build_filename (g_get_user_config_dir (),
|
||||||
|
@ -230,8 +241,6 @@ set_properties_for_channel (GstElement * dvbbasebin,
|
||||||
if (strcmp (type, "terrestrial") == 0) {
|
if (strcmp (type, "terrestrial") == 0) {
|
||||||
gchar *val;
|
gchar *val;
|
||||||
|
|
||||||
g_object_set (dvbbasebin, "delsys", SYS_DVBT, NULL);
|
|
||||||
|
|
||||||
val = g_hash_table_lookup (params, "inversion");
|
val = g_hash_table_lookup (params, "inversion");
|
||||||
if (strcmp (val, "INVERSION_OFF") == 0)
|
if (strcmp (val, "INVERSION_OFF") == 0)
|
||||||
g_object_set (dvbbasebin, "inversion", 0, NULL);
|
g_object_set (dvbbasebin, "inversion", 0, NULL);
|
||||||
|
|
Loading…
Reference in a new issue