diff options
author | Zaheer Abbas Merali <zaheerabbas@merali.org> | 2006-11-09 14:00:34 +0000 |
---|---|---|
committer | Zaheer Abbas Merali <zaheerabbas@merali.org> | 2006-11-09 14:00:34 +0000 |
commit | 84d611556716fad9274fac800067f8d9dc6ca6a9 (patch) | |
tree | 1e44559f17fc21c58c66c266352d86fc6aa41bf8 /sys/dvb | |
parent | 8969a87da16a7aef4ffa02d790d3fee33244daaf (diff) | |
download | gst-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.c | 13 |
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; |