summaryrefslogtreecommitdiffstats
path: root/sys/dvb/dvbbasebin.h
diff options
context:
space:
mode:
authorAlessandro Decina <alessandro@nnva.org>2007-10-16 17:38:05 +0000
committerZaheer Abbas Merali <zaheerabbas@merali.org>2007-10-16 17:38:05 +0000
commitc205b740d4e793354493c4a2663e45670255453c (patch)
tree3c5d8978e68cf860b69c279e14372ccc144a883c /sys/dvb/dvbbasebin.h
parent389904f6248c65468175c072441747f51c5a5296 (diff)
downloadgst-plugins-bad-c205b740d4e793354493c4a2663e45670255453c.tar.gz
gst-plugins-bad-c205b740d4e793354493c4a2663e45670255453c.tar.bz2
gst-plugins-bad-c205b740d4e793354493c4a2663e45670255453c.zip
sys/dvb/: Integrate SoC work done by Alessandro for the Freevo project.
Original commit message from CVS: patch by: Alessandro Decina * sys/dvb/Makefile.am: * sys/dvb/cam.c: * sys/dvb/cam.h: * sys/dvb/camapplication.c: * sys/dvb/camapplication.h: * sys/dvb/camapplicationinfo.c: * sys/dvb/camapplicationinfo.h: * sys/dvb/camconditionalaccess.c: * sys/dvb/camconditionalaccess.h: * sys/dvb/camdevice.c: * sys/dvb/camdevice.h: * sys/dvb/camresourcemanager.c: * sys/dvb/camresourcemanager.h: * sys/dvb/camsession.c: * sys/dvb/camsession.h: * sys/dvb/camswclient.c: * sys/dvb/camswclient.h: * sys/dvb/camtransport.c: * sys/dvb/camtransport.h: * sys/dvb/camutils.c: * sys/dvb/camutils.h: * sys/dvb/dvbbasebin.c: * sys/dvb/dvbbasebin.h: * sys/dvb/gstdvb.c: * sys/dvb/gstdvbsrc.c: * sys/dvb/gstdvbsrc.h: Integrate SoC work done by Alessandro for the Freevo project. Adds cam support to the dvb stack in GStreamer and a new element (actually a bin) called dvbbasebin that integrates dvbsrc and mpegtsparse to a) handle decryption and b) allow acquiring multiple channels on same transponder without knowing pid numbers.
Diffstat (limited to 'sys/dvb/dvbbasebin.h')
-rw-r--r--sys/dvb/dvbbasebin.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/sys/dvb/dvbbasebin.h b/sys/dvb/dvbbasebin.h
new file mode 100644
index 00000000..fbf0b189
--- /dev/null
+++ b/sys/dvb/dvbbasebin.h
@@ -0,0 +1,75 @@
+/*
+ * dvbbasebin.h -
+ * Copyright (C) 2007 Alessandro Decina
+ *
+ * Authors:
+ * Alessandro Decina <alessandro@nnva.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef GST_DVB_BASE_BIN_H
+#define GST_DVB_BASE_BIN_H
+
+#include <gst/gst.h>
+#include <glib.h>
+#include "camdevice.h"
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_DVB_BASE_BIN \
+ (dvb_base_bin_get_type())
+#define GST_DVB_BASE_BIN(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DVB_BASE_BIN,DvbBaseBin))
+#define GST_DVB_BASE_BIN_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DVB_BASE_BIN,DvbBaseBinClass))
+#define GST_IS_DVB_BASE_BIN(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DVB_BASE_BIN))
+#define GST_IS_DVB_BASE_BIN_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DVB_BASE_BIN))
+
+typedef struct _DvbBaseBin DvbBaseBin;
+typedef struct _DvbBaseBinClass DvbBaseBinClass;
+
+struct _DvbBaseBin {
+ GstBin bin;
+
+ GstPad *ts_pad;
+
+ GstElement *dvbsrc;
+ GstElement *buffer_queue;
+ GstElement *mpegtsparse;
+ CamDevice *hwcam;
+ GList *pmtlist;
+ gboolean pmtlist_changed;
+ gchar *filter;
+ GHashTable *streams;
+ GHashTable *programs;
+ gboolean disposed;
+};
+
+struct _DvbBaseBinClass {
+ GstBinClass parent_class;
+
+ /* signals */
+};
+
+GType gst_dvb_base_bin_get_type(void);
+gboolean gst_dvb_base_bin_plugin_init (GstPlugin *plugin);
+
+G_END_DECLS
+
+#endif /* GST_DVB_BASE_BIN_H */