Date: Tue, 13 Jan 2009 16:24:55 -0500 (EST) From: "J.R. Oldroyd" <fbsd@opal.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/130515: new port: multimedia/dvbsnoop-1.4.50 DVB/MPEG stream analyzer Message-ID: <200901132124.n0DLOtul060498@homobox.opal.com> Resent-Message-ID: <200901132130.n0DLU19A000889@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 130515 >Category: ports >Synopsis: new port: multimedia/dvbsnoop-1.4.50 DVB/MPEG stream analyzer >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Tue Jan 13 21:30:01 UTC 2009 >Closed-Date: >Last-Modified: >Originator: J.R. Oldroyd >Release: FreeBSD 7.0-STABLE i386 >Organization: >Environment: System: FreeBSD xx.opal.com 7.0-STABLE FreeBSD 7.0-STABLE #1: Thu Mar 13 12:42:33 EDT 2008 xx@opal.com:/usr/src/sys/i386/compile/XX i386 >Description: new port: multimedia/dvbsnoop-1.4.50 DVB/MPEG stream analyzer >How-To-Repeat: >Fix: # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # multimedia/dvbsnoop/ # multimedia/dvbsnoop/Makefile # multimedia/dvbsnoop/distinfo # multimedia/dvbsnoop/pkg-descr # multimedia/dvbsnoop/files # multimedia/dvbsnoop/files/dmx.h # multimedia/dvbsnoop/files/frontend.h # multimedia/dvbsnoop/files/patch-src-dvbsnoop.h # echo c - multimedia/dvbsnoop/ mkdir -p multimedia/dvbsnoop/ > /dev/null 2>&1 echo x - multimedia/dvbsnoop/Makefile sed 's/^X//' >multimedia/dvbsnoop/Makefile << 'END-of-multimedia/dvbsnoop/Makefile' X# New ports collection makefile for: dvbsnoop X# Date created: 2009 January 12 X# Whom: J.R. Oldroyd <fbsd@opal.com> X# X# $FreeBSD$ X# X XPORTNAME= dvbsnoop XPORTVERSION= 1.4.50 XCATEGORIES= multimedia XMASTER_SITES= ${MASTER_SITE_SOURCEFORGE} XMASTER_SITE_SUBDIR= dvbsnoop X XMAINTAINER= fbsd@opal.com XCOMMENT= DVB stream analyzer / MPEG analyzer X XDVB_HEADERS= dmx.h frontend.h X XGNU_CONFIGURE= yes XCONFIGURE_ENV= CFLAGS="${CFLAGS} -I${WRKSRC}" XUSE_GMAKE= yes X XPLIST_FILES= bin/${PORTNAME} XMAN1= ${PORTNAME}.1 X X.include <bsd.port.pre.mk> X Xpost-patch: X ${MKDIR} ${WRKSRC}/linux/dvb X cd ${FILESDIR}; ${CP} ${DVB_HEADERS} ${WRKSRC}/linux/dvb X X.include <bsd.port.post.mk> END-of-multimedia/dvbsnoop/Makefile echo x - multimedia/dvbsnoop/distinfo sed 's/^X//' >multimedia/dvbsnoop/distinfo << 'END-of-multimedia/dvbsnoop/distinfo' XMD5 (dvbsnoop-1.4.50.tar.gz) = 68a5618c95b4372eea9ac5ec5005f299 XSHA256 (dvbsnoop-1.4.50.tar.gz) = 7658498b26a5d2a0242e81f0cfafa0e43a2bec56f8674e7ac197dfc310866ec6 XSIZE (dvbsnoop-1.4.50.tar.gz) = 333992 END-of-multimedia/dvbsnoop/distinfo echo x - multimedia/dvbsnoop/pkg-descr sed 's/^X//' >multimedia/dvbsnoop/pkg-descr << 'END-of-multimedia/dvbsnoop/pkg-descr' XDVBsnoop is an analyzer for DVB broadcast streams / MPEG transport Xstreams. X XDVBsnoop is a program to monitor, analyze, debug, dump or view Xdvb/mpeg/dsm-cc/mhp stream information (TS, PES, SECTION) (e.g. Xdigital television) send via satellite, cable or terrestrial. X XWWW: http://dvbsnoop.sourceforge.net/ END-of-multimedia/dvbsnoop/pkg-descr echo c - multimedia/dvbsnoop/files mkdir -p multimedia/dvbsnoop/files > /dev/null 2>&1 echo x - multimedia/dvbsnoop/files/dmx.h sed 's/^X//' >multimedia/dvbsnoop/files/dmx.h << 'END-of-multimedia/dvbsnoop/files/dmx.h' X/* X * dmx.h X * X * Copyright (C) 2000 Marcus Metzler <marcus@convergence.de> X * & Ralph Metzler <ralph@convergence.de> X for convergence integrated media GmbH X * X * This program is free software; you can redistribute it and/or X * modify it under the terms of the GNU Lesser General Public License X * as published by the Free Software Foundation; either version 2.1 X * of the License, or (at your option) any later version. X * X * This program is distributed in the hope that it will be useful, X * but WITHOUT ANY WARRANTY; without even the implied warranty of X * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the X * GNU General Public License for more details. X * X * You should have received a copy of the GNU Lesser General Public License X * along with this program; if not, write to the Free Software X * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. X * X */ X X#ifndef _DVBDMX_H_ X#define _DVBDMX_H_ X X#ifndef LINUX_TYPES_ADDED X#define LINUX_TYPES_ADDED X#include <sys/types.h> Xtypedef uint64_t __u64; Xtypedef uint32_t __u32; Xtypedef uint16_t __u16; Xtypedef uint8_t __u8; X#endif X X#include <time.h> X X#define DMX_FILTER_SIZE 16 X Xtypedef enum X{ X DMX_OUT_DECODER, /* Streaming directly to decoder. */ X DMX_OUT_TAP, /* Output going to a memory buffer */ X /* (to be retrieved via the read command).*/ X DMX_OUT_TS_TAP /* Output multiplexed into a new TS */ X /* (to be retrieved by reading from the */ X /* logical DVR device). */ X} dmx_output_t; X X Xtypedef enum X{ X DMX_IN_FRONTEND, /* Input from a front-end device. */ X DMX_IN_DVR /* Input from the logical DVR device. */ X} dmx_input_t; X X Xtypedef enum X{ X DMX_PES_AUDIO0, X DMX_PES_VIDEO0, X DMX_PES_TELETEXT0, X DMX_PES_SUBTITLE0, X DMX_PES_PCR0, X X DMX_PES_AUDIO1, X DMX_PES_VIDEO1, X DMX_PES_TELETEXT1, X DMX_PES_SUBTITLE1, X DMX_PES_PCR1, X X DMX_PES_AUDIO2, X DMX_PES_VIDEO2, X DMX_PES_TELETEXT2, X DMX_PES_SUBTITLE2, X DMX_PES_PCR2, X X DMX_PES_AUDIO3, X DMX_PES_VIDEO3, X DMX_PES_TELETEXT3, X DMX_PES_SUBTITLE3, X DMX_PES_PCR3, X X DMX_PES_OTHER X} dmx_pes_type_t; X X#define DMX_PES_AUDIO DMX_PES_AUDIO0 X#define DMX_PES_VIDEO DMX_PES_VIDEO0 X#define DMX_PES_TELETEXT DMX_PES_TELETEXT0 X#define DMX_PES_SUBTITLE DMX_PES_SUBTITLE0 X#define DMX_PES_PCR DMX_PES_PCR0 X X Xtypedef enum X{ X DMX_SCRAMBLING_EV, X DMX_FRONTEND_EV X} dmx_event_t; X X Xtypedef enum X{ X DMX_SCRAMBLING_OFF, X DMX_SCRAMBLING_ON X} dmx_scrambling_status_t; X X Xtypedef struct dmx_filter X{ X __u8 filter[DMX_FILTER_SIZE]; X __u8 mask[DMX_FILTER_SIZE]; X __u8 mode[DMX_FILTER_SIZE]; X} dmx_filter_t; X X Xstruct dmx_sct_filter_params X{ X __u16 pid; X dmx_filter_t filter; X __u32 timeout; X __u32 flags; X#define DMX_CHECK_CRC 1 X#define DMX_ONESHOT 2 X#define DMX_IMMEDIATE_START 4 X#define DMX_KERNEL_CLIENT 0x8000 X}; X X Xstruct dmx_pes_filter_params X{ X __u16 pid; X dmx_input_t input; X dmx_output_t output; X dmx_pes_type_t pes_type; X __u32 flags; X}; X X Xstruct dmx_event X{ X dmx_event_t event; X time_t timeStamp; X union X { X dmx_scrambling_status_t scrambling; X } u; X}; X Xtypedef struct dmx_caps { X __u32 caps; X int num_decoders; X} dmx_caps_t; X Xtypedef enum { X DMX_SOURCE_FRONT0 = 0, X DMX_SOURCE_FRONT1, X DMX_SOURCE_FRONT2, X DMX_SOURCE_FRONT3, X DMX_SOURCE_DVR0 = 16, X DMX_SOURCE_DVR1, X DMX_SOURCE_DVR2, X DMX_SOURCE_DVR3 X} dmx_source_t; X Xstruct dmx_stc { X unsigned int num; /* input : which STC? 0..N */ X unsigned int base; /* output: divisor for stc to get 90 kHz clock */ X __u64 stc; /* output: stc in 'base'*90 kHz units */ X}; X X X#define DMX_START _IO('o',41) X#define DMX_STOP _IO('o',42) X#define DMX_SET_FILTER _IOW('o',43,struct dmx_sct_filter_params) X#define DMX_SET_PES_FILTER _IOW('o',44,struct dmx_pes_filter_params) X#define DMX_SET_BUFFER_SIZE _IO('o',45) X#define DMX_GET_EVENT _IOR('o',46,struct dmx_event) X#define DMX_GET_PES_PIDS _IOR('o', 47, __u16[5]) X#define DMX_GET_CAPS _IOR('o',48,dmx_caps_t) X#define DMX_SET_SOURCE _IOW('o',49,dmx_source_t) X#define DMX_GET_STC _IOWR('o',50,struct dmx_stc) X X#endif /*_DVBDMX_H_*/ X END-of-multimedia/dvbsnoop/files/dmx.h echo x - multimedia/dvbsnoop/files/frontend.h sed 's/^X//' >multimedia/dvbsnoop/files/frontend.h << 'END-of-multimedia/dvbsnoop/files/frontend.h' X/* X * frontend.h X * X * Copyright (C) 2000 Marcus Metzler <marcus@convergence.de> X * Ralph Metzler <ralph@convergence.de> X * Holger Waechtler <holger@convergence.de> X * Andre Draszik <ad@convergence.de> X * for convergence integrated media GmbH X * X * This program is free software; you can redistribute it and/or X * modify it under the terms of the GNU Lesser General Public License X * as published by the Free Software Foundation; either version 2.1 X * of the License, or (at your option) any later version. X * X * This program is distributed in the hope that it will be useful, X * but WITHOUT ANY WARRANTY; without even the implied warranty of X * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the X * GNU General Public License for more details. X * X * You should have received a copy of the GNU Lesser General Public License X * along with this program; if not, write to the Free Software X * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. X * X */ X X#ifndef _DVBFRONTEND_H_ X#define _DVBFRONTEND_H_ X X#ifndef LINUX_TYPES_ADDED X#define LINUX_TYPES_ADDED X#include <sys/types.h> Xtypedef uint64_t __u64; Xtypedef uint32_t __u32; Xtypedef uint16_t __u16; Xtypedef uint8_t __u8; X#endif X X X Xtypedef enum fe_type { X FE_QPSK, X FE_QAM, X FE_OFDM, X FE_ATSC X} fe_type_t; X X Xtypedef enum fe_caps { X FE_IS_STUPID = 0, X FE_CAN_INVERSION_AUTO = 0x1, X FE_CAN_FEC_1_2 = 0x2, X FE_CAN_FEC_2_3 = 0x4, X FE_CAN_FEC_3_4 = 0x8, X FE_CAN_FEC_4_5 = 0x10, X FE_CAN_FEC_5_6 = 0x20, X FE_CAN_FEC_6_7 = 0x40, X FE_CAN_FEC_7_8 = 0x80, X FE_CAN_FEC_8_9 = 0x100, X FE_CAN_FEC_AUTO = 0x200, X FE_CAN_QPSK = 0x400, X FE_CAN_QAM_16 = 0x800, X FE_CAN_QAM_32 = 0x1000, X FE_CAN_QAM_64 = 0x2000, X FE_CAN_QAM_128 = 0x4000, X FE_CAN_QAM_256 = 0x8000, X FE_CAN_QAM_AUTO = 0x10000, X FE_CAN_TRANSMISSION_MODE_AUTO = 0x20000, X FE_CAN_BANDWIDTH_AUTO = 0x40000, X FE_CAN_GUARD_INTERVAL_AUTO = 0x80000, X FE_CAN_HIERARCHY_AUTO = 0x100000, X FE_CAN_8VSB = 0x200000, X FE_CAN_16VSB = 0x400000, X FE_NEEDS_BENDING = 0x20000000, // not supported anymore, don't use (frontend requires frequency bending) X FE_CAN_RECOVER = 0x40000000, // frontend can recover from a cable unplug automatically X FE_CAN_MUTE_TS = 0x80000000 // frontend can stop spurious TS data output X} fe_caps_t; X X Xstruct dvb_frontend_info { X char name[128]; X fe_type_t type; X __u32 frequency_min; X __u32 frequency_max; X __u32 frequency_stepsize; X __u32 frequency_tolerance; X __u32 symbol_rate_min; X __u32 symbol_rate_max; X __u32 symbol_rate_tolerance; /* ppm */ X __u32 notifier_delay; /* DEPRECATED */ X fe_caps_t caps; X}; X X X/** X * Check out the DiSEqC bus spec available on http://www.eutelsat.org/ for X * the meaning of this struct... X */ Xstruct dvb_diseqc_master_cmd { X __u8 msg [6]; /* { framing, address, command, data [3] } */ X __u8 msg_len; /* valid values are 3...6 */ X}; X X Xstruct dvb_diseqc_slave_reply { X __u8 msg [4]; /* { framing, data [3] } */ X __u8 msg_len; /* valid values are 0...4, 0 means no msg */ X int timeout; /* return from ioctl after timeout ms with */ X}; /* errorcode when no message was received */ X X Xtypedef enum fe_sec_voltage { X SEC_VOLTAGE_13, X SEC_VOLTAGE_18, X SEC_VOLTAGE_OFF X} fe_sec_voltage_t; X X Xtypedef enum fe_sec_tone_mode { X SEC_TONE_ON, X SEC_TONE_OFF X} fe_sec_tone_mode_t; X X Xtypedef enum fe_sec_mini_cmd { X SEC_MINI_A, X SEC_MINI_B X} fe_sec_mini_cmd_t; X X Xtypedef enum fe_status { X FE_HAS_SIGNAL = 0x01, /* found something above the noise level */ X FE_HAS_CARRIER = 0x02, /* found a DVB signal */ X FE_HAS_VITERBI = 0x04, /* FEC is stable */ X FE_HAS_SYNC = 0x08, /* found sync bytes */ X FE_HAS_LOCK = 0x10, /* everything's working... */ X FE_TIMEDOUT = 0x20, /* no lock within the last ~2 seconds */ X FE_REINIT = 0x40 /* frontend was reinitialized, */ X} fe_status_t; /* application is recommended to reset */ X /* DiSEqC, tone and parameters */ X Xtypedef enum fe_spectral_inversion { X INVERSION_OFF, X INVERSION_ON, X INVERSION_AUTO X} fe_spectral_inversion_t; X X Xtypedef enum fe_code_rate { X FEC_NONE = 0, X FEC_1_2, X FEC_2_3, X FEC_3_4, X FEC_4_5, X FEC_5_6, X FEC_6_7, X FEC_7_8, X FEC_8_9, X FEC_AUTO X} fe_code_rate_t; X X Xtypedef enum fe_modulation { X QPSK, X QAM_16, X QAM_32, X QAM_64, X QAM_128, X QAM_256, X QAM_AUTO, X VSB_8, X VSB_16 X} fe_modulation_t; X Xtypedef enum fe_transmit_mode { X TRANSMISSION_MODE_2K, X TRANSMISSION_MODE_8K, X TRANSMISSION_MODE_AUTO X} fe_transmit_mode_t; X Xtypedef enum fe_bandwidth { X BANDWIDTH_8_MHZ, X BANDWIDTH_7_MHZ, X BANDWIDTH_6_MHZ, X BANDWIDTH_AUTO X} fe_bandwidth_t; X X Xtypedef enum fe_guard_interval { X GUARD_INTERVAL_1_32, X GUARD_INTERVAL_1_16, X GUARD_INTERVAL_1_8, X GUARD_INTERVAL_1_4, X GUARD_INTERVAL_AUTO X} fe_guard_interval_t; X X Xtypedef enum fe_hierarchy { X HIERARCHY_NONE, X HIERARCHY_1, X HIERARCHY_2, X HIERARCHY_4, X HIERARCHY_AUTO X} fe_hierarchy_t; X X Xstruct dvb_qpsk_parameters { X __u32 symbol_rate; /* symbol rate in Symbols per second */ X fe_code_rate_t fec_inner; /* forward error correction (see above) */ X}; X X Xstruct dvb_qam_parameters { X __u32 symbol_rate; /* symbol rate in Symbols per second */ X fe_code_rate_t fec_inner; /* forward error correction (see above) */ X fe_modulation_t modulation; /* modulation type (see above) */ X}; X Xstruct dvb_vsb_parameters { X fe_modulation_t modulation; /* modulation type (see above) */ X}; X Xstruct dvb_ofdm_parameters { X fe_bandwidth_t bandwidth; X fe_code_rate_t code_rate_HP; /* high priority stream code rate */ X fe_code_rate_t code_rate_LP; /* low priority stream code rate */ X fe_modulation_t constellation; /* modulation type (see above) */ X fe_transmit_mode_t transmission_mode; X fe_guard_interval_t guard_interval; X fe_hierarchy_t hierarchy_information; X}; X X Xstruct dvb_frontend_parameters { X __u32 frequency; /* (absolute) frequency in Hz for QAM/OFDM/ATSC */ X /* intermediate frequency in kHz for QPSK */ X fe_spectral_inversion_t inversion; X union { X struct dvb_qpsk_parameters qpsk; X struct dvb_qam_parameters qam; X struct dvb_ofdm_parameters ofdm; X struct dvb_vsb_parameters vsb; X } u; X}; X X Xstruct dvb_frontend_event { X fe_status_t status; X struct dvb_frontend_parameters parameters; X}; X X X X#define FE_GET_INFO _IOR('o', 61, struct dvb_frontend_info) X X#define FE_DISEQC_RESET_OVERLOAD _IO('o', 62) X#define FE_DISEQC_SEND_MASTER_CMD _IOW('o', 63, struct dvb_diseqc_master_cmd) X#define FE_DISEQC_RECV_SLAVE_REPLY _IOR('o', 64, struct dvb_diseqc_slave_reply) X#define FE_DISEQC_SEND_BURST _IO('o', 65) /* fe_sec_mini_cmd_t */ X X#define FE_SET_TONE _IO('o', 66) /* fe_sec_tone_mode_t */ X#define FE_SET_VOLTAGE _IO('o', 67) /* fe_sec_voltage_t */ X#define FE_ENABLE_HIGH_LNB_VOLTAGE _IO('o', 68) /* int */ X X#define FE_READ_STATUS _IOR('o', 69, fe_status_t) X#define FE_READ_BER _IOR('o', 70, __u32) X#define FE_READ_SIGNAL_STRENGTH _IOR('o', 71, __u16) X#define FE_READ_SNR _IOR('o', 72, __u16) X#define FE_READ_UNCORRECTED_BLOCKS _IOR('o', 73, __u32) X X#define FE_SET_FRONTEND _IOW('o', 76, struct dvb_frontend_parameters) X#define FE_GET_FRONTEND _IOR('o', 77, struct dvb_frontend_parameters) X#define FE_GET_EVENT _IOR('o', 78, struct dvb_frontend_event) X X#define FE_DISHNETWORK_SEND_LEGACY_CMD _IO('o', 80) /* unsigned int */ X X X#endif /*_DVBFRONTEND_H_*/ X END-of-multimedia/dvbsnoop/files/frontend.h echo x - multimedia/dvbsnoop/files/patch-src-dvbsnoop.h sed 's/^X//' >multimedia/dvbsnoop/files/patch-src-dvbsnoop.h << 'END-of-multimedia/dvbsnoop/files/patch-src-dvbsnoop.h' X--- src/dvbsnoop.h.orig 2005-09-09 10:20:30.000000000 -0400 X+++ src/dvbsnoop.h 2009-01-12 18:05:11.000000000 -0500 X@@ -112,6 +112,7 @@ X #include <string.h> X #include <time.h> X #include <ctype.h> X+#include <sys/types.h> X X #include "version.h" X #include "misc/helper.h" END-of-multimedia/dvbsnoop/files/patch-src-dvbsnoop.h exit >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200901132124.n0DLOtul060498>