summaryrefslogtreecommitdiff
path: root/mcast/netcv2dvbip/dvbipstream.h
diff options
context:
space:
mode:
authorLars Heer <l.heer@gmx.de>2013-09-18 14:47:42 +0200
committerLars Heer <l.heer@gmx.de>2013-09-18 14:47:42 +0200
commitc49649d7324c481a2a39145b77259eb58655df22 (patch)
tree52e6c3063d0608748c67e9658defdb2ffa4cfbd7 /mcast/netcv2dvbip/dvbipstream.h
parent58aa9d6ebc3bb122067c72b21af84e51aa655ad0 (diff)
downloadvdr-plugin-mcli-c49649d7324c481a2a39145b77259eb58655df22.tar.gz
vdr-plugin-mcli-c49649d7324c481a2a39145b77259eb58655df22.tar.bz2
added netcv2dvbip revision 188 from https://svn.baycom.de/repos/vdr-mcli-plugin/mcast/netcv2dvbip
Diffstat (limited to 'mcast/netcv2dvbip/dvbipstream.h')
-rw-r--r--mcast/netcv2dvbip/dvbipstream.h99
1 files changed, 99 insertions, 0 deletions
diff --git a/mcast/netcv2dvbip/dvbipstream.h b/mcast/netcv2dvbip/dvbipstream.h
new file mode 100644
index 0000000..a374617
--- /dev/null
+++ b/mcast/netcv2dvbip/dvbipstream.h
@@ -0,0 +1,99 @@
+#ifndef _DVBIPSTREAM_H
+#define _DVBIPSTREAM_H
+
+#include "headers.h"
+#include "misc.h"
+
+#define MAXAPIDS 32
+#define MAXDPIDS 4
+#define MAXCAIDS 2
+
+#define TS_PER_UDP 7
+
+typedef struct
+{
+ int number;
+ char *name;
+ char *provider;
+ char *shortName;
+ int type;
+ unsigned int frequency;
+ int srate;
+ int coderateH;
+ int coderateL;
+ int guard;
+ int polarization;
+ int inversion;
+ int modulation;
+ int source;
+ int transmission;
+ int bandwidth;
+ int hierarchy;
+ int vpid;
+ int ppid;
+ int sid;
+ int rid;
+ int tid;
+ int tpid;
+ int nid;
+ int caids[MAXCAIDS];
+ int NumCaids;
+ int apids[MAXAPIDS];
+ int NumApids;
+ int dpids[MAXDPIDS];
+ int NumDpids;
+ int eitpids[1];
+ int NumEitpids;
+ int sdtpids[1];
+ int NumSdtpids;
+} channel_t;
+
+
+typedef struct _stream_buffer_t
+{
+ struct _stream_buffer_t *next;
+ char data[TS_PER_UDP*188];
+} stream_buffer_t;
+
+typedef struct
+{
+ recv_info_t *r;
+ stream_buffer_t *free;
+ stream_buffer_t *head;
+ stream_buffer_t *tail;
+ stream_buffer_t *wr;
+ stream_buffer_t *rd;
+ int fill;
+ int si_state;
+ psi_buf_t psi;
+ channel_t *cdata;
+ int pmt_pid;
+ int es_pids[32];
+ int es_pidnum;
+ int fta;
+ pthread_t t;
+ int stop;
+ int ts_cnt;
+ pthread_mutex_t lock_bf;
+ pthread_mutex_t lock_ts;
+} stream_info_t;
+
+channel_t *read_channel_list (char *filename);
+
+int get_channel_num (void);
+int get_channel_name (int n, char *str, int maxlen);
+channel_t *get_channel_data (int n);
+
+// mcilink.c
+void mcli_startup (void);
+void* mcli_stream_setup (const int channum);
+size_t mcli_stream_access (void* handle, char **buf);
+size_t mcli_stream_part_access (void* handle, char **buf);
+void mcli_stream_skip (void* handle);
+int mcli_stream_stop (void* handle);
+
+// parse.c
+int ParseLine (const char *s, channel_t * ch);
+
+
+#endif