diff options
author | Lars Heer <l.heer@gmx.de> | 2013-09-18 14:47:42 +0200 |
---|---|---|
committer | Lars Heer <l.heer@gmx.de> | 2013-09-18 14:47:42 +0200 |
commit | c49649d7324c481a2a39145b77259eb58655df22 (patch) | |
tree | 52e6c3063d0608748c67e9658defdb2ffa4cfbd7 /mcast/netcv2dvbip/dvbipstream.h | |
parent | 58aa9d6ebc3bb122067c72b21af84e51aa655ad0 (diff) | |
download | vdr-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.h | 99 |
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 |