Commit graph

248 commits

Author SHA1 Message Date
Reynaldo H. Verdejo Pinochet
5a47f4a8bc dvbsrc: group DVB-T2 substream-id check with its corresponding set_prop() 2016-05-20 14:08:03 -07:00
Reynaldo H. Verdejo Pinochet
25543d70a7 dvbsrc: add DVB-S2 sub-stream ID check
Disable if invalid (> 255) instead of blindy setting this
property regardless of its actual value.
2016-05-20 13:57:45 -07:00
Reynaldo H. Verdejo Pinochet
e41b1c510a dvbsrc: clarify consequence of passing a wrong ID to the substream filter 2016-05-20 13:47:06 -07:00
Reynaldo H. Verdejo Pinochet
1d9adb14dc dvbsrc: move ISDB-T bandwidth check to _is_valid_bandwidth()
Allows test to be used for delivery system auto-detection.

Additionally, add 0 (auto) as valid value.
2016-05-17 15:06:49 -07:00
Reynaldo H. Verdejo Pinochet
ae060943a8 dvbsrc: add '0' as a valid value for bandwidth
Underlying API considers this the BANDWIDTH_HZ equivalent
to the old BANDWIDTH_AUTO for BANDWIDTH.
2016-05-17 14:40:11 -07:00
Reynaldo H. Verdejo Pinochet
dde02e2d63 dvbsrc: factor out and reuse DVB-T/T2 bandwidth checks
Use new utility function as an additional check for delivery
system auto-detection.
2016-05-17 14:40:01 -07:00
Reynaldo H. Verdejo Pinochet
8e9e3f58c9 dvb/parsechannels: recognize additional bandwidths at zap parsing
Previously ignored 1.712, 5 and 10 MHz values are also valid
2016-05-17 13:08:19 -07:00
Reynaldo H. Verdejo Pinochet
10b020095b dvbsrc: special case detection when DVB-T and T2 seem valid
There is no way to tell one over the other when parameters
seem valid for DVB-T and DVB-T2 and the adapter supports
both. Reason to go with the former here is that, from
experience, most DVB-T2 channels out there seem to use
parameters that are not valid for DVB-T, like QAM_256

https://bugzilla.gnome.org/show_bug.cgi?id=765731
2016-05-15 17:12:28 -07:00
Reynaldo H. Verdejo Pinochet
378fdad176 dvbsrc: add transmission mode check for DTMB 2016-05-15 17:12:28 -07:00
Reynaldo H. Verdejo Pinochet
b84b682275 dvb/parsechannels: use proper fe_spectral_inversion enum identifiers 2016-05-15 17:12:28 -07:00
Reynaldo H. Verdejo Pinochet
39c50e7b85 dvbsrc: explicitly disable stream filter for invalid ids 2016-05-15 17:12:28 -07:00
Reynaldo H. Verdejo Pinochet
e32a058fcf 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.
2016-05-15 17:12:28 -07:00
Reynaldo H. Verdejo Pinochet
8fcdf14846 dvbsrc: consider transmission mode for delsys autodetection 2016-05-15 17:12:28 -07:00
Reynaldo H. Verdejo Pinochet
f0d7a8cb89 dvbsrc: factor out transmission mode check against delsys 2016-05-15 17:12:28 -07:00
Reynaldo H. Verdejo Pinochet
15e21fee71 dvbsrc: improve delivery system autodetection 2016-05-15 17:12:28 -07:00
Reynaldo H. Verdejo Pinochet
793c1a2423 dvbsrc: add modulation checks for DVB-T and T2 2016-05-15 17:12:28 -07:00
Reynaldo H. Verdejo Pinochet
4f0e42b8e4 dvbsrc: improve debug output from _open_frontend()
* Clarify message on delsys info gathering
* Combine redundant INFO/DEBUG pair
2016-05-11 16:10:27 -07:00
Reynaldo H. Verdejo Pinochet
16643e2db7 dvbsrc: fix invalid dereference of delsys data
Use GPOINTER_TO_INT to read GINT_TO_POINTER stored
data.
2016-05-11 16:10:16 -07:00
Reynaldo H. Verdejo Pinochet
d0e553a6d3 dvbsrc: abort at open frontend failure 2016-05-09 15:23:32 -07:00
Reynaldo H. Verdejo Pinochet
5b1191cb4c dvbsrc: smarten-up delsys autodetection logic
When there's no explicit delivery system information
for a channel in the channel configuration file and
the user hasn't selected one via setting the delsys
property, we *guessed* it by selecting the last
supported delsys reported by the driver. This change
provides the basis for smarter delsys auto detection
and implements a rule for DVB-T2. Rules for other
delivery systems can be added in _guess_delsys() in
a similar way.

Additionally: Store list of adapter-supported
delivery systems instead of querying the driver each
time this information is needed.

Related to:

