summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--sys/dvb/gstdvbsrc.c13
2 files changed, 18 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 5b9e442d..aa068525 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+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.
+
2006-11-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* sys/dvb/gstdvbsrc.c: (read_device):
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;