update to libquicktime-1.0.5
* newer ffmpeg * use sndio in lqtplay
This commit is contained in:
parent
d43c66a699
commit
b666a5d2b5
@ -1,11 +1,10 @@
|
||||
# $OpenBSD: Makefile,v 1.22 2009/08/10 06:33:02 kili Exp $
|
||||
# $OpenBSD: Makefile,v 1.23 2010/05/26 22:31:23 jakemsr Exp $
|
||||
# $FreeBSD: ports/multimedia/libquicktime/Makefile,v 1.19 2004/03/16 04:23:53 edwin Exp $
|
||||
|
||||
SHARED_ONLY= Yes
|
||||
|
||||
COMMENT= library for reading and writing quicktime files
|
||||
DISTNAME= libquicktime-1.1.1
|
||||
PKGNAME= ${DISTNAME}p4
|
||||
DISTNAME= libquicktime-1.1.5
|
||||
CATEGORIES= multimedia
|
||||
SHARED_LIBS= quicktime 4.0
|
||||
|
||||
@ -17,21 +16,23 @@ PERMIT_PACKAGE_FTP= Yes
|
||||
PERMIT_DISTFILES_CDROM= Yes
|
||||
PERMIT_DISTFILES_FTP= Yes
|
||||
|
||||
WANTLIB= GL ICE SM X11 Xau Xaw Xcomposite Xcursor \
|
||||
Xdamage Xdmcp Xext Xfixes Xi Xinerama Xrandr \
|
||||
Xrender Xt Xv a52 atk-1.0 c cairo expat \
|
||||
faac faad fontconfig freetype gio-2.0 \
|
||||
glib-2.0 glitz gmodule-2.0 gobject-2.0 m \
|
||||
ogg ossaudio pango-1.0 pangocairo-1.0 \
|
||||
pangoft2-1.0 pcre pixman-1 pthread theora \
|
||||
z oil-0.3 schroedinger-1.0 pthread-stubs xcb
|
||||
WANTLIB= GL ICE SM X11 Xau Xaw Xcomposite Xcursor \
|
||||
Xdamage Xdmcp Xext Xfixes Xi Xinerama Xrandr \
|
||||
Xrender Xt Xv atk-1.0 c cairo expat faac \
|
||||
faad fontconfig freetype gio-2.0 glib-2.0 \
|
||||
glitz gmodule-2.0 gobject-2.0 gsm \
|
||||
gthread-2.0 m ogg oil-0.3 pango-1.0 \
|
||||
pangocairo-1.0 pangoft2-1.0 pcre pixman-1 \
|
||||
pthread pthread-stubs schroedinger-1.0 \
|
||||
sndio speex theora xcb xcb-render \
|
||||
xcb-render-util z
|
||||
|
||||
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=libquicktime/}
|
||||
|
||||
MODULES= devel/gettext
|
||||
|
||||
BUILD_DEPENDS= :doxygen-*:devel/doxygen
|
||||
LIB_DEPENDS= avcodec.>=13.1,avutil.>=6,swscale.>=1:ffmpeg->=20080620p10:graphics/ffmpeg \
|
||||
LIB_DEPENDS= avcodec.>=14,avutil.>=7,swscale.>=2:ffmpeg->=20100512:graphics/ffmpeg \
|
||||
dv.>=4::multimedia/libdv \
|
||||
gtk-x11-2.0.>=800.8,gdk-x11-2.0.>=800.8,gdk_pixbuf-2.0.>=800.8::x11/gtk+2 \
|
||||
jpeg.>=9::graphics/jpeg \
|
||||
@ -50,11 +51,16 @@ MAKE_ENV= DOXYGEN_ENCODE_PATH_STRIP=${WRKSRC}
|
||||
CONFIGURE_STYLE= gnu
|
||||
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include -I${LOCALBASE}/include/libpng -I${X11BASE}/include" \
|
||||
LDFLAGS="-L${LOCALBASE}/lib -L${X11BASE}/lib" \
|
||||
ac_cv_search_pthread_create=-pthread
|
||||
ac_cv_search_pthread_create=-pthread \
|
||||
ac_cv_lib_ossaudio__oss_ioctl=no \
|
||||
ac_cv_header_soundcard_h=no
|
||||
|
||||
CONFIGURE_ARGS= ${CONFIGURE_SHARED} \
|
||||
--enable-gpl \
|
||||
--with-libdv \
|
||||
--without-alsa
|
||||
|
||||
post-install:
|
||||
rm -f ${PREFIX}/share/doc/libquicktime/apiref/dir_*.html
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
@ -1,5 +1,5 @@
|
||||
MD5 (libquicktime-1.1.1.tar.gz) = iN+DikULbGdogZ1FuswJJg==
|
||||
RMD160 (libquicktime-1.1.1.tar.gz) = 0Ci3xh0hjeiRA9MiUZQhYH6IzXA=
|
||||
SHA1 (libquicktime-1.1.1.tar.gz) = E2Zve4LYBFoD6SWWbPgJhnSBQEE=
|
||||
SHA256 (libquicktime-1.1.1.tar.gz) = kO+hqDYTNoBmnKx0O3JmCHIK2POq3Ntx/x4p5RC9DRM=
|
||||
SIZE (libquicktime-1.1.1.tar.gz) = 1009816
|
||||
MD5 (libquicktime-1.1.5.tar.gz) = D9RbPe/wMXwvhaNLGxBqzw==
|
||||
RMD160 (libquicktime-1.1.5.tar.gz) = x2yGy/bMKbOl90Ku6Hw+T+LTg60=
|
||||
SHA1 (libquicktime-1.1.5.tar.gz) = EdrZL+nbtnqo70LDQE06y6euKjc=
|
||||
SHA256 (libquicktime-1.1.5.tar.gz) = ywVsgm+pysUfciedFGvAjdBYFhl7zrGG0kJ6VvrYa/Q=
|
||||
SIZE (libquicktime-1.1.5.tar.gz) = 997305
|
||||
|
@ -1,7 +1,7 @@
|
||||
$OpenBSD: patch-configure,v 1.9 2009/05/06 20:24:15 kili Exp $
|
||||
--- configure.orig Wed Dec 17 12:13:49 2008
|
||||
+++ configure Wed May 6 21:49:21 2009
|
||||
@@ -25174,7 +25174,7 @@ fi
|
||||
$OpenBSD: patch-configure,v 1.10 2010/05/26 22:31:23 jakemsr Exp $
|
||||
--- configure.orig Tue Feb 23 12:43:36 2010
|
||||
+++ configure Tue May 18 17:55:59 2010
|
||||
@@ -14553,7 +14553,7 @@ fi
|
||||
VORBIS_LIBS="-L$prefix/lib"
|
||||
fi
|
||||
|
||||
@ -10,7 +10,7 @@ $OpenBSD: patch-configure,v 1.9 2009/05/06 20:24:15 kili Exp $
|
||||
VORBISFILE_LIBS="-lvorbisfile"
|
||||
VORBISENC_LIBS="-lvorbisenc"
|
||||
|
||||
@@ -25389,11 +25389,11 @@ if test "x$with_lame" != "xno"; then
|
||||
@@ -14713,11 +14713,11 @@ if test "x$with_lame" != "xno"; then
|
||||
OLD_CFLAGS=$CFLAGS
|
||||
OLD_LIBS=$LIBS
|
||||
|
||||
@ -25,4 +25,4 @@ $OpenBSD: patch-configure,v 1.9 2009/05/06 20:24:15 kili Exp $
|
||||
+#fi
|
||||
|
||||
|
||||
{ echo "$as_me:$LINENO: checking for lame" >&5
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for lame" >&5
|
||||
|
@ -1,14 +0,0 @@
|
||||
$OpenBSD: patch-src_timecode_c,v 1.1 2009/06/18 07:50:18 jasper Exp $
|
||||
|
||||
Fix potential 64-bit issue due to missing header.
|
||||
|
||||
--- src/timecode.c.orig Thu Jun 18 09:40:52 2009
|
||||
+++ src/timecode.c Thu Jun 18 09:41:13 2009
|
||||
@@ -23,6 +23,7 @@
|
||||
*******************************************************************************/
|
||||
|
||||
#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
|
||||
#include "lqt_private.h"
|
||||
|
12
multimedia/libquicktime/patches/patch-utils_Makefile_in
Normal file
12
multimedia/libquicktime/patches/patch-utils_Makefile_in
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-utils_Makefile_in,v 1.4 2010/05/26 22:31:23 jakemsr Exp $
|
||||
--- utils/Makefile.in.orig Tue May 18 17:41:51 2010
|
||||
+++ utils/Makefile.in Tue May 18 17:42:07 2010
|
||||
@@ -416,7 +416,7 @@ qtyuv4toyuv_SOURCES = yuv4toyuv.c
|
||||
qtyuv4toyuv_LDADD = @UTIL_LIBADD@
|
||||
lqtplay_SOURCES = lqtplay.c common.c
|
||||
lqtplay_LDADD = @UTIL_LIBADD@ @X_LIBS@ -lXaw -lXt @X_PRE_LIBS@ -lXext \
|
||||
- -lXv @GL_LIBS@ -lX11 @X_EXTRA_LIBS@ -lm @ALSA_LIBS@ @OSSAUDIO_LIBS@
|
||||
+ -lXv @GL_LIBS@ -lX11 @X_EXTRA_LIBS@ -lm @ALSA_LIBS@ @OSSAUDIO_LIBS@ -lsndio
|
||||
|
||||
INCLUDES = -I$(top_srcdir)/include \
|
||||
-I$(top_builddir)/include/quicktime \
|
@ -1,12 +1,195 @@
|
||||
$OpenBSD: patch-utils_lqtplay_c,v 1.5 2009/04/29 21:22:14 kili Exp $
|
||||
--- utils/lqtplay.c.orig Sat Aug 2 20:40:00 2008
|
||||
+++ utils/lqtplay.c Thu Apr 16 21:55:32 2009
|
||||
@@ -978,7 +978,7 @@ static void qt_init(FILE *fp, char *filename)
|
||||
$OpenBSD: patch-utils_lqtplay_c,v 1.6 2010/05/26 22:31:23 jakemsr Exp $
|
||||
--- utils/lqtplay.c.orig Thu Jan 14 10:41:17 2010
|
||||
+++ utils/lqtplay.c Wed May 26 15:23:48 2010
|
||||
@@ -41,6 +41,8 @@
|
||||
|
||||
#include "common.h"
|
||||
|
||||
+#define HAVE_SNDIO
|
||||
+
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Intrinsic.h>
|
||||
#include <X11/StringDefs.h>
|
||||
@@ -70,6 +72,10 @@
|
||||
#ifdef HAVE_ALSA
|
||||
#include <alsa/asoundlib.h>
|
||||
#endif
|
||||
+#ifdef HAVE_SNDIO
|
||||
+#include <poll.h>
|
||||
+#include <sndio.h>
|
||||
+#endif
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
@@ -789,6 +795,88 @@ return 0;
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------ */
|
||||
+/* sndio code */
|
||||
+
|
||||
+#ifdef HAVE_SNDIO
|
||||
+
|
||||
+static struct sio_hdl *hdl;
|
||||
+static struct sio_par par;
|
||||
+
|
||||
+static int use_sndio = 1;
|
||||
+
|
||||
+static int oss_sr,oss_hr;
|
||||
+
|
||||
+#else
|
||||
+
|
||||
+/* Disable sndio */
|
||||
+static int use_sndio = 0;
|
||||
+
|
||||
+#endif /* HAVE_SNDIO */
|
||||
+
|
||||
+static int
|
||||
+sndio_setformat(int chan, int rate)
|
||||
+{
|
||||
+#ifdef HAVE_SNDIO
|
||||
+ sio_initpar(&par);
|
||||
+ par.bits = 16;
|
||||
+ par.sig = 1;
|
||||
+ par.rate = rate;
|
||||
+ par.pchan = chan;
|
||||
+ /* yes, lqtplay wants really small blocks */
|
||||
+ par.round = rate / 100;
|
||||
+ par.appbufsz = par.round * 25;
|
||||
+
|
||||
+ if (!sio_setpar(hdl, &par) || !sio_getpar(hdl, &par)) {
|
||||
+ fprintf(stderr,_("ERROR: can't set sound format\n"));
|
||||
+ exit(1);
|
||||
+ }
|
||||
+
|
||||
+ if (par.pchan != chan || par.bits != 16 || par.sig != 1 ||
|
||||
+ par.le != SIO_LE_NATIVE) {
|
||||
+ fprintf(stderr,_("ERROR: can't set requested sound format\n"));
|
||||
+ exit(1);
|
||||
+ }
|
||||
+
|
||||
+ if (par.rate != rate) {
|
||||
+ oss_sr = rate;
|
||||
+ oss_hr = par.rate;
|
||||
+ fprintf(stderr,_("WARNING: sample rate mismatch (need %d, got %d)\n"),
|
||||
+ rate, par.rate);
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+#else
|
||||
+ return 1;
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+static int sndio_init(char *dev, int channels, int rate)
|
||||
+{
|
||||
+#ifdef HAVE_SNDIO
|
||||
+
|
||||
+ /* this code is absolutely horrible. lqtplay expects to be able
|
||||
+ to write at least every 2 ms. do not follow this example. */
|
||||
+
|
||||
+ hdl = sio_open(NULL, SIO_PLAY, 1);
|
||||
+ if (NULL == hdl) {
|
||||
+ fprintf(stderr,_("ERROR: can't open sndio\n"));
|
||||
+ return -1;
|
||||
+ }
|
||||
+ sndio_setformat(channels,rate);
|
||||
+
|
||||
+ if (!sio_start(hdl)) {
|
||||
+ fprintf(stderr,_("ERROR: can't start sndio\n"));
|
||||
+ return -1;
|
||||
+ }
|
||||
+ return 0;
|
||||
+#else
|
||||
+ return 1;
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
+/* ------------------------------------------------------------------------ */
|
||||
/* oss code */
|
||||
|
||||
#ifndef AFMT_S16_NE
|
||||
@@ -972,7 +1060,11 @@ static void qt_init(FILE *fp, char *filename)
|
||||
qt_hasaudio = 1;
|
||||
qt_channels = quicktime_track_channels(qt,0);
|
||||
qt_sample_rate = quicktime_sample_rate(qt,0);
|
||||
- if (use_alsa == 1) {
|
||||
+ if (use_sndio == 1) {
|
||||
+ if (-1 == sndio_init(adev_name, qt_channels,
|
||||
+ qt_sample_rate)) {
|
||||
+ qt_hasaudio = 0;}
|
||||
+ } else if (use_alsa == 1) {
|
||||
if (-1 == alsa_init(adev_name, qt_channels,
|
||||
qt_sample_rate)) {
|
||||
qt_hasaudio = 0;}
|
||||
}
|
||||
else {
|
||||
- if (-1 == oss_init("/dev/dsp", qt_channels,
|
||||
+ if (-1 == oss_init("/dev/audio", qt_channels,
|
||||
qt_sample_rate))
|
||||
qt_hasaudio = 0;
|
||||
}
|
||||
@@ -1422,6 +1514,48 @@ static int qt_alsa_audio_write()
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static int qt_sndio_audio_write(void)
|
||||
+{
|
||||
+#ifdef HAVE_SNDIO
|
||||
+ struct pollfd pfd;
|
||||
+ int rc, n, revents;
|
||||
+
|
||||
+ if(!qt_audio_samples_in_buffer)
|
||||
+ decode_audio(AUDIO_BLOCK_SIZE);
|
||||
+
|
||||
+ /* this code is absolutely horrible. do not follow this example. */
|
||||
+
|
||||
+ n = sio_pollfd(hdl, &pfd, POLLOUT);
|
||||
+ rc = poll(&pfd, n, 10000);
|
||||
+ if (rc <= 0)
|
||||
+ goto fail;
|
||||
+ revents = sio_revents(hdl, &pfd);
|
||||
+ if (!(revents & POLLOUT))
|
||||
+ goto fail;
|
||||
+ rc = sio_write(hdl,qt_audio_ptr,qt_audio_samples_in_buffer * qt_channels * sizeof(*qt_audio));
|
||||
+ switch (rc) {
|
||||
+ case 0:
|
||||
+ goto fail;
|
||||
+ break;
|
||||
+ default:
|
||||
+ qt_audio_samples_in_buffer -= rc / (qt_channels * sizeof(*qt_audio));
|
||||
+ qt_audio_ptr += rc / sizeof(*qt_audio);
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ if (qt_audio_eof && 0 == qt_audio_samples_in_buffer) {
|
||||
+ return -1;
|
||||
+ }
|
||||
+#endif
|
||||
+ return 0;
|
||||
+fail:
|
||||
+ fprintf(stderr,_("write sndio: Huh? no data to write/no data written?\n"));
|
||||
+ sio_close(hdl);
|
||||
+ hdl = NULL;
|
||||
+ qt_hasaudio = 0;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
static int qt_oss_audio_write(void)
|
||||
{
|
||||
int rc;
|
||||
@@ -1803,7 +1937,7 @@ int main(int argc, char *argv[])
|
||||
FD_SET(ConnectionNumber(dpy),&rd);
|
||||
max = ConnectionNumber(dpy);
|
||||
if (qt_hasaudio) {
|
||||
- if (use_alsa == 0) {
|
||||
+ if (use_alsa == 0 && use_sndio == 0) {
|
||||
FD_SET(oss_fd,&wr);
|
||||
if (oss_fd > max)
|
||||
max = oss_fd;
|
||||
@@ -1841,7 +1975,10 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
rc = select(max+1,&rd,&wr,NULL,&wait);
|
||||
if (qt_hasaudio) {
|
||||
- if (use_alsa == 1) {
|
||||
+ if (use_sndio == 1) {
|
||||
+ if (0 != qt_sndio_audio_write()) qt_hasaudio = 0;
|
||||
+ }
|
||||
+ else if (use_alsa == 1) {
|
||||
if (0 != qt_alsa_audio_write()) qt_hasaudio = 0;
|
||||
}
|
||||
else if (FD_ISSET(oss_fd,&wr)) {
|
||||
|
@ -1,10 +0,0 @@
|
||||
$OpenBSD: patch-utils_yuv4toyuv_c,v 1.3 2008/01/26 02:02:50 jakemsr Exp $
|
||||
--- utils/yuv4toyuv.c.orig Wed Feb 14 03:40:59 2007
|
||||
+++ utils/yuv4toyuv.c Sat Jan 19 21:06:11 2008
|
||||
@@ -1,5 +1,6 @@
|
||||
/*******************************************************************************
|
||||
yuv4toyuv.c
|
||||
+#include "funcprotos.h"
|
||||
|
||||
libquicktime - A library for reading and writing quicktime/avi/mp4 files.
|
||||
http://libquicktime.sourceforge.net
|
@ -1,4 +1,4 @@
|
||||
@comment $OpenBSD: PLIST,v 1.8 2009/04/29 21:22:14 kili Exp $
|
||||
@comment $OpenBSD: PLIST,v 1.9 2010/05/26 22:31:23 jakemsr Exp $
|
||||
@bin bin/libquicktime_config
|
||||
bin/lqt-config
|
||||
@bin bin/lqt_transcode
|
||||
@ -14,7 +14,6 @@ include/lqt/
|
||||
include/lqt/colormodels.h
|
||||
include/lqt/lqt.h
|
||||
include/lqt/lqt_atoms.h
|
||||
include/lqt/lqt_codecapi.h
|
||||
include/lqt/lqt_codecinfo.h
|
||||
include/lqt/lqt_qtvr.h
|
||||
include/lqt/lqt_version.h
|
||||
@ -40,6 +39,8 @@ lib/libquicktime/lqt_mjpeg.so
|
||||
lib/libquicktime/lqt_png.so
|
||||
@comment lib/libquicktime/lqt_rtjpeg.la
|
||||
lib/libquicktime/lqt_rtjpeg.so
|
||||
@comment lib/libquicktime/lqt_schroedinger.la
|
||||
lib/libquicktime/lqt_schroedinger.so
|
||||
@comment lib/libquicktime/lqt_videocodec.la
|
||||
lib/libquicktime/lqt_videocodec.so
|
||||
@comment lib/libquicktime/lqt_vorbis.la
|
||||
@ -53,8 +54,6 @@ share/doc/libquicktime/
|
||||
share/doc/libquicktime/apiref/
|
||||
share/doc/libquicktime/apiref/annotated.html
|
||||
share/doc/libquicktime/apiref/colormodels_8h-source.html
|
||||
share/doc/libquicktime/apiref/dir_2c23d5540d2a668b0550fa40aa20e858.html
|
||||
share/doc/libquicktime/apiref/dir_4abde00ac62fef88430208d846181602.html
|
||||
share/doc/libquicktime/apiref/dirs.html
|
||||
share/doc/libquicktime/apiref/doxygen.css
|
||||
share/doc/libquicktime/apiref/doxygen.png
|
||||
|
Loading…
Reference in New Issue
Block a user