https://bugzilla.gnome.org/show_bug.cgi?id=765731
2016-05-06 16:15:36 -07:00
Reynaldo H. Verdejo Pinochet
571568a09c dvbsrc: remove remaining polling logic from _tune_fe()
No need to do any polling here.
2016-05-06 16:15:36 -07:00
Reynaldo H. Verdejo Pinochet
8c03f448c3 dvbsrc: avoid possible race on _output_frontend_stats()
Make sure we send out our info message before we give up ownership
of the structure.
2016-04-29 23:39:06 -07:00
Reynaldo H. Verdejo Pinochet
05ebd33887 dvbsrc: var rename in _output_frontend_params()
Now it matches the rest of its status peers. Underscore
was a leftover from previous times.
2016-04-29 16:01:23 -07:00
Reynaldo H. Verdejo Pinochet
530d56fac3 dvbsrc: always output known frontend status params
The only mandatory frontend information for our use case
is its status. Make sure we output what we know instead
of choking at the first error getting SNR, BER or any of
the other informational parameters.
2016-04-29 16:01:23 -07:00
Reynaldo H. Verdejo Pinochet
098934d3ae dvbsrc: refactor signal locking loop
Get rid of preliminar frontend status check.
2016-04-29 16:01:23 -07:00
Reynaldo H. Verdejo Pinochet
b5663e4f53 dvbsrc: drop unneeded polling step on _tune_fe()
Additional waiting was not needed. Specially considering
it came after a successful READ_STATUS ioctl and was
followed by an EINTR-resilent retry.
2016-04-29 16:01:23 -07:00
Reynaldo H. Verdejo Pinochet
40b2f41ca6 dvbsrc: add test for invalid DVB-T2 bandwidth 2016-04-20 15:42:25 -07:00
Reynaldo H. Verdejo Pinochet
549785a432 dvbsrc: warn on wrong DVB-T2 stream ID value
Stream ID, used for DVB-T2/S2 and ISDB-S can
not exceed 255 for the former. Change makes this
explicit.
2016-04-20 15:42:17 -07:00
Reynaldo H. Verdejo Pinochet
7597f4dd7a dvbsrc: show invalid delsys/mod combination if found 2016-04-15 13:38:36 -07:00
Reynaldo H. Verdejo Pinochet
31041c3ae9 dvbsrc: add modulation check for ATSC 2016-04-15 11:29:48 -07:00
Reynaldo H. Verdejo Pinochet
34d888220c 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.
2016-04-15 10:16:47 -07:00
Reynaldo H. Verdejo Pinochet
768b0c2696 dvbsrc: avoid redundant delsys querying
There is no need to query the frontend for the list
of supported delivery systems if we are selecting
one from the list of autodetected ones.
2016-04-12 15:08:29 -07:00
Reynaldo H. Verdejo Pinochet
0826e78266 dvb/parsechannels: add information to file not found error
Adds useful failure info (like filename) comming from
g_file_get_contents() as done for every other error in
this block.
2016-04-12 15:06:26 -07:00
Thiago Santos
c77e9c8cda dvbbasebin: unref pat table after usage
Remember to unref the GPtrArray of the PAT table after
use
2016-03-24 11:29:35 -03:00
Thiago Santos
1f3852c667 dvbbasebin: plug some leaks
Plug various leaks in dvbbasebin.
2016-03-24 11:29:35 -03:00
Thiago Santos
46473ac287 dvbsrc: print time in same format
Makes it easier to compare
2016-03-24 11:06:47 -03:00
Vineeth TM
8cdfb13658 bad: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763081
2016-03-24 14:56:51 +02:00
Tim-Philipp Müller
0770fa4ed5 dvbsrc: drop unnecessary use of _stdint.h 2016-01-30 17:35:33 +00:00
Vineeth TM
7c42ba97d7 plugins-bad: Fix example pipelines
rename gst-launch --> gst-launch-1.0
replace old elements with new elements(ffmpegcolorspace -> videoconvert, ffenc_** -> avenc_**)
fix caps in examples

https://bugzilla.gnome.org/show_bug.cgi?id=759432
2015-12-15 10:30:49 +00:00
Reynaldo H. Verdejo Pinochet
86ec812429 Remove unnecessary NULL checks before g_free()
g_free() is NULL-safe
2015-11-18 16:05:42 -08:00
Luis de Bethencourt
508451005d dvbsrc: use GST_STIME_ARGS for GstClockTimeDiff
No need to use G_GINT64_FORMAT for potentially negative values of
GstClockTimeDiff. Since 1.6 these can be handled with GST_STIME_ARGS.
Plus it creates more readable values in the logs.

https://bugzilla.gnome.org/show_bug.cgi?id=757480
2015-11-03 15:05:43 +00:00
Reynaldo H. Verdejo Pinochet
0ac769194f dvb: simplify ZAP file format parser
Simplify state handing, drop unneeded local vars, etc.
2015-10-09 17:53:52 -07:00
Sebastian Dröge
80e02cbdf9 Constify some static arrays everywhere 2015-01-21 10:18:50 +01:00
Reynaldo H. Verdejo Pinochet
21b544863a dvbsrc: drop explicit comparisons against 0 for true/false 2014-11-16 20:32:56 -03:00
Tim-Philipp Müller
3e1d763018 dvbbasebin: fix possible crash by passing 64 bits for 64-bit queue property
https://bugzilla.gnome.org/show_bug.cgi?id=740191
2014-11-15 21:59:48 +00:00
Tim-Philipp Müller
f216b7bb11 Sprinkle some G_PARAM_DEPRECATED and #ifndef GST_REMOVE_DEPRECATED 2014-11-02 17:19:34 +00:00
Tim-Philipp Müller
6505e84f7c dvbsrc: reflow switch case statement a bit
Make it clear there's no 'break' missing at the end
of the case SYS_DVBT, and pacify coverity (CID 1249689).
2014-10-27 12:43:53 +00:00
Reynaldo H. Verdejo Pinochet
e9cb4c58ab dvbsrc: correctly capitalize DiSEqC 2014-10-24 21:42:58 -03:00
Reynaldo H. Verdejo Pinochet
2879abd4f9 dvbsrc: rework _output_frontend_stats()
Retry stat reporting ioctls on EINTR
2014-10-24 20:24:36 -03:00
Reynaldo H. Verdejo Pinochet
34216b8332 dvbsrc: add checks on allowed DVB-T bandwidths 2014-10-24 20:24:36 -03:00