aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlioux <lioux@FreeBSD.org>2004-07-11 06:47:59 +0800
committerlioux <lioux@FreeBSD.org>2004-07-11 06:47:59 +0800
commitf469661f65333a1c5feb0b890a9c11b86050dee9 (patch)
tree2a3854b90b6062138a05bf5997fbbf1b52951e3d
parent1a781737180c47992fa22ca42ccf76adbd48bf07 (diff)
downloadfreebsd-ports-gnome-f469661f65333a1c5feb0b890a9c11b86050dee9.tar.gz
freebsd-ports-gnome-f469661f65333a1c5feb0b890a9c11b86050dee9.tar.zst
freebsd-ports-gnome-f469661f65333a1c5feb0b890a9c11b86050dee9.zip
o Add VCD plugin [1]
- take bsdi_dvd.h from mplayer which now lies on FILESDIR - MD5 (MPlayer-1.0pre4.tar.bz2) = 83ebac0f05b192516a41fca2350ca01 o Add WITH_CDROM_DEVICE to allow one to pick the CDROM device [1] o Add WITH_DVD_DEVICE to allow one to pick the DVD device [1] o Add mpeg2enc plugin which depends on multimedia/mjpegtools port o Really install KDE kio support WITH_KIO. This required some CONFIGURE_ENV hacking o Make sure plugins build/install even if PREFIX != {LOCAL,X11}BASE. This required hackery called EXTRA_BUILD_DIR. Check port's Makefile for more information. This fixed both vcd and modplug plugins o Bump PORTREVISION due to PLIST change since VCD plugin is built per default PR: 65451 [1] Submitted by: michael johnson <ahze@ahze.net> [1] Reviewed by: marcus, vs, michael johnson <ahze@ahze.net>
-rw-r--r--multimedia/gstreamer-plugins/Makefile119
-rw-r--r--multimedia/gstreamer-plugins/files/bsdi_dvd.h340
-rw-r--r--multimedia/gstreamer-plugins/pkg-plist2
-rw-r--r--multimedia/gstreamer-plugins80/Makefile119
-rw-r--r--multimedia/gstreamer-plugins80/files/bsdi_dvd.h340
-rw-r--r--multimedia/gstreamer-plugins80/pkg-plist2
6 files changed, 898 insertions, 24 deletions
diff --git a/multimedia/gstreamer-plugins/Makefile b/multimedia/gstreamer-plugins/Makefile
index c38577efdb8a..895596e0f43f 100644
--- a/multimedia/gstreamer-plugins/Makefile
+++ b/multimedia/gstreamer-plugins/Makefile
@@ -7,6 +7,7 @@
PORTNAME= gstreamer
PORTVERSION= 0.8.2
+PORTREVISION= 1
CATEGORIES= multimedia audio
MASTER_SITES= ${MASTER_SITE_GNOME} \
http://gstreamer.freedesktop.org/src/gst-plugins/
@@ -34,7 +35,6 @@ GNU_CONFIGURE= yes
CONFIGURE_ARGS= --disable-tests \
--disable-alsa \
--enable-cdrom \
- --disable-mjpegtools \
--disable-divx \
--disable-dxr3 \
--disable-http \
@@ -42,7 +42,6 @@ CONFIGURE_ARGS= --disable-tests \
--disable-raw1394 \
--disable-v4l2 \
--disable-v4l \
- --disable-vcd \
--disable-dependency-tracking \
--enable-xshm \
--enable-static
@@ -79,6 +78,19 @@ GST_VERSION=${PORTVERSION:C/..$//}
# library minor number
SHLIB_VERSION= 1
+## Additional directories which should be both built and installed
+## but configure neglected to correctly identify them
+# cdrom/vcd support
+EXTRA_BUILD_DIR+= sys/vcd
+# modplug
+EXTRA_BUILD_DIR+= gst/modplug
+
+post-extract:
+# for cdrom/vcd support
+# taken from mplayer distfile
+# MD5 (MPlayer-1.0pre4.tar.bz2) = 83ebac0f05b192516a41fca2350ca01a
+ @${CP} ${FILESDIR}/bsdi_dvd.h ${WRKSRC}/sys/vcd/
+
post-patch:
# as of this writing, FreeBSD does not support lrint* C99 math functions
@${REINPLACE_CMD} -E -e \
@@ -93,10 +105,6 @@ post-patch:
@${REINPLACE_CMD} -E -e \
's|(mcopidl.+)(\$$<)(.+)$$|\1 \3 \2|' \
${WRKSRC}/ext/arts/Makefile.in
-# no linux/cdrom.h
- @${REINPLACE_CMD} -E -e \
- 's|^#include[[:space:]]+.+linux/cdrom\.h.*$$||' \
- ${WRKSRC}/ext/dvdread/dvdreadsrc.c
# malloc.h was deprecated in favor of stdlib.h
# inttypes.h not stdint.h
@${FIND} ${WRKSRC} -type f | \
@@ -107,10 +115,25 @@ post-patch:
@${REINPLACE_CMD} -E -e \
's|^.*afOpenVirtualFile[[:space:]]*\(\);|;|' \
${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
-
-post-install:
-# register plugins
- -@${X11BASE}/bin/gst-register-${GST_VERSION} 2>/dev/null
+# cdrom default device
+ @${REINPLACE_CMD} -e 's|/dev/cdrom|${DEFAULT_CDROM_DEVICE}|' \
+ ${WRKSRC}/ext/cdparanoia/gstcdparanoia.c \
+ ${WRKSRC}/sys/cdrom/gstcdplayer.c \
+ ${WRKSRC}/sys/vcd/vcdsrc.c
+# dvd default device
+ @${REINPLACE_CMD} -e 's|/dev/dvd|${DEFAULT_DVD_DEVICE}|' \
+ ${WRKSRC}/ext/dvdnav/dvdnavsrc.c \
+ ${WRKSRC}/ext/dvdread/dvdreadsrc.c
+# cdrom/vcd support
+ @${REINPLACE_CMD} -e 's|<linux/cdrom.h>|"bsdi_dvd.h"|' \
+ ${WRKSRC}/sys/cdrom/gstcdplayer_ioctl.c \
+ ${WRKSRC}/sys/vcd/vcdsrc.c \
+ ${WRKSRC}/sys/vcd/vcdsrc.h
+# KDE libkio required thread support
+ ${REINPLACE_CMD} -E \
+ -e 's|(KIO_CFLAGS=.+)"$$|\1 ${PTHREAD_CFLAGS}"|' \
+ -e 's|(KIO_LIBS=.+)"$$|\1 ${PTHREAD_LIBS}"|' \
+ ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
.include <bsd.port.pre.mk>
@@ -187,7 +210,7 @@ WITH_JACK=YES
.endif
# KIO
-.if exists(${LOCALBASE}/lib/libkio.a)
+.if exists(${LOCALBASE}/lib/libkio.so)
WITH_KIO=yes
.endif
@@ -286,6 +309,11 @@ WITH_LIBTHEORA=yes
WITH_MAD=yes
.endif
+# mjpegtools
+.if exists(${LOCALBASE}/lib/libmjpegutils.a)
+WITH_MJPEGTOOLS=yes
+.endif
+
# nas
.if exists(${X11BASE}/lib/libaudio.a)
WITH_NAS=YES
@@ -388,6 +416,17 @@ LIB_DEPENDS+= cdda_interface.0:${PORTSDIR}/audio/cdparanoia
PLIST_SUB+= CDPARANOIA=""
.endif
+# cdrom default device
+.ifdef(WITH_CDROM_DEVICE)
+DEFAULT_CDROM_DEVICE=${WITH_CDROM_DEVICE}
+.else
+. if ${OSVERSION} < 500000
+DEFAULT_CDROM_DEVICE=/dev/acd0c
+. else
+DEFAULT_CDROM_DEVICE=/dev/acd0
+. endif
+.endif
+
# dts
.ifndef(WITH_DTS)
CONFIGURE_ARGS+= --disable-dts
@@ -398,6 +437,17 @@ RUN_DEPENDS+= ${LOCALBASE}/lib/libdts_pic.a:${PORTSDIR}/multimedia/libdts
PLIST_SUB+= DTS=""
.endif
+# dvd default device
+.ifdef(WITH_DVD_DEVICE)
+DEFAULT_DVD_DEVICE=${WITH_DVD_DEVICE}
+.else
+. if ${OSVERSION} < 500000
+DEFAULT_DVD_DEVICE=/dev/acd0c
+. else
+DEFAULT_DVD_DEVICE=/dev/acd0
+. endif
+.endif
+
# esound
.ifndef(WITH_ESOUND)
CONFIGURE_ARGS+= --disable-esd \
@@ -484,6 +534,10 @@ CONFIGURE_ARGS+= --disable-kio
PLIST_SUB+= KIO="@comment "
.else
LIB_DEPENDS+= kio.6:${PORTSDIR}/x11/kdelibs3
+
+CONFIGURE_ENV+= KDE_PREFIX="${LOCALBASE}" \
+ KDE_MOC="${X11BASE}/bin/moc" \
+ QTDIR="${X11BASE}"
PLIST_SUB+= KIO=""
.endif
@@ -619,7 +673,6 @@ PLIST_SUB+= LIBMPEG2="@comment "
.else
LIB_DEPENDS+= mpeg2.0:${PORTSDIR}/multimedia/libmpeg2
-CONFIGURE_ARGS+= --with-mpeg2dec-prefix=${LOCALBASE}
PLIST_SUB+= LIBMPEG2=""
.endif
@@ -681,6 +734,20 @@ LIB_DEPENDS+= mad.2:${PORTSDIR}/audio/libmad \
PLIST_SUB+= LIBMAD=""
.endif
+# mjpegtools
+.ifndef(WITH_MJPEGTOOLS)
+CONFIGURE_ARGS+= --disable-mpeg2enc
+PLIST_SUB+= MJPEGTOOLS="@comment "
+.else
+LIB_DEPENDS+= lavjpeg-1.6.2:${PORTSDIR}/multimedia/mjpegtools
+
+# XXX - make sure CONFIGURE works with mpeg2enc even with "ccache
+# c++" ... weird but necessary
+CONFIGURE_ENV+= HAVE_CXX=yes
+
+PLIST_SUB+= MJPEGTOOLS=""
+.endif
+
# nas
.ifndef(WITH_NAS)
CONFIGURE_ARGS+= --disable-nas
@@ -815,6 +882,22 @@ PLIST_SUB+= XVID="@comment "
#PLIST_SUB+= XVID=""
#.endif
+post-build:
+.ifdef(EXTRA_BUILD_DIR)
+. for dir in ${EXTRA_BUILD_DIR}
+ @cd ${WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}
+. endfor
+.endif
+
+post-install:
+.ifdef(EXTRA_BUILD_DIR)
+. for dir in ${EXTRA_BUILD_DIR}
+ @cd ${WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}
+. endfor
+.endif
+# register plugins
+ -@${X11BASE}/bin/gst-register-${GST_VERSION} 2>/dev/null
+
pre-everything::
.ifndef(WITH_AALIB)
@${ECHO_MSG} '===>'
@@ -831,10 +914,22 @@ pre-everything::
@${ECHO_MSG} '===>'
@${ECHO_MSG} '===> Define WITH_CDPARANOIA to enable cdparanoia Audio plugin'
.endif
+.ifndef(WITH_CDROM_DEVICE)
+ @${ECHO_MSG} '===>'
+ @${ECHO_MSG} '===> The default CDROM device is ${DEFAULT_CDROM_DEVICE}'
+ @${ECHO_MSG} '===> Define WITH_CDROM_DEVICE if you want to change the default'
+ @${ECHO_MSG} '===> For example, make WITH_CDROM_DEVICE="/dev/somedevice"'
+.endif
.ifndef(WITH_DTS)
@${ECHO_MSG} '===>'
@${ECHO_MSG} '===> Define WITH_DTS to enable DTS decoding support'
.endif
+.ifndef(WITH_DVD_DEVICE)
+ @${ECHO_MSG} '===>'
+ @${ECHO_MSG} '===> The default DVD device is ${DEFAULT_DVD_DEVICE}'
+ @${ECHO_MSG} '===> Define WITH_DVD_DEVICE if you want to change the default'
+ @${ECHO_MSG} '===> For example, make WITH_DVD_DEVICE="/dev/somedevice"'
+.endif
.ifndef(WITH_ESOUND)
@${ECHO_MSG} '===>'
@${ECHO_MSG} '===> Define WITH_ESOUND to enable esound Audio plugin'
diff --git a/multimedia/gstreamer-plugins/files/bsdi_dvd.h b/multimedia/gstreamer-plugins/files/bsdi_dvd.h
new file mode 100644
index 000000000000..ff61ebd252f6
--- /dev/null
+++ b/multimedia/gstreamer-plugins/files/bsdi_dvd.h
@@ -0,0 +1,340 @@
+#ifndef _DVD_H_
+#define _DVD_H_
+
+#include <sys/cdefs.h>
+#include <machine/endian.h>
+#include <sys/ioctl.h>
+
+__BEGIN_DECLS
+int dvd_cdrom_ioctl(int, unsigned long, void *);
+int cdrom_blocksize(int, int);
+void dvd_cdrom_debug(int);
+__END_DECLS
+
+#define ioctl(a,b,c) dvd_cdrom_ioctl((a),(b),(c))
+
+typedef unsigned char __u8;
+typedef unsigned short __u16;
+typedef unsigned int __u32;
+
+#define DVD_READ_STRUCT 0x5390 /* Read structure */
+#define DVD_WRITE_STRUCT 0x5391 /* Write structure */
+#define DVD_AUTH 0x5392 /* Authentication */
+
+#define DVD_STRUCT_PHYSICAL 0x00
+#define DVD_STRUCT_COPYRIGHT 0x01
+#define DVD_STRUCT_DISCKEY 0x02
+#define DVD_STRUCT_BCA 0x03
+#define DVD_STRUCT_MANUFACT 0x04
+
+struct dvd_layer {
+ __u8 book_version : 4;
+ __u8 book_type : 4;
+ __u8 min_rate : 4;
+ __u8 disc_size : 4;
+ __u8 layer_type : 4;
+ __u8 track_path : 1;
+ __u8 nlayers : 2;
+ __u8 track_density : 4;
+ __u8 linear_density : 4;
+ __u8 bca : 1;
+ __u32 start_sector;
+ __u32 end_sector;
+ __u32 end_sector_l0;
+};
+
+struct dvd_physical {
+ __u8 type;
+ __u8 layer_num;
+ struct dvd_layer layer[4];
+};
+
+struct dvd_copyright {
+ __u8 type;
+
+ __u8 layer_num;
+ __u8 cpst;
+ __u8 rmi;
+};
+
+struct dvd_disckey {
+ __u8 type;
+
+ unsigned agid : 2;
+ __u8 value[2048];
+};
+
+struct dvd_bca {
+ __u8 type;
+
+ int len;
+ __u8 value[188];
+};
+
+struct dvd_manufact {
+ __u8 type;
+
+ __u8 layer_num;
+ int len;
+ __u8 value[2048];
+};
+
+typedef union {
+ __u8 type;
+
+ struct dvd_physical physical;
+ struct dvd_copyright copyright;
+ struct dvd_disckey disckey;
+ struct dvd_bca bca;
+ struct dvd_manufact manufact;
+} dvd_struct;
+
+/*
+ * DVD authentication ioctl
+ */
+
+/* Authentication states */
+#define DVD_LU_SEND_AGID 0
+#define DVD_HOST_SEND_CHALLENGE 1
+#define DVD_LU_SEND_KEY1 2
+#define DVD_LU_SEND_CHALLENGE 3
+#define DVD_HOST_SEND_KEY2 4
+
+/* Termination states */
+#define DVD_AUTH_ESTABLISHED 5
+#define DVD_AUTH_FAILURE 6
+
+/* Other functions */
+#define DVD_LU_SEND_TITLE_KEY 7
+#define DVD_LU_SEND_ASF 8
+#define DVD_INVALIDATE_AGID 9
+#define DVD_LU_SEND_RPC_STATE 10
+#define DVD_HOST_SEND_RPC_STATE 11
+
+/* State data */
+typedef __u8 dvd_key[5]; /* 40-bit value, MSB is first elem. */
+typedef __u8 dvd_challenge[10]; /* 80-bit value, MSB is first elem. */
+
+struct dvd_lu_send_agid {
+ __u8 type;
+ unsigned agid : 2;
+};
+
+struct dvd_host_send_challenge {
+ __u8 type;
+ unsigned agid : 2;
+
+ dvd_challenge chal;
+};
+
+struct dvd_send_key {
+ __u8 type;
+ unsigned agid : 2;
+
+ dvd_key key;
+};
+
+struct dvd_lu_send_challenge {
+ __u8 type;
+ unsigned agid : 2;
+
+ dvd_challenge chal;
+};
+
+#define DVD_CPM_NO_COPYRIGHT 0
+#define DVD_CPM_COPYRIGHTED 1
+
+#define DVD_CP_SEC_NONE 0
+#define DVD_CP_SEC_EXIST 1
+
+#define DVD_CGMS_UNRESTRICTED 0
+#define DVD_CGMS_SINGLE 2
+#define DVD_CGMS_RESTRICTED 3
+
+struct dvd_lu_send_title_key {
+ __u8 type;
+ unsigned agid : 2;
+
+ dvd_key title_key;
+ int lba;
+ unsigned cpm : 1;
+ unsigned cp_sec : 1;
+ unsigned cgms : 2;
+};
+
+struct dvd_lu_send_asf {
+ __u8 type;
+ unsigned agid : 2;
+
+ unsigned asf : 1;
+};
+
+struct dvd_host_send_rpcstate {
+ __u8 type;
+ __u8 pdrc;
+};
+
+struct dvd_lu_send_rpcstate {
+ __u8 type : 2;
+ __u8 vra : 3;
+ __u8 ucca : 3;
+ __u8 region_mask;
+ __u8 rpc_scheme;
+};
+
+typedef union {
+ __u8 type;
+
+ struct dvd_lu_send_agid lsa;
+ struct dvd_host_send_challenge hsc;
+ struct dvd_send_key lsk;
+ struct dvd_lu_send_challenge lsc;
+ struct dvd_send_key hsk;
+ struct dvd_lu_send_title_key lstk;
+ struct dvd_lu_send_asf lsasf;
+ struct dvd_host_send_rpcstate hrpcs;
+ struct dvd_lu_send_rpcstate lrpcs;
+} dvd_authinfo;
+
+
+typedef struct {
+ __u16 report_key_length;
+ __u8 reserved1;
+ __u8 reserved2;
+#if BYTE_ORDER == BIG_ENDIAN
+ __u8 type_code : 2;
+ __u8 vra : 3;
+ __u8 ucca : 3;
+#elif BYTE_ORDER == LITTLE_ENDIAN
+ __u8 ucca : 3;
+ __u8 vra : 3;
+ __u8 type_code : 2;
+#endif
+ __u8 region_mask;
+ __u8 rpc_scheme;
+ __u8 reserved3;
+} rpc_state_t;
+
+/*
+ * Stuff for the CDROM ioctls
+*/
+
+#define CDROMREADTOCHDR 0x5305 /* Read TOC header (cdrom_tochdr) */
+#define CDROMREADTOCENTRY 0x5306 /* Read TOC entry (cdrom_tocentry) */
+#define CDROMEJECT 0x5309 /* Ejects the cdrom media */
+#define CDROMCLOSETRAY 0x5319 /* Reverse of CDROMEJECT */
+#define CDROM_DRIVE_STATUS 0x5326 /* Get tray position, etc. */
+#define CDROM_DISC_STATUS 0x5327 /* Get disc type, etc. */
+#define CDROMREADMODE2 0x530c /* Read CDROM mode 2 data (2336 Bytes) */
+#define CDROMREADMODE1 0x530d /* Read CDROM mode 1 data (2048 Bytes) */
+#define CDROMREADRAW 0x5314 /* read data in raw mode (2352 bytes) */
+
+#define CD_MINS 74 /* max. minutes per CD, not really a limit */
+#define CD_SECS 60 /* seconds per minute */
+#define CD_FRAMES 75 /* frames per second */
+#define CD_MSF_OFFSET 150 /* MSF numbering offset of first frame */
+
+#define CD_HEAD_SIZE 4 /* header (address) bytes per raw data frame */
+#define CD_SYNC_SIZE 12 /* 12 sync bytes per raw data frame */
+#define CD_FRAMESIZE 2048 /* bytes per frame, "cooked" mode */
+#define CD_FRAMESIZE_RAW 2352 /* bytes per frame, "raw" mode */
+#define CD_FRAMESIZE_RAW0 (CD_FRAMESIZE_RAW-CD_SYNC_SIZE-CD_HEAD_SIZE) /*2336*/
+#define CD_FRAMESIZE_RAW1 (CD_FRAMESIZE_RAW-CD_SYNC_SIZE) /*2340*/
+
+/* CD-ROM address types (cdrom_tocentry.cdte_format) */
+#define CDROM_LBA 0x01 /* logical block: first frame is #0 */
+#define CDROM_MSF 0x02 /* minute-second-frame: binary. not bcd here!*/
+
+/* bit to tell whether track is data or audio (cdrom_tocentry.cdte_ctrl) */
+#define CDROM_DATA_TRACK 0x04
+
+/* The leadout track is always 0xAA, regardless of # of tracks on disc */
+#define CDROM_LEADOUT 0xAA
+
+/* drive status returned by CDROM_DRIVE_STATUS ioctl */
+#define CDS_NO_INFO 0 /* if not implemented */
+#define CDS_NO_DISC 1
+#define CDS_TRAY_OPEN 2
+#define CDS_DRIVE_NOT_READY 3
+#define CDS_DISC_OK 4
+
+/*
+ * Return values for CDROM_DISC_STATUS ioctl.
+ * Can also return CDS_NO_INFO and CDS_NO_DISC from above
+*/
+#define CDS_AUDIO 100
+#define CDS_DATA_1 101
+#define CDS_DATA_2 102
+#define CDS_XA_2_1 103
+#define CDS_XA_2_2 104
+#define CDS_MIXED 105
+
+/* For compile compatibility only - we don't support changers */
+#define CDSL_NONE ((int) (~0U>>1)-1)
+#define CDSL_CURRENT ((int) (~0U>>1))
+
+struct cdrom_msf
+{
+ __u8 cdmsf_min0; /* start minute */
+ __u8 cdmsf_sec0; /* start second */
+ __u8 cdmsf_frame0; /* start frame */
+ __u8 cdmsf_min1; /* end minute */
+ __u8 cdmsf_sec1; /* end second */
+ __u8 cdmsf_frame1; /* end frame */
+};
+
+struct cdrom_tochdr
+ {
+ __u8 cdth_trk0; /* start track */
+ __u8 cdth_trk1; /* end track */
+ };
+
+struct cdrom_msf0
+{
+ __u8 minute;
+ __u8 second;
+ __u8 frame;
+};
+
+union cdrom_addr
+{
+ struct cdrom_msf0 msf;
+ int lba;
+};
+
+struct cdrom_tocentry
+{
+ __u8 cdte_track;
+ __u8 cdte_adr :4;
+ __u8 cdte_ctrl :4;
+ __u8 cdte_format;
+ union cdrom_addr cdte_addr;
+ __u8 cdte_datamode;
+};
+
+struct modesel_head
+{
+ __u8 reserved1;
+ __u8 medium;
+ __u8 reserved2;
+ __u8 block_desc_length;
+ __u8 density;
+ __u8 number_of_blocks_hi;
+ __u8 number_of_blocks_med;
+ __u8 number_of_blocks_lo;
+ __u8 reserved3;
+ __u8 block_length_hi;
+ __u8 block_length_med;
+ __u8 block_length_lo;
+};
+
+typedef struct
+{
+ int data;
+ int audio;
+ int cdi;
+ int xa;
+ int error;
+} tracktype;
+
+#endif /* _DVD_H_ */
diff --git a/multimedia/gstreamer-plugins/pkg-plist b/multimedia/gstreamer-plugins/pkg-plist
index da2d3a74eeb5..6a0c14924d96 100644
--- a/multimedia/gstreamer-plugins/pkg-plist
+++ b/multimedia/gstreamer-plugins/pkg-plist
@@ -98,6 +98,7 @@ lib/gstreamer-%%VERSION%%/libgstmonoscope.so
lib/gstreamer-%%VERSION%%/libgstmp1videoparse.so
lib/gstreamer-%%VERSION%%/libgstmpeg1systemencode.so
%%LIBMPEG2%%lib/gstreamer-%%VERSION%%/libgstmpeg2dec.so
+%%MJPEGTOOLS%%lib/gstreamer-%%VERSION%%/libgstmpeg2enc.so
lib/gstreamer-%%VERSION%%/libgstmpeg2subt.so
lib/gstreamer-%%VERSION%%/libgstmpegaudio.so
lib/gstreamer-%%VERSION%%/libgstmpegaudioparse.so
@@ -145,6 +146,7 @@ lib/gstreamer-%%VERSION%%/libgsttimeoverlay.so
lib/gstreamer-%%VERSION%%/libgsttypefindfunctions.so
lib/gstreamer-%%VERSION%%/libgstudp.so
lib/gstreamer-%%VERSION%%/libgstvbidec.so
+lib/gstreamer-%%VERSION%%/libgstvcdsrc.so
lib/gstreamer-%%VERSION%%/libgstvideo.so
lib/gstreamer-%%VERSION%%/libgstvideobalance.so
lib/gstreamer-%%VERSION%%/libgstvideobox.so
diff --git a/multimedia/gstreamer-plugins80/Makefile b/multimedia/gstreamer-plugins80/Makefile
index c38577efdb8a..895596e0f43f 100644
--- a/multimedia/gstreamer-plugins80/Makefile
+++ b/multimedia/gstreamer-plugins80/Makefile
@@ -7,6 +7,7 @@
PORTNAME= gstreamer
PORTVERSION= 0.8.2
+PORTREVISION= 1
CATEGORIES= multimedia audio
MASTER_SITES= ${MASTER_SITE_GNOME} \
http://gstreamer.freedesktop.org/src/gst-plugins/
@@ -34,7 +35,6 @@ GNU_CONFIGURE= yes
CONFIGURE_ARGS= --disable-tests \
--disable-alsa \
--enable-cdrom \
- --disable-mjpegtools \
--disable-divx \
--disable-dxr3 \
--disable-http \
@@ -42,7 +42,6 @@ CONFIGURE_ARGS= --disable-tests \
--disable-raw1394 \
--disable-v4l2 \
--disable-v4l \
- --disable-vcd \
--disable-dependency-tracking \
--enable-xshm \
--enable-static
@@ -79,6 +78,19 @@ GST_VERSION=${PORTVERSION:C/..$//}
# library minor number
SHLIB_VERSION= 1
+## Additional directories which should be both built and installed
+## but configure neglected to correctly identify them
+# cdrom/vcd support
+EXTRA_BUILD_DIR+= sys/vcd
+# modplug
+EXTRA_BUILD_DIR+= gst/modplug
+
+post-extract:
+# for cdrom/vcd support
+# taken from mplayer distfile
+# MD5 (MPlayer-1.0pre4.tar.bz2) = 83ebac0f05b192516a41fca2350ca01a
+ @${CP} ${FILESDIR}/bsdi_dvd.h ${WRKSRC}/sys/vcd/
+
post-patch:
# as of this writing, FreeBSD does not support lrint* C99 math functions
@${REINPLACE_CMD} -E -e \
@@ -93,10 +105,6 @@ post-patch:
@${REINPLACE_CMD} -E -e \
's|(mcopidl.+)(\$$<)(.+)$$|\1 \3 \2|' \
${WRKSRC}/ext/arts/Makefile.in
-# no linux/cdrom.h
- @${REINPLACE_CMD} -E -e \
- 's|^#include[[:space:]]+.+linux/cdrom\.h.*$$||' \
- ${WRKSRC}/ext/dvdread/dvdreadsrc.c
# malloc.h was deprecated in favor of stdlib.h
# inttypes.h not stdint.h
@${FIND} ${WRKSRC} -type f | \
@@ -107,10 +115,25 @@ post-patch:
@${REINPLACE_CMD} -E -e \
's|^.*afOpenVirtualFile[[:space:]]*\(\);|;|' \
${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
-
-post-install:
-# register plugins
- -@${X11BASE}/bin/gst-register-${GST_VERSION} 2>/dev/null
+# cdrom default device
+ @${REINPLACE_CMD} -e 's|/dev/cdrom|${DEFAULT_CDROM_DEVICE}|' \
+ ${WRKSRC}/ext/cdparanoia/gstcdparanoia.c \
+ ${WRKSRC}/sys/cdrom/gstcdplayer.c \
+ ${WRKSRC}/sys/vcd/vcdsrc.c
+# dvd default device
+ @${REINPLACE_CMD} -e 's|/dev/dvd|${DEFAULT_DVD_DEVICE}|' \
+ ${WRKSRC}/ext/dvdnav/dvdnavsrc.c \
+ ${WRKSRC}/ext/dvdread/dvdreadsrc.c
+# cdrom/vcd support
+ @${REINPLACE_CMD} -e 's|<linux/cdrom.h>|"bsdi_dvd.h"|' \
+ ${WRKSRC}/sys/cdrom/gstcdplayer_ioctl.c \
+ ${WRKSRC}/sys/vcd/vcdsrc.c \
+ ${WRKSRC}/sys/vcd/vcdsrc.h
+# KDE libkio required thread support
+ ${REINPLACE_CMD} -E \
+ -e 's|(KIO_CFLAGS=.+)"$$|\1 ${PTHREAD_CFLAGS}"|' \
+ -e 's|(KIO_LIBS=.+)"$$|\1 ${PTHREAD_LIBS}"|' \
+ ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
.include <bsd.port.pre.mk>
@@ -187,7 +210,7 @@ WITH_JACK=YES
.endif
# KIO
-.if exists(${LOCALBASE}/lib/libkio.a)
+.if exists(${LOCALBASE}/lib/libkio.so)
WITH_KIO=yes
.endif
@@ -286,6 +309,11 @@ WITH_LIBTHEORA=yes
WITH_MAD=yes
.endif
+# mjpegtools
+.if exists(${LOCALBASE}/lib/libmjpegutils.a)
+WITH_MJPEGTOOLS=yes
+.endif
+
# nas
.if exists(${X11BASE}/lib/libaudio.a)
WITH_NAS=YES
@@ -388,6 +416,17 @@ LIB_DEPENDS+= cdda_interface.0:${PORTSDIR}/audio/cdparanoia
PLIST_SUB+= CDPARANOIA=""
.endif
+# cdrom default device
+.ifdef(WITH_CDROM_DEVICE)
+DEFAULT_CDROM_DEVICE=${WITH_CDROM_DEVICE}
+.else
+. if ${OSVERSION} < 500000
+DEFAULT_CDROM_DEVICE=/dev/acd0c
+. else
+DEFAULT_CDROM_DEVICE=/dev/acd0
+. endif
+.endif
+
# dts
.ifndef(WITH_DTS)
CONFIGURE_ARGS+= --disable-dts
@@ -398,6 +437,17 @@ RUN_DEPENDS+= ${LOCALBASE}/lib/libdts_pic.a:${PORTSDIR}/multimedia/libdts
PLIST_SUB+= DTS=""
.endif
+# dvd default device
+.ifdef(WITH_DVD_DEVICE)
+DEFAULT_DVD_DEVICE=${WITH_DVD_DEVICE}
+.else
+. if ${OSVERSION} < 500000
+DEFAULT_DVD_DEVICE=/dev/acd0c
+. else
+DEFAULT_DVD_DEVICE=/dev/acd0
+. endif
+.endif
+
# esound
.ifndef(WITH_ESOUND)
CONFIGURE_ARGS+= --disable-esd \
@@ -484,6 +534,10 @@ CONFIGURE_ARGS+= --disable-kio
PLIST_SUB+= KIO="@comment "
.else
LIB_DEPENDS+= kio.6:${PORTSDIR}/x11/kdelibs3
+
+CONFIGURE_ENV+= KDE_PREFIX="${LOCALBASE}" \
+ KDE_MOC="${X11BASE}/bin/moc" \
+ QTDIR="${X11BASE}"
PLIST_SUB+= KIO=""
.endif
@@ -619,7 +673,6 @@ PLIST_SUB+= LIBMPEG2="@comment "
.else
LIB_DEPENDS+= mpeg2.0:${PORTSDIR}/multimedia/libmpeg2
-CONFIGURE_ARGS+= --with-mpeg2dec-prefix=${LOCALBASE}
PLIST_SUB+= LIBMPEG2=""
.endif
@@ -681,6 +734,20 @@ LIB_DEPENDS+= mad.2:${PORTSDIR}/audio/libmad \
PLIST_SUB+= LIBMAD=""
.endif
+# mjpegtools
+.ifndef(WITH_MJPEGTOOLS)
+CONFIGURE_ARGS+= --disable-mpeg2enc
+PLIST_SUB+= MJPEGTOOLS="@comment "
+.else
+LIB_DEPENDS+= lavjpeg-1.6.2:${PORTSDIR}/multimedia/mjpegtools
+
+# XXX - make sure CONFIGURE works with mpeg2enc even with "ccache
+# c++" ... weird but necessary
+CONFIGURE_ENV+= HAVE_CXX=yes
+
+PLIST_SUB+= MJPEGTOOLS=""
+.endif
+
# nas
.ifndef(WITH_NAS)
CONFIGURE_ARGS+= --disable-nas
@@ -815,6 +882,22 @@ PLIST_SUB+= XVID="@comment "
#PLIST_SUB+= XVID=""
#.endif
+post-build:
+.ifdef(EXTRA_BUILD_DIR)
+. for dir in ${EXTRA_BUILD_DIR}
+ @cd ${WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}
+. endfor
+.endif
+
+post-install:
+.ifdef(EXTRA_BUILD_DIR)
+. for dir in ${EXTRA_BUILD_DIR}
+ @cd ${WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}
+. endfor
+.endif
+# register plugins
+ -@${X11BASE}/bin/gst-register-${GST_VERSION} 2>/dev/null
+
pre-everything::
.ifndef(WITH_AALIB)
@${ECHO_MSG} '===>'
@@ -831,10 +914,22 @@ pre-everything::
@${ECHO_MSG} '===>'
@${ECHO_MSG} '===> Define WITH_CDPARANOIA to enable cdparanoia Audio plugin'
.endif
+.ifndef(WITH_CDROM_DEVICE)
+ @${ECHO_MSG} '===>'
+ @${ECHO_MSG} '===> The default CDROM device is ${DEFAULT_CDROM_DEVICE}'
+ @${ECHO_MSG} '===> Define WITH_CDROM_DEVICE if you want to change the default'
+ @${ECHO_MSG} '===> For example, make WITH_CDROM_DEVICE="/dev/somedevice"'
+.endif
.ifndef(WITH_DTS)
@${ECHO_MSG} '===>'
@${ECHO_MSG} '===> Define WITH_DTS to enable DTS decoding support'
.endif
+.ifndef(WITH_DVD_DEVICE)
+ @${ECHO_MSG} '===>'
+ @${ECHO_MSG} '===> The default DVD device is ${DEFAULT_DVD_DEVICE}'
+ @${ECHO_MSG} '===> Define WITH_DVD_DEVICE if you want to change the default'
+ @${ECHO_MSG} '===> For example, make WITH_DVD_DEVICE="/dev/somedevice"'
+.endif
.ifndef(WITH_ESOUND)
@${ECHO_MSG} '===>'
@${ECHO_MSG} '===> Define WITH_ESOUND to enable esound Audio plugin'
diff --git a/multimedia/gstreamer-plugins80/files/bsdi_dvd.h b/multimedia/gstreamer-plugins80/files/bsdi_dvd.h
new file mode 100644
index 000000000000..ff61ebd252f6
--- /dev/null
+++ b/multimedia/gstreamer-plugins80/files/bsdi_dvd.h
@@ -0,0 +1,340 @@
+#ifndef _DVD_H_
+#define _DVD_H_
+
+#include <sys/cdefs.h>
+#include <machine/endian.h>
+#include <sys/ioctl.h>
+
+__BEGIN_DECLS
+int dvd_cdrom_ioctl(int, unsigned long, void *);
+int cdrom_blocksize(int, int);
+void dvd_cdrom_debug(int);
+__END_DECLS
+
+#define ioctl(a,b,c) dvd_cdrom_ioctl((a),(b),(c))
+
+typedef unsigned char __u8;
+typedef unsigned short __u16;
+typedef unsigned int __u32;
+
+#define DVD_READ_STRUCT 0x5390 /* Read structure */
+#define DVD_WRITE_STRUCT 0x5391 /* Write structure */
+#define DVD_AUTH 0x5392 /* Authentication */
+
+#define DVD_STRUCT_PHYSICAL 0x00
+#define DVD_STRUCT_COPYRIGHT 0x01
+#define DVD_STRUCT_DISCKEY 0x02
+#define DVD_STRUCT_BCA 0x03
+#define DVD_STRUCT_MANUFACT 0x04
+
+struct dvd_layer {
+ __u8 book_version : 4;
+ __u8 book_type : 4;
+ __u8 min_rate : 4;
+ __u8 disc_size : 4;
+ __u8 layer_type : 4;
+ __u8 track_path : 1;
+ __u8 nlayers : 2;
+ __u8 track_density : 4;
+ __u8 linear_density : 4;
+ __u8 bca : 1;
+ __u32 start_sector;
+ __u32 end_sector;
+ __u32 end_sector_l0;
+};
+
+struct dvd_physical {
+ __u8 type;
+ __u8 layer_num;
+ struct dvd_layer layer[4];
+};
+
+struct dvd_copyright {
+ __u8 type;
+
+ __u8 layer_num;
+ __u8 cpst;
+ __u8 rmi;
+};
+
+struct dvd_disckey {
+ __u8 type;
+
+ unsigned agid : 2;
+ __u8 value[2048];
+};
+
+struct dvd_bca {
+ __u8 type;
+
+ int len;
+ __u8 value[188];
+};
+
+struct dvd_manufact {
+ __u8 type;
+
+ __u8 layer_num;
+ int len;
+ __u8 value[2048];
+};
+
+typedef union {
+ __u8 type;
+
+ struct dvd_physical physical;
+ struct dvd_copyright copyright;
+ struct dvd_disckey disckey;
+ struct dvd_bca bca;
+ struct dvd_manufact manufact;
+} dvd_struct;
+
+/*
+ * DVD authentication ioctl
+ */
+
+/* Authentication states */
+#define DVD_LU_SEND_AGID 0
+#define DVD_HOST_SEND_CHALLENGE 1
+#define DVD_LU_SEND_KEY1 2
+#define DVD_LU_SEND_CHALLENGE 3
+#define DVD_HOST_SEND_KEY2 4
+
+/* Termination states */
+#define DVD_AUTH_ESTABLISHED 5
+#define DVD_AUTH_FAILURE 6
+
+/* Other functions */
+#define DVD_LU_SEND_TITLE_KEY 7
+#define DVD_LU_SEND_ASF 8
+#define DVD_INVALIDATE_AGID 9
+#define DVD_LU_SEND_RPC_STATE 10
+#define DVD_HOST_SEND_RPC_STATE 11
+
+/* State data */
+typedef __u8 dvd_key[5]; /* 40-bit value, MSB is first elem. */
+typedef __u8 dvd_challenge[10]; /* 80-bit value, MSB is first elem. */
+
+struct dvd_lu_send_agid {
+ __u8 type;
+ unsigned agid : 2;
+};
+
+struct dvd_host_send_challenge {
+ __u8 type;
+ unsigned agid : 2;
+
+ dvd_challenge chal;
+};
+
+struct dvd_send_key {
+ __u8 type;
+ unsigned agid : 2;
+
+ dvd_key key;
+};
+
+struct dvd_lu_send_challenge {
+ __u8 type;
+ unsigned agid : 2;
+
+ dvd_challenge chal;
+};
+
+#define DVD_CPM_NO_COPYRIGHT 0
+#define DVD_CPM_COPYRIGHTED 1
+
+#define DVD_CP_SEC_NONE 0
+#define DVD_CP_SEC_EXIST 1
+
+#define DVD_CGMS_UNRESTRICTED 0
+#define DVD_CGMS_SINGLE 2
+#define DVD_CGMS_RESTRICTED 3
+
+struct dvd_lu_send_title_key {
+ __u8 type;
+ unsigned agid : 2;
+
+ dvd_key title_key;
+ int lba;
+ unsigned cpm : 1;
+ unsigned cp_sec : 1;
+ unsigned cgms : 2;
+};
+
+struct dvd_lu_send_asf {
+ __u8 type;
+ unsigned agid : 2;
+
+ unsigned asf : 1;
+};
+
+struct dvd_host_send_rpcstate {
+ __u8 type;
+ __u8 pdrc;
+};
+
+struct dvd_lu_send_rpcstate {
+ __u8 type : 2;
+ __u8 vra : 3;
+ __u8 ucca : 3;
+ __u8 region_mask;
+ __u8 rpc_scheme;
+};
+
+typedef union {
+ __u8 type;
+
+ struct dvd_lu_send_agid lsa;
+ struct dvd_host_send_challenge hsc;
+ struct dvd_send_key lsk;
+ struct dvd_lu_send_challenge lsc;
+ struct dvd_send_key hsk;
+ struct dvd_lu_send_title_key lstk;
+ struct dvd_lu_send_asf lsasf;
+ struct dvd_host_send_rpcstate hrpcs;
+ struct dvd_lu_send_rpcstate lrpcs;
+} dvd_authinfo;
+
+
+typedef struct {
+ __u16 report_key_length;
+ __u8 reserved1;
+ __u8 reserved2;
+#if BYTE_ORDER == BIG_ENDIAN
+ __u8 type_code : 2;
+ __u8 vra : 3;
+ __u8 ucca : 3;
+#elif BYTE_ORDER == LITTLE_ENDIAN
+ __u8 ucca : 3;
+ __u8 vra : 3;
+ __u8 type_code : 2;
+#endif
+ __u8 region_mask;
+ __u8 rpc_scheme;
+ __u8 reserved3;
+} rpc_state_t;
+
+/*
+ * Stuff for the CDROM ioctls
+*/
+
+#define CDROMREADTOCHDR 0x5305 /* Read TOC header (cdrom_tochdr) */
+#define CDROMREADTOCENTRY 0x5306 /* Read TOC entry (cdrom_tocentry) */
+#define CDROMEJECT 0x5309 /* Ejects the cdrom media */
+#define CDROMCLOSETRAY 0x5319 /* Reverse of CDROMEJECT */
+#define CDROM_DRIVE_STATUS 0x5326 /* Get tray position, etc. */
+#define CDROM_DISC_STATUS 0x5327 /* Get disc type, etc. */
+#define CDROMREADMODE2 0x530c /* Read CDROM mode 2 data (2336 Bytes) */
+#define CDROMREADMODE1 0x530d /* Read CDROM mode 1 data (2048 Bytes) */
+#define CDROMREADRAW 0x5314 /* read data in raw mode (2352 bytes) */
+
+#define CD_MINS 74 /* max. minutes per CD, not really a limit */
+#define CD_SECS 60 /* seconds per minute */
+#define CD_FRAMES 75 /* frames per second */
+#define CD_MSF_OFFSET 150 /* MSF numbering offset of first frame */
+
+#define CD_HEAD_SIZE 4 /* header (address) bytes per raw data frame */
+#define CD_SYNC_SIZE 12 /* 12 sync bytes per raw data frame */
+#define CD_FRAMESIZE 2048 /* bytes per frame, "cooked" mode */
+#define CD_FRAMESIZE_RAW 2352 /* bytes per frame, "raw" mode */
+#define CD_FRAMESIZE_RAW0 (CD_FRAMESIZE_RAW-CD_SYNC_SIZE-CD_HEAD_SIZE) /*2336*/
+#define CD_FRAMESIZE_RAW1 (CD_FRAMESIZE_RAW-CD_SYNC_SIZE) /*2340*/
+
+/* CD-ROM address types (cdrom_tocentry.cdte_format) */
+#define CDROM_LBA 0x01 /* logical block: first frame is #0 */
+#define CDROM_MSF 0x02 /* minute-second-frame: binary. not bcd here!*/
+
+/* bit to tell whether track is data or audio (cdrom_tocentry.cdte_ctrl) */
+#define CDROM_DATA_TRACK 0x04
+
+/* The leadout track is always 0xAA, regardless of # of tracks on disc */
+#define CDROM_LEADOUT 0xAA
+
+/* drive status returned by CDROM_DRIVE_STATUS ioctl */
+#define CDS_NO_INFO 0 /* if not implemented */
+#define CDS_NO_DISC 1
+#define CDS_TRAY_OPEN 2
+#define CDS_DRIVE_NOT_READY 3
+#define CDS_DISC_OK 4
+
+/*
+ * Return values for CDROM_DISC_STATUS ioctl.
+ * Can also return CDS_NO_INFO and CDS_NO_DISC from above
+*/
+#define CDS_AUDIO 100
+#define CDS_DATA_1 101
+#define CDS_DATA_2 102
+#define CDS_XA_2_1 103
+#define CDS_XA_2_2 104
+#define CDS_MIXED 105
+
+/* For compile compatibility only - we don't support changers */
+#define CDSL_NONE ((int) (~0U>>1)-1)
+#define CDSL_CURRENT ((int) (~0U>>1))
+
+struct cdrom_msf
+{
+ __u8 cdmsf_min0; /* start minute */
+ __u8 cdmsf_sec0; /* start second */
+ __u8 cdmsf_frame0; /* start frame */
+ __u8 cdmsf_min1; /* end minute */
+ __u8 cdmsf_sec1; /* end second */
+ __u8 cdmsf_frame1; /* end frame */
+};
+
+struct cdrom_tochdr
+ {
+ __u8 cdth_trk0; /* start track */
+ __u8 cdth_trk1; /* end track */
+ };
+
+struct cdrom_msf0
+{
+ __u8 minute;
+ __u8 second;
+ __u8 frame;
+};
+
+union cdrom_addr
+{
+ struct cdrom_msf0 msf;
+ int lba;
+};
+
+struct cdrom_tocentry
+{
+ __u8 cdte_track;
+ __u8 cdte_adr :4;
+ __u8 cdte_ctrl :4;
+ __u8 cdte_format;
+ union cdrom_addr cdte_addr;
+ __u8 cdte_datamode;
+};
+
+struct modesel_head
+{
+ __u8 reserved1;
+ __u8 medium;
+ __u8 reserved2;
+ __u8 block_desc_length;
+ __u8 density;
+ __u8 number_of_blocks_hi;
+ __u8 number_of_blocks_med;
+ __u8 number_of_blocks_lo;
+ __u8 reserved3;
+ __u8 block_length_hi;
+ __u8 block_length_med;
+ __u8 block_length_lo;
+};
+
+typedef struct
+{
+ int data;
+ int audio;
+ int cdi;
+ int xa;
+ int error;
+} tracktype;
+
+#endif /* _DVD_H_ */
diff --git a/multimedia/gstreamer-plugins80/pkg-plist b/multimedia/gstreamer-plugins80/pkg-plist
index da2d3a74eeb5..6a0c14924d96 100644
--- a/multimedia/gstreamer-plugins80/pkg-plist
+++ b/multimedia/gstreamer-plugins80/pkg-plist
@@ -98,6 +98,7 @@ lib/gstreamer-%%VERSION%%/libgstmonoscope.so
lib/gstreamer-%%VERSION%%/libgstmp1videoparse.so
lib/gstreamer-%%VERSION%%/libgstmpeg1systemencode.so
%%LIBMPEG2%%lib/gstreamer-%%VERSION%%/libgstmpeg2dec.so
+%%MJPEGTOOLS%%lib/gstreamer-%%VERSION%%/libgstmpeg2enc.so
lib/gstreamer-%%VERSION%%/libgstmpeg2subt.so
lib/gstreamer-%%VERSION%%/libgstmpegaudio.so
lib/gstreamer-%%VERSION%%/libgstmpegaudioparse.so
@@ -145,6 +146,7 @@ lib/gstreamer-%%VERSION%%/libgsttimeoverlay.so
lib/gstreamer-%%VERSION%%/libgsttypefindfunctions.so
lib/gstreamer-%%VERSION%%/libgstudp.so
lib/gstreamer-%%VERSION%%/libgstvbidec.so
+lib/gstreamer-%%VERSION%%/libgstvcdsrc.so
lib/gstreamer-%%VERSION%%/libgstvideo.so
lib/gstreamer-%%VERSION%%/libgstvideobalance.so
lib/gstreamer-%%VERSION%%/libgstvideobox.so