diff options
author | Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com> | 2016-04-11 23:45:22 -0700 |
---|---|---|
committer | Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com> | 2016-04-15 10:16:47 -0700 |
commit | 34d888220c5a4272f4aec3c5eace8ca2328857c4 (patch) | |
tree | 5abe25a6bc8f5f83ffc723db4943eca754fd3e07 | |
parent | 73ebdb888e047b14ceea19ce1a0bbbeff0cd7b2a (diff) | |
download | gstreamer-plugins-bad-34d888220c5a4272f4aec3c5eace8ca2328857c4.tar.gz |
dvbsrc: do not autodetect delsys twice
The process is dealt with the first time the adapter is
opened, there is no need to do this again.
-rw-r--r-- | sys/dvb/gstdvbsrc.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c index b07b7f901..7fa79ddbc 100644 --- a/sys/dvb/gstdvbsrc.c +++ b/sys/dvb/gstdvbsrc.c @@ -1049,6 +1049,7 @@ gst_dvbsrc_init (GstDvbSrc * object) object->inversion = DEFAULT_INVERSION; object->stats_interval = DEFAULT_STATS_REPORTING_INTERVAL; object->delsys = DEFAULT_DELSYS; + object->best_guess_delsys = DEFAULT_DELSYS; object->pilot = DEFAULT_PILOT; object->rolloff = DEFAULT_ROLLOFF; object->stream_id = DEFAULT_STREAM_ID; @@ -1573,6 +1574,11 @@ gst_dvbsrc_open_frontend (GstDvbSrc * object, gboolean writable) return FALSE; } + if (object->best_guess_delsys != DEFAULT_DELSYS) + goto delsys_already_autodetected; + + /* Perform delivery system autodetection */ + GST_DEBUG_OBJECT (object, "Device opened, querying information"); LOOP_WHILE_EINTR (err, ioctl (object->fd_frontend, FE_GET_INFO, &fe_info)); @@ -1728,9 +1734,11 @@ gst_dvbsrc_open_frontend (GstDvbSrc * object, gboolean writable) adapter_structure); gst_element_post_message (GST_ELEMENT_CAST (object), gst_message_new_element (GST_OBJECT (object), adapter_structure)); - g_free (frontend_dev); g_free (adapter_name); +delsys_already_autodetected: + g_free (frontend_dev); + return TRUE; } |