diff options
author | Zaheer Merali <zaheerabbas@merali.org> | 2009-05-02 12:23:03 +0100 |
---|---|---|
committer | Dave Robillard <dave@drobilla.net> | 2009-05-03 12:03:20 -0400 |
commit | fdfd2ab59cbe8137b039f29408e3ae06ef725f17 (patch) | |
tree | 5cd988261b6b55174d8df6f6721ff76f9f4ed19b /sys | |
parent | 76cfacd117cbb7988227715594d7ae280239f7f6 (diff) | |
download | gst-plugins-bad-fdfd2ab59cbe8137b039f29408e3ae06ef725f17.tar.gz gst-plugins-bad-fdfd2ab59cbe8137b039f29408e3ae06ef725f17.tar.bz2 gst-plugins-bad-fdfd2ab59cbe8137b039f29408e3ae06ef725f17.zip |
dvbsrc: fix pes filter pid resetting
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dvb/gstdvbsrc.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c index a3b6ded7..37b46f42 100644 --- a/sys/dvb/gstdvbsrc.c +++ b/sys/dvb/gstdvbsrc.c @@ -514,7 +514,11 @@ gst_dvbsrc_set_property (GObject * _object, guint prop_id, pid_string = g_value_dup_string (value); if (!strcmp (pid_string, "8192")) { /* get the whole ts */ + int pid_count = 1; object->pids[0] = 8192; + while (pid_count < MAX_FILTERS) { + object->pids[pid_count++] = G_MAXUINT16; + } } else { int pid = 0; int pid_count; @@ -539,6 +543,9 @@ gst_dvbsrc_set_property (GObject * _object, guint prop_id, } pids++; } + while (pid_count < MAX_FILTERS) { + object->pids[pid_count++] = G_MAXUINT16; + } g_strfreev (tmp); } @@ -1347,7 +1354,6 @@ gst_dvbsrc_unset_pes_filters (GstDvbSrc * object) GST_INFO_OBJECT (object, "clearing PES filter"); for (i = 0; i < MAX_FILTERS; i++) { - object->pids[i] = G_MAXUINT16; if (object->fd_filters[i] == -1) continue; close (object->fd_filters[i]); |