diff options
author | Tilman Keskinoz <arved@FreeBSD.org> | 2007-01-23 17:12:37 +0000 |
---|---|---|
committer | Tilman Keskinoz <arved@FreeBSD.org> | 2007-01-23 17:12:37 +0000 |
commit | 65a9d28b8bbbf59e353d1ca4e9f075db03de88c4 (patch) | |
tree | beef3c8b290a8bbf62c9095dc9505c045285398e /multimedia/kaffeine | |
parent | a1f93127be03390cd612410b78a59a19f93ff15d (diff) | |
download | ports-65a9d28b8bbbf59e353d1ca4e9f075db03de88c4.tar.gz ports-65a9d28b8bbbf59e353d1ca4e9f075db03de88c4.zip |
Notes
Diffstat (limited to 'multimedia/kaffeine')
-rw-r--r-- | multimedia/kaffeine/Makefile | 12 | ||||
-rw-r--r-- | multimedia/kaffeine/files/ca.h | 91 | ||||
-rw-r--r-- | multimedia/kaffeine/files/dmx.h | 184 | ||||
-rw-r--r-- | multimedia/kaffeine/files/frontend.h | 278 | ||||
-rw-r--r-- | multimedia/kaffeine/files/net.h | 60 | ||||
-rw-r--r-- | multimedia/kaffeine/files/patch-raaf-dvb | 88 | ||||
-rw-r--r-- | multimedia/kaffeine/pkg-plist | 7 |
7 files changed, 719 insertions, 1 deletions
diff --git a/multimedia/kaffeine/Makefile b/multimedia/kaffeine/Makefile index 8aced914f7f4..a3716c234042 100644 --- a/multimedia/kaffeine/Makefile +++ b/multimedia/kaffeine/Makefile @@ -23,8 +23,9 @@ USE_GMAKE= yes USE_GETTEXT= yes USE_LDCONFIG= yes USE_AUTOTOOLS= libtool:15 -CONFIGURE_ENV= CXXFLAGS="${CFLAGS}" +CONFIGURE_ENV= CXXFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} -I${WRKSRC}" CONFIGURE_TARGET= +DVB_HEADERS= ca.h dmx.h frontend.h net.h .ifndef (WITHOUT_GSTREAMER) USE_GSTREAMER80= yes @@ -39,6 +40,11 @@ PLIST_SUB+= NOLAME="" CONFIGURE_ARGS+= --without-lame PLIST_SUB+= NOLAME="@comment " .endif +.ifdef (WITH_DVB) +PLIST_SUB+= NODVB="" +.else +PLIST_SUB+= NODVB="@comment " +.endif .include <bsd.port.pre.mk> @@ -54,5 +60,9 @@ post-patch: ${REINPLACE_CMD} -e "s,xx,," ${WRKSRC}/po/Makefile.in ${REINPLACE_CMD} "s,#include <endian.h>,," \ ${WRKSRC}/kaffeine/src/input/disc/paranoia.cpp +.ifdef (WITH_DVB) + ${MKDIR} ${WRKSRC}/linux/dvb + cd ${FILESDIR}; ${CP} ${DVB_HEADERS} ${WRKSRC}/linux/dvb +.endif .include <bsd.port.post.mk> diff --git a/multimedia/kaffeine/files/ca.h b/multimedia/kaffeine/files/ca.h new file mode 100644 index 000000000000..026e5c35c0ab --- /dev/null +++ b/multimedia/kaffeine/files/ca.h @@ -0,0 +1,91 @@ +/* + * ca.h + * + * Copyright (C) 2000 Ralph Metzler <ralph@convergence.de> + * & Marcus Metzler <marcus@convergence.de> + for convergence integrated media GmbH + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Lesser Public License + * as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + +#ifndef _DVBCA_H_ +#define _DVBCA_H_ + +/* slot interface types and info */ + +typedef struct ca_slot_info { + int num; /* slot number */ + + int type; /* CA interface this slot supports */ +#define CA_CI 1 /* CI high level interface */ +#define CA_CI_LINK 2 /* CI link layer level interface */ +#define CA_CI_PHYS 4 /* CI physical layer level interface */ +#define CA_DESCR 8 /* built-in descrambler */ +#define CA_SC 128 /* simple smart card interface */ + + unsigned int flags; +#define CA_CI_MODULE_PRESENT 1 /* module (or card) inserted */ +#define CA_CI_MODULE_READY 2 +} ca_slot_info_t; + + +/* descrambler types and info */ + +typedef struct ca_descr_info { + unsigned int num; /* number of available descramblers (keys) */ + unsigned int type; /* type of supported scrambling system */ +#define CA_ECD 1 +#define CA_NDS 2 +#define CA_DSS 4 +} ca_descr_info_t; + +typedef struct ca_caps { + unsigned int slot_num; /* total number of CA card and module slots */ + unsigned int slot_type; /* OR of all supported types */ + unsigned int descr_num; /* total number of descrambler slots (keys) */ + unsigned int descr_type; /* OR of all supported types */ +} ca_caps_t; + +/* a message to/from a CI-CAM */ +typedef struct ca_msg { + unsigned int index; + unsigned int type; + unsigned int length; + unsigned char msg[256]; +} ca_msg_t; + +typedef struct ca_descr { + unsigned int index; + unsigned int parity; /* 0 == even, 1 == odd */ + unsigned char cw[8]; +} ca_descr_t; + +typedef struct ca_pid { + unsigned int pid; + int index; /* -1 == disable*/ +} ca_pid_t; + +#define CA_RESET _IO('o', 128) +#define CA_GET_CAP _IOR('o', 129, ca_caps_t) +#define CA_GET_SLOT_INFO _IOR('o', 130, ca_slot_info_t) +#define CA_GET_DESCR_INFO _IOR('o', 131, ca_descr_info_t) +#define CA_GET_MSG _IOR('o', 132, ca_msg_t) +#define CA_SEND_MSG _IOW('o', 133, ca_msg_t) +#define CA_SET_DESCR _IOW('o', 134, ca_descr_t) +#define CA_SET_PID _IOW('o', 135, ca_pid_t) + +#endif + diff --git a/multimedia/kaffeine/files/dmx.h b/multimedia/kaffeine/files/dmx.h new file mode 100644 index 000000000000..f6e9f5c3b60c --- /dev/null +++ b/multimedia/kaffeine/files/dmx.h @@ -0,0 +1,184 @@ +/* + * dmx.h + * + * Copyright (C) 2000 Marcus Metzler <marcus@convergence.de> + * & Ralph Metzler <ralph@convergence.de> + for convergence integrated media GmbH + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + +#ifndef _DVBDMX_H_ +#define _DVBDMX_H_ + +#ifndef LINUX_TYPES_ADDED +#define LINUX_TYPES_ADDED +#include <sys/types.h> +typedef uint64_t __u64; +typedef uint32_t __u32; +typedef uint16_t __u16; +typedef uint8_t __u8; +#endif + +#include <time.h> + +#define DMX_FILTER_SIZE 16 + +typedef enum +{ + DMX_OUT_DECODER, /* Streaming directly to decoder. */ + DMX_OUT_TAP, /* Output going to a memory buffer */ + /* (to be retrieved via the read command).*/ + DMX_OUT_TS_TAP /* Output multiplexed into a new TS */ + /* (to be retrieved by reading from the */ + /* logical DVR device). */ +} dmx_output_t; + + +typedef enum +{ + DMX_IN_FRONTEND, /* Input from a front-end device. */ + DMX_IN_DVR /* Input from the logical DVR device. */ +} dmx_input_t; + + +typedef enum +{ + DMX_PES_AUDIO0, + DMX_PES_VIDEO0, + DMX_PES_TELETEXT0, + DMX_PES_SUBTITLE0, + DMX_PES_PCR0, + + DMX_PES_AUDIO1, + DMX_PES_VIDEO1, + DMX_PES_TELETEXT1, + DMX_PES_SUBTITLE1, + DMX_PES_PCR1, + + DMX_PES_AUDIO2, + DMX_PES_VIDEO2, + DMX_PES_TELETEXT2, + DMX_PES_SUBTITLE2, + DMX_PES_PCR2, + + DMX_PES_AUDIO3, + DMX_PES_VIDEO3, + DMX_PES_TELETEXT3, + DMX_PES_SUBTITLE3, + DMX_PES_PCR3, + + DMX_PES_OTHER +} dmx_pes_type_t; + +#define DMX_PES_AUDIO DMX_PES_AUDIO0 +#define DMX_PES_VIDEO DMX_PES_VIDEO0 +#define DMX_PES_TELETEXT DMX_PES_TELETEXT0 +#define DMX_PES_SUBTITLE DMX_PES_SUBTITLE0 +#define DMX_PES_PCR DMX_PES_PCR0 + + +typedef enum +{ + DMX_SCRAMBLING_EV, + DMX_FRONTEND_EV +} dmx_event_t; + + +typedef enum +{ + DMX_SCRAMBLING_OFF, + DMX_SCRAMBLING_ON +} dmx_scrambling_status_t; + + +typedef struct dmx_filter +{ + __u8 filter[DMX_FILTER_SIZE]; + __u8 mask[DMX_FILTER_SIZE]; + __u8 mode[DMX_FILTER_SIZE]; +} dmx_filter_t; + + +struct dmx_sct_filter_params +{ + __u16 pid; + dmx_filter_t filter; + __u32 timeout; + __u32 flags; +#define DMX_CHECK_CRC 1 +#define DMX_ONESHOT 2 +#define DMX_IMMEDIATE_START 4 +#define DMX_KERNEL_CLIENT 0x8000 +}; + + +struct dmx_pes_filter_params +{ + __u16 pid; + dmx_input_t input; + dmx_output_t output; + dmx_pes_type_t pes_type; + __u32 flags; +}; + + +struct dmx_event +{ + dmx_event_t event; + time_t timeStamp; + union + { + dmx_scrambling_status_t scrambling; + } u; +}; + +typedef struct dmx_caps { + __u32 caps; + int num_decoders; +} dmx_caps_t; + +typedef enum { + DMX_SOURCE_FRONT0 = 0, + DMX_SOURCE_FRONT1, + DMX_SOURCE_FRONT2, + DMX_SOURCE_FRONT3, + DMX_SOURCE_DVR0 = 16, + DMX_SOURCE_DVR1, + DMX_SOURCE_DVR2, + DMX_SOURCE_DVR3 +} dmx_source_t; + +struct dmx_stc { + unsigned int num; /* input : which STC? 0..N */ + unsigned int base; /* output: divisor for stc to get 90 kHz clock */ + __u64 stc; /* output: stc in 'base'*90 kHz units */ +}; + + +#define DMX_START _IO('o',41) +#define DMX_STOP _IO('o',42) +#define DMX_SET_FILTER _IOW('o',43,struct dmx_sct_filter_params) +#define DMX_SET_PES_FILTER _IOW('o',44,struct dmx_pes_filter_params) +#define DMX_SET_BUFFER_SIZE _IO('o',45) +#define DMX_GET_EVENT _IOR('o',46,struct dmx_event) +#define DMX_GET_PES_PIDS _IOR('o', 47, __u16[5]) +#define DMX_GET_CAPS _IOR('o',48,dmx_caps_t) +#define DMX_SET_SOURCE _IOW('o',49,dmx_source_t) +#define DMX_GET_STC _IOWR('o',50,struct dmx_stc) + +#endif /*_DVBDMX_H_*/ + diff --git a/multimedia/kaffeine/files/frontend.h b/multimedia/kaffeine/files/frontend.h new file mode 100644 index 000000000000..f755a8ced702 --- /dev/null +++ b/multimedia/kaffeine/files/frontend.h @@ -0,0 +1,278 @@ +/* + * frontend.h + * + * Copyright (C) 2000 Marcus Metzler <marcus@convergence.de> + * Ralph Metzler <ralph@convergence.de> + * Holger Waechtler <holger@convergence.de> + * Andre Draszik <ad@convergence.de> + * for convergence integrated media GmbH + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + +#ifndef _DVBFRONTEND_H_ +#define _DVBFRONTEND_H_ + +#ifndef LINUX_TYPES_ADDED +#define LINUX_TYPES_ADDED +#include <sys/types.h> +typedef uint64_t __u64; +typedef uint32_t __u32; +typedef uint16_t __u16; +typedef uint8_t __u8; +#endif + + + +typedef enum fe_type { + FE_QPSK, + FE_QAM, + FE_OFDM, + FE_ATSC +} fe_type_t; + + +typedef enum fe_caps { + FE_IS_STUPID = 0, + FE_CAN_INVERSION_AUTO = 0x1, + FE_CAN_FEC_1_2 = 0x2, + FE_CAN_FEC_2_3 = 0x4, + FE_CAN_FEC_3_4 = 0x8, + FE_CAN_FEC_4_5 = 0x10, + FE_CAN_FEC_5_6 = 0x20, + FE_CAN_FEC_6_7 = 0x40, + FE_CAN_FEC_7_8 = 0x80, + FE_CAN_FEC_8_9 = 0x100, + FE_CAN_FEC_AUTO = 0x200, + FE_CAN_QPSK = 0x400, + FE_CAN_QAM_16 = 0x800, + FE_CAN_QAM_32 = 0x1000, + FE_CAN_QAM_64 = 0x2000, + FE_CAN_QAM_128 = 0x4000, + FE_CAN_QAM_256 = 0x8000, + FE_CAN_QAM_AUTO = 0x10000, + FE_CAN_TRANSMISSION_MODE_AUTO = 0x20000, + FE_CAN_BANDWIDTH_AUTO = 0x40000, + FE_CAN_GUARD_INTERVAL_AUTO = 0x80000, + FE_CAN_HIERARCHY_AUTO = 0x100000, + FE_CAN_8VSB = 0x200000, + FE_CAN_16VSB = 0x400000, + FE_NEEDS_BENDING = 0x20000000, // not supported anymore, don't use (frontend requires frequency bending) + FE_CAN_RECOVER = 0x40000000, // frontend can recover from a cable unplug automatically + FE_CAN_MUTE_TS = 0x80000000 // frontend can stop spurious TS data output +} fe_caps_t; + + +struct dvb_frontend_info { + char name[128]; + fe_type_t type; + __u32 frequency_min; + __u32 frequency_max; + __u32 frequency_stepsize; + __u32 frequency_tolerance; + __u32 symbol_rate_min; + __u32 symbol_rate_max; + __u32 symbol_rate_tolerance; /* ppm */ + __u32 notifier_delay; /* DEPRECATED */ + fe_caps_t caps; +}; + + +/** + * Check out the DiSEqC bus spec available on http://www.eutelsat.org/ for + * the meaning of this struct... + */ +struct dvb_diseqc_master_cmd { + __u8 msg [6]; /* { framing, address, command, data [3] } */ + __u8 msg_len; /* valid values are 3...6 */ +}; + + +struct dvb_diseqc_slave_reply { + __u8 msg [4]; /* { framing, data [3] } */ + __u8 msg_len; /* valid values are 0...4, 0 means no msg */ + int timeout; /* return from ioctl after timeout ms with */ +}; /* errorcode when no message was received */ + + +typedef enum fe_sec_voltage { + SEC_VOLTAGE_13, + SEC_VOLTAGE_18, + SEC_VOLTAGE_OFF +} fe_sec_voltage_t; + + +typedef enum fe_sec_tone_mode { + SEC_TONE_ON, + SEC_TONE_OFF +} fe_sec_tone_mode_t; + + +typedef enum fe_sec_mini_cmd { + SEC_MINI_A, + SEC_MINI_B +} fe_sec_mini_cmd_t; + + +typedef enum fe_status { + FE_HAS_SIGNAL = 0x01, /* found something above the noise level */ + FE_HAS_CARRIER = 0x02, /* found a DVB signal */ + FE_HAS_VITERBI = 0x04, /* FEC is stable */ + FE_HAS_SYNC = 0x08, /* found sync bytes */ + FE_HAS_LOCK = 0x10, /* everything's working... */ + FE_TIMEDOUT = 0x20, /* no lock within the last ~2 seconds */ + FE_REINIT = 0x40 /* frontend was reinitialized, */ +} fe_status_t; /* application is recommended to reset */ + /* DiSEqC, tone and parameters */ + +typedef enum fe_spectral_inversion { + INVERSION_OFF, + INVERSION_ON, + INVERSION_AUTO +} fe_spectral_inversion_t; + + +typedef enum fe_code_rate { + FEC_NONE = 0, + FEC_1_2, + FEC_2_3, + FEC_3_4, + FEC_4_5, + FEC_5_6, + FEC_6_7, + FEC_7_8, + FEC_8_9, + FEC_AUTO +} fe_code_rate_t; + + +typedef enum fe_modulation { + QPSK, + QAM_16, + QAM_32, + QAM_64, + QAM_128, + QAM_256, + QAM_AUTO, + VSB_8, + VSB_16 +} fe_modulation_t; + +typedef enum fe_transmit_mode { + TRANSMISSION_MODE_2K, + TRANSMISSION_MODE_8K, + TRANSMISSION_MODE_AUTO +} fe_transmit_mode_t; + +typedef enum fe_bandwidth { + BANDWIDTH_8_MHZ, + BANDWIDTH_7_MHZ, + BANDWIDTH_6_MHZ, + BANDWIDTH_AUTO +} fe_bandwidth_t; + + +typedef enum fe_guard_interval { + GUARD_INTERVAL_1_32, + GUARD_INTERVAL_1_16, + GUARD_INTERVAL_1_8, + GUARD_INTERVAL_1_4, + GUARD_INTERVAL_AUTO +} fe_guard_interval_t; + + +typedef enum fe_hierarchy { + HIERARCHY_NONE, + HIERARCHY_1, + HIERARCHY_2, + HIERARCHY_4, + HIERARCHY_AUTO +} fe_hierarchy_t; + + +struct dvb_qpsk_parameters { + __u32 symbol_rate; /* symbol rate in Symbols per second */ + fe_code_rate_t fec_inner; /* forward error correction (see above) */ +}; + + +struct dvb_qam_parameters { + __u32 symbol_rate; /* symbol rate in Symbols per second */ + fe_code_rate_t fec_inner; /* forward error correction (see above) */ + fe_modulation_t modulation; /* modulation type (see above) */ +}; + +struct dvb_vsb_parameters { + fe_modulation_t modulation; /* modulation type (see above) */ +}; + +struct dvb_ofdm_parameters { + fe_bandwidth_t bandwidth; + fe_code_rate_t code_rate_HP; /* high priority stream code rate */ + fe_code_rate_t code_rate_LP; /* low priority stream code rate */ + fe_modulation_t constellation; /* modulation type (see above) */ + fe_transmit_mode_t transmission_mode; + fe_guard_interval_t guard_interval; + fe_hierarchy_t hierarchy_information; +}; + + +struct dvb_frontend_parameters { + __u32 frequency; /* (absolute) frequency in Hz for QAM/OFDM/ATSC */ + /* intermediate frequency in kHz for QPSK */ + fe_spectral_inversion_t inversion; + union { + struct dvb_qpsk_parameters qpsk; + struct dvb_qam_parameters qam; + struct dvb_ofdm_parameters ofdm; + struct dvb_vsb_parameters vsb; + } u; +}; + + +struct dvb_frontend_event { + fe_status_t status; + struct dvb_frontend_parameters parameters; +}; + + + +#define FE_GET_INFO _IOR('o', 61, struct dvb_frontend_info) + +#define FE_DISEQC_RESET_OVERLOAD _IO('o', 62) +#define FE_DISEQC_SEND_MASTER_CMD _IOW('o', 63, struct dvb_diseqc_master_cmd) +#define FE_DISEQC_RECV_SLAVE_REPLY _IOR('o', 64, struct dvb_diseqc_slave_reply) +#define FE_DISEQC_SEND_BURST _IO('o', 65) /* fe_sec_mini_cmd_t */ + +#define FE_SET_TONE _IO('o', 66) /* fe_sec_tone_mode_t */ +#define FE_SET_VOLTAGE _IO('o', 67) /* fe_sec_voltage_t */ +#define FE_ENABLE_HIGH_LNB_VOLTAGE _IO('o', 68) /* int */ + +#define FE_READ_STATUS _IOR('o', 69, fe_status_t) +#define FE_READ_BER _IOR('o', 70, __u32) +#define FE_READ_SIGNAL_STRENGTH _IOR('o', 71, __u16) +#define FE_READ_SNR _IOR('o', 72, __u16) +#define FE_READ_UNCORRECTED_BLOCKS _IOR('o', 73, __u32) + +#define FE_SET_FRONTEND _IOW('o', 76, struct dvb_frontend_parameters) +#define FE_GET_FRONTEND _IOR('o', 77, struct dvb_frontend_parameters) +#define FE_GET_EVENT _IOR('o', 78, struct dvb_frontend_event) + +#define FE_DISHNETWORK_SEND_LEGACY_CMD _IO('o', 80) /* unsigned int */ + + +#endif /*_DVBFRONTEND_H_*/ + diff --git a/multimedia/kaffeine/files/net.h b/multimedia/kaffeine/files/net.h new file mode 100644 index 000000000000..b538e38fc2ba --- /dev/null +++ b/multimedia/kaffeine/files/net.h @@ -0,0 +1,60 @@ +/* + * net.h + * + * Copyright (C) 2000 Marcus Metzler <marcus@convergence.de> + * & Ralph Metzler <ralph@convergence.de> + for convergence integrated media GmbH + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + +#ifndef _DVBNET_H_ +#define _DVBNET_H_ + +#ifndef LINUX_TYPES_ADDED +#define LINUX_TYPES_ADDED +#include <sys/types.h> +typedef uint64_t __u64; +typedef uint32_t __u32; +typedef uint16_t __u16; +typedef uint8_t __u8; +#endif + + +struct dvb_net_if { + __u16 pid; + __u16 if_num; + __u8 feedtype; +#define DVB_NET_FEEDTYPE_MPE 0 /* multi protocol encapsulation */ +#define DVB_NET_FEEDTYPE_ULE 1 /* ultra lightweight encapsulation */ +}; + + +#define NET_ADD_IF _IOWR('o', 52, struct dvb_net_if) +#define NET_REMOVE_IF _IO('o', 53) +#define NET_GET_IF _IOWR('o', 54, struct dvb_net_if) + + +/* binary compatibility cruft: */ +struct __dvb_net_if_old { + __u16 pid; + __u16 if_num; +}; +#define __NET_ADD_IF_OLD _IOWR('o', 52, struct __dvb_net_if_old) +#define __NET_GET_IF_OLD _IOWR('o', 54, struct __dvb_net_if_old) + + +#endif /*_DVBNET_H_*/ diff --git a/multimedia/kaffeine/files/patch-raaf-dvb b/multimedia/kaffeine/files/patch-raaf-dvb new file mode 100644 index 000000000000..85c9a8904838 --- /dev/null +++ b/multimedia/kaffeine/files/patch-raaf-dvb @@ -0,0 +1,88 @@ +--- kaffeine/src/input/dvb/dvbsection.cpp.orig Fri Dec 29 08:33:41 2006 ++++ kaffeine/src/input/dvb/dvbsection.cpp Fri Dec 29 08:34:31 2006 +@@ -482,7 +482,8 @@ + char c[4]; + QString s; + +- memset( mempcpy( c, buf+2, 3 ), 0, 1 ); ++ memcpy(c,buf+2,3); ++ c[3] = 0; + s = c; + return s; + } +--- kaffeine/src/input/dvb/dvbstream.cpp.orig Fri Dec 29 08:36:14 2006 ++++ kaffeine/src/input/dvb/dvbstream.cpp Fri Dec 29 08:36:51 2006 +@@ -24,14 +24,13 @@ + #include <sys/ioctl.h> + #include <sys/time.h> + #include <sys/stat.h> ++#include <netinet/in.h> + #include <resolv.h> + #include <fcntl.h> + #include <unistd.h> + #include <signal.h> +-#include <values.h> + #include <string.h> + #include <sys/socket.h> +-#include <netinet/in.h> + #include <netdb.h> + #include <errno.h> + +--- kaffeine/src/input/dvb/dvbout.cpp.orig Fri Dec 29 08:37:56 2006 ++++ kaffeine/src/input/dvb/dvbout.cpp Fri Dec 29 08:40:09 2006 +@@ -527,12 +527,15 @@ + if ( haveLive && fdPipe ) { + while ( haveLive && fdPipe ) { + if ( wDist>0 ) { ++ int i; + if ( wpatpmt ) { + write( fdPipe, tspat, TS_SIZE ); + write( fdPipe, tspmt, TS_SIZE ); + wpatpmt = false; + } +- write( fdPipe, wBuf+(wRead*TS_SIZE*NTS), TS_SIZE*NTS ); ++ for(i = 0; i < NTS; ++i) ++ write( fdPipe, wBuf+(wRead*TS_SIZE*NTS) ++ +(i * TS_SIZE), TS_SIZE); + --wDist; + ++wRead; + if ( wRead>99 ) +--- kaffeine/src/input/dvb/lib/libucsi/endianops.h.orig Sun Nov 26 20:12:16 2006 ++++ kaffeine/src/input/dvb/lib/libucsi/endianops.h Fri Dec 29 08:56:47 2006 +@@ -27,15 +27,33 @@ + #endif + + #include <stdint.h> +-#include <byteswap.h> +-#include <endian.h> + + #define __ucsi_packed __attribute__((packed)) + + ++#define bswap_16(x) \ ++ ((((x) & 0xff00) >> 8) | \ ++ (((x) & 0x00ff) << 8)) + ++#define bswap_32(x) \ ++ ((((x) & 0xff000000) >> 24) | \ ++ (((x) & 0x00ff0000) >> 8) | \ ++ (((x) & 0x0000ff00) << 8) | \ ++ (((x) & 0x000000ff) << 24)) + +-#if __BYTE_ORDER == __BIG_ENDIAN ++static inline uint64_t ++bswap_64(uint64_t _x) ++{ ++ ++ return ((_x >> 56) | ((_x >> 40) & 0xff00) | ((_x >> 24) & 0xff0000) | ++ ((_x >> 8) & 0xff000000) | ((_x << 8) & ((uint64_t)0xff << 32)) | ++ ((_x << 24) & ((uint64_t)0xff << 40)) | ++ ((_x << 40) & ((uint64_t)0xff << 48)) | ((_x << 56))); ++} ++ ++ ++ ++#if BYTE_ORDER == BIG_ENDIAN + #define EBIT2(x1,x2) x1 x2 + #define EBIT3(x1,x2,x3) x1 x2 x3 + #define EBIT4(x1,x2,x3,x4) x1 x2 x3 x4 diff --git a/multimedia/kaffeine/pkg-plist b/multimedia/kaffeine/pkg-plist index c4df63730804..e62b399ad856 100644 --- a/multimedia/kaffeine/pkg-plist +++ b/multimedia/kaffeine/pkg-plist @@ -4,6 +4,7 @@ include/kaffeine/mrl.h include/kaffeine/kaffeinepart.h include/kaffeine/xine_part.h include/kaffeine/xine_part_iface.h +%%NODVB%%include/kaffeine/kaffeinedvbplugin.h %%NOGSTREAMER%%lib/kde3/libgstreamerpart.a %%NOGSTREAMER%%lib/kde3/libgstreamerpart.so %%NOGSTREAMER%%lib/kde3/libgstreamerpart.la @@ -20,6 +21,10 @@ lib/libkaffeineaudioencoder.so.0 lib/libkaffeinepart.so lib/libkaffeinepart.la lib/libkaffeinepart.a +%%NODVB%%lib/libkaffeinedvbplugin.so.0 +%%NODVB%%lib/libkaffeinedvbplugin.so +%%NODVB%%lib/libkaffeinedvbplugin.la +%%NODVB%%lib/libkaffeinedvbplugin.a lib/kde3/libxinepart.so lib/kde3/libxinepart.la lib/kde3/libxinepart.a @@ -36,6 +41,7 @@ share/apps/kaffeine/rtsp.protocol share/apps/kaffeine/dvbdata.tar.gz share/apps/kaffeine/xine_part.rc share/apps/kaffeine/pics/playing.png +%%NODVB%%share/apps/kaffeine/kaffeinedvb.rc share/apps/konqueror/servicemenus/kaffeine_open_directory.desktop share/apps/konqueror/servicemenus/kaffeine_append_file.desktop share/apps/konqueror/servicemenus/kaffeine_play_audiocd.desktop @@ -130,6 +136,7 @@ share/mimelnk/application/x-kaffeine.desktop share/services/kaffeineoggvorbis.desktop share/services/xine_part.desktop share/servicetypes/kaffeineaudioencoder.desktop +%%NODVB%%share/servicetypes/kaffeinedvbplugin.desktop @dirrm include/kaffeine @dirrm share/apps/kaffeine/pics @dirrm share/apps/kaffeine |