summaryrefslogtreecommitdiffstats
path: root/sys/dvb
diff options
context:
space:
mode:
authorZaheer Abbas Merali <zaheerabbas@merali.org>2007-12-05 12:40:05 +0000
committerZaheer Abbas Merali <zaheerabbas@merali.org>2007-12-05 12:40:05 +0000
commit3966e730c9a697e2dc66b1a613422aefe2214d9c (patch)
tree22b297d906b8aaad4ac8bad7b19b75b572e61b56 /sys/dvb
parentb762832214df06e733848c55efff325002e63cf4 (diff)
downloadgst-plugins-bad-3966e730c9a697e2dc66b1a613422aefe2214d9c.tar.gz
gst-plugins-bad-3966e730c9a697e2dc66b1a613422aefe2214d9c.tar.bz2
gst-plugins-bad-3966e730c9a697e2dc66b1a613422aefe2214d9c.zip
gst/mpegtsparse/: A sub table is identified by the pair table_id and sub_table_identifier, not by pid. So hash with t...
Original commit message from CVS: * gst/mpegtsparse/mpegtspacketizer.c: * gst/mpegtsparse/mpegtsparse.c: A sub table is identified by the pair table_id and sub_table_identifier, not by pid. So hash with that. * sys/dvb/dvbbasebin.c: Make sure initial pids are added properly to filter,
Diffstat (limited to 'sys/dvb')
-rw-r--r--sys/dvb/dvbbasebin.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/sys/dvb/dvbbasebin.c b/sys/dvb/dvbbasebin.c
index 5457ce4e..2e007666 100644
--- a/sys/dvb/dvbbasebin.c
+++ b/sys/dvb/dvbbasebin.c
@@ -309,9 +309,14 @@ dvb_base_bin_reset (DvbBaseBin * dvbbasebin)
}
}
+static gint16 initial_pids[] = { 0, 1, 0x10, 0x11, 0x12, -1 };
+
static void
dvb_base_bin_init (DvbBaseBin * dvbbasebin, DvbBaseBinClass * klass)
{
+ DvbBaseBinStream *stream;
+ int i;
+
dvbbasebin->dvbsrc = gst_element_factory_make ("dvbsrc", NULL);
dvbbasebin->buffer_queue = gst_element_factory_make ("queue", NULL);
dvbbasebin->mpegtsparse = gst_element_factory_make ("mpegtsparse", NULL);
@@ -338,11 +343,12 @@ dvb_base_bin_init (DvbBaseBin * dvbbasebin, DvbBaseBinClass * klass)
dvb_base_bin_reset (dvbbasebin);
/* add PAT, CAT, NIT, SDT, EIT to pids filter for dvbsrc */
- dvb_base_bin_add_stream (dvbbasebin, 0);
- dvb_base_bin_add_stream (dvbbasebin, 1);
- dvb_base_bin_add_stream (dvbbasebin, 10);
- dvb_base_bin_add_stream (dvbbasebin, 11);
- dvb_base_bin_add_stream (dvbbasebin, 12);
+ i = 0;
+ while (initial_pids[i] >= 0) {
+ stream = dvb_base_bin_add_stream (dvbbasebin, (guint16) initial_pids[i]);
+ ++stream->usecount;
+ i++;
+ }
dvb_base_bin_rebuild_filter (dvbbasebin);
}