summaryrefslogtreecommitdiffstats
path: root/sys/dvb
diff options
context:
space:
mode:
authorZaheer Abbas Merali <zaheerabbas@merali.org>2006-11-09 14:00:34 +0000
committerZaheer Abbas Merali <zaheerabbas@merali.org>2006-11-09 14:00:34 +0000
commit84d611556716fad9274fac800067f8d9dc6ca6a9 (patch)
tree1e44559f17fc21c58c66c266352d86fc6aa41bf8 /sys/dvb
parent8969a87da16a7aef4ffa02d790d3fee33244daaf (diff)
downloadgst-plugins-bad-84d611556716fad9274fac800067f8d9dc6ca6a9.tar.gz
gst-plugins-bad-84d611556716fad9274fac800067f8d9dc6ca6a9.tar.bz2
gst-plugins-bad-84d611556716fad9274fac800067f8d9dc6ca6a9.zip
sys/dvb/gstdvbsrc.c: (gst_dvbsrc_set_property)
Original commit message from CVS: 2006-11-09 Zaheer Abbas Merali <zaheerabbas at merali dot org> * sys/dvb/gstdvbsrc.c: (gst_dvbsrc_set_property) (gst_dvbsrc_create), (gst_dvbsrc_output_frontend_stats), (gst_dvbsrc_tune), (gst_dvbsrc_set_pes_filters): Rename set_pes_filter to set_pes_filters for consistency. Do run-time pid filtering.
Diffstat (limited to 'sys/dvb')
-rw-r--r--sys/dvb/gstdvbsrc.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c
index 3554603c..8eedb9dc 100644
--- a/sys/dvb/gstdvbsrc.c
+++ b/sys/dvb/gstdvbsrc.c
@@ -275,7 +275,7 @@ static gboolean gst_dvbsrc_is_seekable (GstBaseSrc * bsrc);
static gboolean gst_dvbsrc_get_size (GstBaseSrc * src, guint64 * size);
static gboolean gst_dvbsrc_tune (GstDvbSrc * object);
-static void gst_dvbsrc_set_pes_filter (GstDvbSrc * object);
+static void gst_dvbsrc_set_pes_filters (GstDvbSrc * object);
static void gst_dvbsrc_unset_pes_filters (GstDvbSrc * object);
static gboolean gst_dvbsrc_frontend_status (GstDvbSrc * object);
@@ -538,6 +538,13 @@ gst_dvbsrc_set_property (GObject * _object, guint prop_id,
pids++;
}
g_strfreev (tmp);
+ /* if we are in playing, then set filters now */
+ GST_INFO_OBJECT (object, "checking if playing for setting pes filters");
+ if (GST_ELEMENT (object)->current_state == GST_STATE_PLAYING) {
+ GST_INFO_OBJECT (object, "Setting pes filters now");
+ gst_dvbsrc_set_pes_filters (object);
+ }
+
}
break;
case ARG_DVBSRC_SYM_RATE:
@@ -1148,7 +1155,7 @@ gst_dvbsrc_tune (GstDvbSrc * object)
}
/* set pid filters */
- gst_dvbsrc_set_pes_filter (object);
+ gst_dvbsrc_set_pes_filters (object);
return TRUE;
}
@@ -1170,7 +1177,7 @@ gst_dvbsrc_unset_pes_filters (GstDvbSrc * object)
}
static void
-gst_dvbsrc_set_pes_filter (GstDvbSrc * object)
+gst_dvbsrc_set_pes_filters (GstDvbSrc * object)
{
int *fd;
int pid, i;