diff options
author | Zaheer Merali <zaheerabbas@merali.org> | 2009-05-02 12:23:03 +0100 |
---|---|---|
committer | Zaheer Merali <zaheerabbas@merali.org> | 2009-05-02 12:23:03 +0100 |
commit | 94cd09363a400d19c30ecae75af5a06eb73e3362 (patch) | |
tree | eb9b9d536c723baf8cbfc04a73da74b6f2df89da /sys | |
parent | ac7cda4b3b4e7fc423dcf8c7eb71d024f4e178a9 (diff) | |
download | gst-plugins-bad-94cd09363a400d19c30ecae75af5a06eb73e3362.tar.gz gst-plugins-bad-94cd09363a400d19c30ecae75af5a06eb73e3362.tar.bz2 gst-plugins-bad-94cd09363a400d19c30ecae75af5a06eb73e3362.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]); |