diff options
author | mycroft <mycroft@pkgsrc.org> | 2004-03-28 20:09:07 +0000 |
---|---|---|
committer | mycroft <mycroft@pkgsrc.org> | 2004-03-28 20:09:07 +0000 |
commit | 22c2ffb32843fb1c726a9375f09f265ba9c7e556 (patch) | |
tree | a3dc0700747fed46d303e42e4de3efea850c97ad | |
parent | 05021a2926b4ccd1e598926498048d9e0ed645a0 (diff) | |
download | pkgsrc-22c2ffb32843fb1c726a9375f09f265ba9c7e556.tar.gz |
Update to 0.6.12. Main improvements`are AVI 2.0 support, new filters, and
improved support for newer xvidcore. Also fixed a threading problem that
would often cause transcode to core dump right before exiting.
transcode-0.6.12
Changes:
o tccat: use '-T 1,-1 -P' instead of '-P 1'.
o --avi_limit option: Defaults to 0 (disabled) instead of 2GB.
Fixes:
o avilib: 64bit issues and other compiler support.
o v4l: building with linux-2.6 headers.
o xvid import: check for more library sonames.
o dvd import: The DVD device may be a char device (osx).
o im import: segmentation fault at closing time.
o tcrequant: upstream bugfixes.
o xvid import: fix library loading on MacOSX.
o dv import: Do NOT apply a setup when decoding the DV frame. Last
frame was skipped in NTSC.
o yuv4mpeg import: read files produced by streamer.
o -c option: rounding error, only 99 frames of 100 for NTSC.
o make distcheck: correct inclusion of config.h file.
o libavcodec: building without mmx.
o maintaining: included sdl.m4 and glib.m4 in acinclude.m4
New:
o avilib: Writing AVI 2.0 (OpenDML) files.
xine (with my submitted patch) plays such files nicely.
o denoise3d filter: very fast denoiser.
o fraps import: decode AVI files from www.fraps.com.
o v4l2: reading from a video4linux2 device.
o control filter: read and executes a control "script"
o ffmpeg import: DV raw decoding support (-i file.dv -x ffmpeg).
o sh import: executes the input file and reads its output.
o mp1e export: module based on mp1e, a mpeg1 encoder.
o os: Support for AMDs x86_64 architecture.
o --export_par option: sets the pixel/sample aspect ratio.
o script: bash completion for transcode with tccomplete.source.
o docs: layout fixes so it will look good on www.transcoding.org
o ffmpeg export: new codecs namely ffv1, asv1 and asv2.
o --export_prof option: sets mpeg "profiles" so that transcode
tries can be smart and guess clipping and zooming options.
o docs: DV to DVD HOWTO including scripts.
Improved:
o xvid4 export: synced with xvidcore-beta3. Please upgrade to this
release and also update your xvid4.cfg. New xvid4conf is available.
o pp filter: included postprocess code into transcode.
o im export: use -w to set quality.
o dvd import: support for non-continuus chapters.
o avilib: Support for files with multiple RIFF chunks and no index.
o vnc import: now respects the --dvd_access_delay setting. Pass
additional paramters down to vncrec by -x vnc="-arg1 -arg2".
o mjpeg export: compatibility with Apples quicktime player.
o probing: improved detection of MP3/MP2 files.
o libavcodec: Updated included lavc to 4695.
o aviindex: keyframe detection by analyzing the content of frames.
o subtitler filter: Update to upstream version 0.8.4
o pv filter: updated docs and YUV422 support.
o ivtc filter: new magic and field parameters.
o mov export: new codecs and colorspaces.
-rw-r--r-- | graphics/transcode/Makefile | 10 | ||||
-rw-r--r-- | graphics/transcode/PLIST | 19 | ||||
-rw-r--r-- | graphics/transcode/distinfo | 19 | ||||
-rw-r--r-- | graphics/transcode/patches/patch-aa | 22 | ||||
-rw-r--r-- | graphics/transcode/patches/patch-af | 33 | ||||
-rw-r--r-- | graphics/transcode/patches/patch-ao | 10 | ||||
-rw-r--r-- | graphics/transcode/patches/patch-ap | 12 | ||||
-rw-r--r-- | graphics/transcode/patches/patch-aq | 10 | ||||
-rw-r--r-- | graphics/transcode/patches/patch-ar | 10 | ||||
-rw-r--r-- | graphics/transcode/patches/patch-as | 77 |
10 files changed, 116 insertions, 106 deletions
diff --git a/graphics/transcode/Makefile b/graphics/transcode/Makefile index cbdfa17318c..c9e7572e757 100644 --- a/graphics/transcode/Makefile +++ b/graphics/transcode/Makefile @@ -1,12 +1,11 @@ -# $NetBSD: Makefile,v 1.29 2004/03/12 19:43:50 snj Exp $ +# $NetBSD: Makefile,v 1.30 2004/03/28 20:09:07 mycroft Exp $ -DISTNAME= transcode-0.6.11 -PKGREVISION= 2 +DISTNAME= transcode-0.6.12 CATEGORIES= graphics MASTER_SITES= http://www.zebra.fh-weingarten.de/~transcode/pre/ MAINTAINER= tech-pkg@NetBSD.org -HOMEPAGE= http://www.theorie.physik.uni-goettingen.de/~ostreich/transcode/ +HOMEPAGE= http://www.zebra.fh-weingarten.de/~transcode/ COMMENT= Command line video-stream processing tool BUILD_DEPENDS+= nasm>=0.98.36:../../devel/nasm @@ -23,6 +22,7 @@ GNU_CONFIGURE= yes CONFIGURE_ARGS+= --disable-qt # when libmpeg3 is a shlib. CONFIGURE_ARGS+= --without-libmpeg3 +CONFIGURE_ARGS+= --with-default-xvid=xvid4 .if exists(${X11BASE}/lib/libXv.so) PLIST_SUBST+= FILTERPV=filter_pv.so @@ -39,7 +39,7 @@ post-patch: -cd ${WRKSRC} && ${AUTOMAKE} post-install: - ${LN} -s ../libxvidcore.so.2.1 ${PREFIX}/lib/transcode/libxvidcore.so.2 + ${LN} -sf ../libxvidcore.so.4.0 ${PREFIX}/lib/transcode/libxvidcore.so.4 .include "../../archivers/liblzo/buildlink3.mk" .include "../../audio/liba52/buildlink3.mk" diff --git a/graphics/transcode/PLIST b/graphics/transcode/PLIST index e656cc2ef23..dbfed728498 100644 --- a/graphics/transcode/PLIST +++ b/graphics/transcode/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.10 2003/12/27 01:02:49 grant Exp $ +@comment $NetBSD: PLIST,v 1.11 2004/03/28 20:09:07 mycroft Exp $ bin/avifix bin/aviindex bin/avimerge @@ -48,6 +48,8 @@ lib/transcode/export_mjpeg.la lib/transcode/export_mjpeg.so lib/transcode/export_mp2enc.la lib/transcode/export_mp2enc.so +lib/transcode/export_mp1e.la +lib/transcode/export_mp1e.so lib/transcode/export_mpeg.a lib/transcode/export_mpeg.la lib/transcode/export_mpeg2enc.a @@ -91,6 +93,8 @@ lib/transcode/filter_clone.la lib/transcode/filter_clone.so lib/transcode/filter_compare.la lib/transcode/filter_compare.so +lib/transcode/filter_control.la +lib/transcode/filter_control.so lib/transcode/filter_cpaudio.la lib/transcode/filter_cpaudio.so lib/transcode/filter_cshift.la @@ -99,6 +103,8 @@ lib/transcode/filter_cut.la lib/transcode/filter_cut.so lib/transcode/filter_decimate.la lib/transcode/filter_decimate.so +lib/transcode/filter_denoise3d.la +lib/transcode/filter_denoise3d.so lib/transcode/filter_detectclipping.la lib/transcode/filter_detectclipping.so lib/transcode/filter_detectsilence.la @@ -144,6 +150,8 @@ lib/transcode/filter_normalize.la lib/transcode/filter_normalize.so lib/transcode/filter_null.la lib/transcode/filter_null.so +lib/transcode/filter_pp.la +lib/transcode/filter_pp.so lib/transcode/${FILTERPV} lib/transcode/filter_pv.la lib/transcode/filter_resample.la @@ -160,6 +168,8 @@ lib/transcode/filter_smartyuv.la lib/transcode/filter_smartyuv.so lib/transcode/filter_smooth.la lib/transcode/filter_smooth.so +lib/transcode/filter_subtitler.la +lib/transcode/filter_subtitler.so lib/transcode/filter_tc_audio.la lib/transcode/filter_tc_audio.so lib/transcode/filter_tc_video.la @@ -194,6 +204,8 @@ lib/transcode/import_dvd.la lib/transcode/import_dvd.so lib/transcode/import_ffmpeg.la lib/transcode/import_ffmpeg.so +lib/transcode/import_fraps.la +lib/transcode/import_fraps.so lib/transcode/import_im.la lib/transcode/import_im.so lib/transcode/import_imlist.la @@ -222,6 +234,8 @@ lib/transcode/import_raw.la lib/transcode/import_raw.so lib/transcode/import_rawlist.la lib/transcode/import_rawlist.so +lib/transcode/import_sh.la +lib/transcode/import_sh.so lib/transcode/import_vdrac3.la lib/transcode/import_vdrac3.so lib/transcode/import_vnc.la @@ -236,7 +250,7 @@ lib/transcode/import_yuv.la lib/transcode/import_yuv.so lib/transcode/import_yuv4mpeg.la lib/transcode/import_yuv4mpeg.so -lib/transcode/libxvidcore.so.2 +lib/transcode/libxvidcore.so.4 lib/transcode/parse_csv.awk lib/transcode/xvid2.cfg lib/transcode/xvid3.cfg @@ -339,6 +353,7 @@ share/doc/transcode/html/tc.png share/doc/transcode/import-API.txt share/doc/transcode/import-xml.txt share/doc/transcode/import_nvrec.txt +share/doc/transcode/import_v4l2.txt share/doc/transcode/pvm.cfg share/doc/transcode/template.cfg.txt @dirrm share/doc/transcode/html diff --git a/graphics/transcode/distinfo b/graphics/transcode/distinfo index 4cf1804c18c..7376a067141 100644 --- a/graphics/transcode/distinfo +++ b/graphics/transcode/distinfo @@ -1,11 +1,10 @@ -$NetBSD: distinfo,v 1.5 2003/12/26 12:40:39 jmmv Exp $ +$NetBSD: distinfo,v 1.6 2004/03/28 20:09:07 mycroft Exp $ -SHA1 (transcode-0.6.11.tar.gz) = 54c1bc6242ee36ae7e1c2ec4d55ede86b2ceccdd -Size (transcode-0.6.11.tar.gz) = 3306196 bytes -SHA1 (patch-aa) = 727be281a865a8c3baab8829c574d4224c072000 +SHA1 (transcode-0.6.12.tar.gz) = 3d9b223f804253a6a76d9645feb86609b0a2499a +Size (transcode-0.6.12.tar.gz) = 3454807 bytes SHA1 (patch-ad) = dc3777cbfd86eba3d62c0bfa947e9877c6c44fea SHA1 (patch-ae) = f49a155b84edbeb3c93705e6ab15e80f48adbdb1 -SHA1 (patch-af) = ac2060ee599df32cbbad476ad64926411107732d +SHA1 (patch-af) = 88d2209445c4011f400ae2dd79d9e285aecd3f0a SHA1 (patch-ag) = 23fbedeb2db586af0afee74785013a64b9562c4e SHA1 (patch-ah) = db21f19742abfb6db70b4c77371a8da79cc8c7d0 SHA1 (patch-ai) = 86f49f23d8af5320be93c8dc475b53b906dff10f @@ -13,8 +12,8 @@ SHA1 (patch-aj) = f62d0e1e23868b290221cffc367c3f0a5cc5cbc6 SHA1 (patch-ak) = add9a293ddb73e3f82982d2021a6310f742e45f1 SHA1 (patch-al) = 797bd770565263452d47e2f4d8942974ef153553 SHA1 (patch-an) = ee416096f1fc6b8ff74f80f93cc5e40d4ad49223 -SHA1 (patch-ao) = 99f2461e286122b2424970a62b0820ca084bcc68 -SHA1 (patch-ap) = cee2e16d58d044fd583a6f2eed49ac1d274da6ca -SHA1 (patch-aq) = 8b5d88f3bd2b31ae29700558e4ad286cab217ba9 -SHA1 (patch-ar) = 5e0db22952ac508271997c04627c0ec0c30969cd -SHA1 (patch-as) = 6af5824a09484148ee06e46399c5d695593189f9 +SHA1 (patch-ao) = e6f1006e5aa4663259e1e2fd2355dbfc32bda8f5 +SHA1 (patch-ap) = fb393e3400423a5d4225fb31afabfbcaa265a35b +SHA1 (patch-aq) = 3a8bd7888460880767204239ac783bff3d6814a9 +SHA1 (patch-ar) = df0bf12044741c586b0168ead6aa0fa71a23aea1 +SHA1 (patch-as) = d673ec6009d96f55afcf8382f834edc2cadd2ae3 diff --git a/graphics/transcode/patches/patch-aa b/graphics/transcode/patches/patch-aa deleted file mode 100644 index ad5b2d8f1b7..00000000000 --- a/graphics/transcode/patches/patch-aa +++ /dev/null @@ -1,22 +0,0 @@ -$NetBSD: patch-aa,v 1.1.1.1 2003/06/23 07:09:32 mrg Exp $ - -diff -rcp avilib/avidump.c avilib/avidump.c -*** avilib/avidump.c Tue Apr 8 20:50:10 2003 ---- avilib/avidump.c Mon Jun 9 17:45:21 2003 -*************** -*** 36,42 **** - #include <sys/stat.h> - #include <fcntl.h> - -! #if defined(__bsdi__) || defined(__FreeBSD__) || defined(__APPLE__) - typedef off_t off64_t; - #define lseek64 lseek - #endif ---- 36,42 ---- - #include <sys/stat.h> - #include <fcntl.h> - -! #if defined(__bsdi__) || defined(__FreeBSD__) || defined(__APPLE__) || defined(__NetBSD__) - typedef off_t off64_t; - #define lseek64 lseek - #endif diff --git a/graphics/transcode/patches/patch-af b/graphics/transcode/patches/patch-af index 3cce9549b98..ec876669f70 100644 --- a/graphics/transcode/patches/patch-af +++ b/graphics/transcode/patches/patch-af @@ -1,22 +1,13 @@ -$NetBSD: patch-af,v 1.1.1.1 2003/06/23 07:09:32 mrg Exp $ +$NetBSD: patch-af,v 1.2 2004/03/28 20:09:07 mycroft Exp $ -diff -rcp import/import_xvid.c import/import_xvid.c -*** import/import_xvid.c Fri May 2 16:28:05 2003 ---- import/import_xvid.c Mon Jun 9 17:47:11 2003 -*************** static int x_dim, y_dim; -*** 65,71 **** - #define MODULE1 "libxvidcore.so" - - static int xvid2_init(char *path) { -! #ifdef __FreeBSD__ - const - #endif - char *error; ---- 65,71 ---- - #define MODULE1 "libxvidcore.so" - - static int xvid2_init(char *path) { -! #if defined(__FreeBSD__) || defined(__NetBSD__) - const - #endif - char *error; +--- import/import_xvid.c 2004-03-26 19:12:32.000000000 +0000 ++++ import/import_xvid.c 2004-03-26 19:12:42.000000000 +0000 +@@ -67,7 +67,7 @@ + #define XVID_SHARED_LIB_NAME "libxvidcore.so" + + static int xvid2_init(char *path) { +-#if defined(__FreeBSD__) || defined(__APPLE__) ++#if defined(__FreeBSD__) || defined(__APPLE__) || defined(__NetBSD__) + const + #endif + char *error; diff --git a/graphics/transcode/patches/patch-ao b/graphics/transcode/patches/patch-ao index 4bcdc93faae..85a59c0ceae 100644 --- a/graphics/transcode/patches/patch-ao +++ b/graphics/transcode/patches/patch-ao @@ -1,7 +1,7 @@ -$NetBSD: patch-ao,v 1.1.1.1 2003/06/23 07:09:32 mrg Exp $ +$NetBSD: patch-ao,v 1.2 2004/03/28 20:09:07 mycroft Exp $ ---- avilib/Makefile.am.orig Wed Feb 20 10:11:17 2002 -+++ avilib/Makefile.am +--- avilib/Makefile.am 2004-03-26 19:14:20.000000000 +0000 ++++ avilib/Makefile.am 2004-03-26 19:14:30.000000000 +0000 @@ -3,12 +3,12 @@ AUTOMAKE_OPTIONS = 1.3 foreign DEFAULT_INCLUDES = -I$(top_srcdir) -I$(srcdir) -I$(top_builddir) -I. @@ -11,9 +11,9 @@ $NetBSD: patch-ao,v 1.1.1.1 2003/06/23 07:09:32 mrg Exp $ INCLUDES = -I./ - CFLAGS=-O3 -funroll-loops -ffast-math -DLINUX -Wall @CFLAGS@ + CFLAGS=-funroll-loops -ffast-math -DLINUX -Wall @CFLAGS@ -libavi_a_SOURCES = avilib.c avidump.c avimisc.c +libavi_la_SOURCES = avilib.c avidump.c avimisc.c - EXTRA_DIST = avilib.h README.avilib + EXTRA_DIST = avilib.h README.avilib os.h diff --git a/graphics/transcode/patches/patch-ap b/graphics/transcode/patches/patch-ap index 1417eb4b717..ebc8ab5fd19 100644 --- a/graphics/transcode/patches/patch-ap +++ b/graphics/transcode/patches/patch-ap @@ -1,10 +1,10 @@ -$NetBSD: patch-ap,v 1.2 2003/12/26 12:40:39 jmmv Exp $ +$NetBSD: patch-ap,v 1.3 2004/03/28 20:09:07 mycroft Exp $ ---- ffmpeg/libavcodec/Makefile.am.orig 2003-10-13 12:08:18.000000000 +0200 -+++ ffmpeg/libavcodec/Makefile.am -@@ -34,9 +34,9 @@ endif +--- ffmpeg/libavcodec/Makefile.am 2004-03-26 19:15:46.000000000 +0000 ++++ ffmpeg/libavcodec/Makefile.am 2004-03-26 19:15:58.000000000 +0000 +@@ -34,9 +34,9 @@ - AM_CFLAGS = -O2 -g -Wall -ffast-math $(ALTIVEC) $(X86) $(MMX) -DHAVE_AV_CONFIG_H -D_GNU_SOURCE --include=../av_config.h + AM_CFLAGS = -O2 -g -Wall -ffast-math $(ALTIVEC) $(X86) $(MMX) -DHAVE_AV_CONFIG_H -D_GNU_SOURCE --include=$(top_srcdir)/ffmpeg/av_config.h -noinst_LIBRARIES = libtcavcodec.a +noinst_LTLIBRARIES = libtcavcodec.la @@ -12,5 +12,5 @@ $NetBSD: patch-ap,v 1.2 2003/12/26 12:40:39 jmmv Exp $ -libtcavcodec_a_SOURCES = \ +libtcavcodec_la_SOURCES = \ common.c utils.c mem.c allcodecs.c \ - mpegvideo.c jrevdct.c jfdctfst.c jfdctint.c\ + mpegvideo.c jrevdct.c jfdctfst.c jfdctint.c \ mpegaudio.c ac3enc.c mjpeg.c resample.c dsputil.c \ diff --git a/graphics/transcode/patches/patch-aq b/graphics/transcode/patches/patch-aq index 156f35c860f..0db3a078422 100644 --- a/graphics/transcode/patches/patch-aq +++ b/graphics/transcode/patches/patch-aq @@ -1,10 +1,10 @@ -$NetBSD: patch-aq,v 1.1.1.1 2003/06/23 07:09:32 mrg Exp $ +$NetBSD: patch-aq,v 1.2 2004/03/28 20:09:07 mycroft Exp $ ---- libac3/Makefile.am.orig Wed Feb 20 10:10:29 2002 -+++ libac3/Makefile.am -@@ -4,9 +4,9 @@ DEFAULT_INCLUDES = -I$(top_srcdir) -I$(s +--- libac3/Makefile.am 2004-03-26 19:16:37.000000000 +0000 ++++ libac3/Makefile.am 2004-03-26 19:16:44.000000000 +0000 +@@ -4,9 +4,9 @@ - CFLAGS = -O3 -funroll-loops -ffast-math -DLINUX @CFLAGS@ + CFLAGS = -O3 -funroll-loops -ffast-math -DLINUX -fPIC -DPIC @CFLAGS@ -noinst_LIBRARIES = libac3_tc.a +noinst_LTLIBRARIES = libac3_tc.la diff --git a/graphics/transcode/patches/patch-ar b/graphics/transcode/patches/patch-ar index c75718aa005..779fe642f75 100644 --- a/graphics/transcode/patches/patch-ar +++ b/graphics/transcode/patches/patch-ar @@ -1,11 +1,11 @@ -$NetBSD: patch-ar,v 1.1.1.1 2003/06/23 07:09:32 mrg Exp $ +$NetBSD: patch-ar,v 1.2 2004/03/28 20:09:07 mycroft Exp $ ---- libvo/Makefile.am.orig Wed Feb 20 10:10:29 2002 -+++ libvo/Makefile.am -@@ -3,9 +3,9 @@ AUTOMAKE_OPTIONS = 1.3 foreign +--- libvo/Makefile.am 2004-03-26 19:17:33.000000000 +0000 ++++ libvo/Makefile.am 2004-03-26 19:17:40.000000000 +0000 +@@ -3,9 +3,9 @@ DEFAULT_INCLUDES = -I$(top_srcdir) -I$(srcdir) -I$(top_builddir) -I. - CFLAGS = -Wall @CFLAGS@ -I../libmpeg2 -I$(srcdir)/../libmpeg2 + CFLAGS = -Wall -fPIC -DPIC @CFLAGS@ -I../libmpeg2 -I$(srcdir)/../libmpeg2 -noinst_LIBRARIES = libvout.a +noinst_LTLIBRARIES = libvout.la diff --git a/graphics/transcode/patches/patch-as b/graphics/transcode/patches/patch-as index c5b2930a509..2ef4b43fe29 100644 --- a/graphics/transcode/patches/patch-as +++ b/graphics/transcode/patches/patch-as @@ -1,28 +1,55 @@ -$NetBSD: patch-as,v 1.1.1.1 2003/06/23 07:09:32 mrg Exp $ +$NetBSD: patch-as,v 1.2 2004/03/28 20:09:07 mycroft Exp $ ---- libvo/cpu_accel.c.orig 2003-03-09 06:13:27.000000000 +1100 -+++ libvo/cpu_accel.c 2003-06-21 03:24:18.000000000 +1000 -@@ -33,9 +33,12 @@ static uint32_t arch_accel (void) - uint32_t caps; +--- src/decoder.c.orig 2003-12-20 11:49:22.000000000 +0000 ++++ src/decoder.c 2004-03-28 09:16:35.000000000 +0000 +@@ -119,16 +119,12 @@ + } - #define cpuid(op,eax,ebx,ecx,edx) \ -- asm ("cpuid" \ -+ asm ("pushl %%ebx\n" \ -+ "cpuid\n" \ -+ "movl %%ebx, %1\n" \ -+ "popl %%ebx\n" \ - : "=a" (eax), \ -- "=b" (ebx), \ -+ "=r" (ebx), \ - "=c" (ecx), \ - "=d" (edx) \ - : "a" (op) \ -@@ -50,7 +53,7 @@ static uint32_t arch_accel (void) - "pushfl\n\t" - "popl %0" - : "=a" (eax), -- "=b" (ebx) -+ "=r" (ebx) - : - : "cc"); + //wait for threads to terminate +-#ifdef BROKEN_PTHREADS // Used to be MacOSX specific; kernel 2.6 as well? + pthread_cond_signal(&vframe_list_full_cv); +-#endif + cc1=pthread_join(vthread, &status); + + if(verbose & TC_DEBUG) fprintf(stderr, "(%s) video thread exit (ret_code=%d) (status_code=%d)\n", __FILE__, cc1, (int) status); + +-#ifdef BROKEN_PTHREADS // Used to be MacOSX specific; kernel 2.6 as well? + pthread_cond_signal(&aframe_list_full_cv); +-#endif + cc2=pthread_join(athread, &status); + + if(verbose & TC_DEBUG) fprintf(stderr, "(%s) audio thread exit (ret_code=%d) (status_code=%d)\n", __FILE__, cc2, (int) status); +@@ -467,6 +463,7 @@ + pthread_testcancel(); + //check buffer fill level ++ pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL); + pthread_mutex_lock(&vframe_list_lock); + + while(vframe_fill_level(TC_BUFFER_FULL)) { +@@ -481,7 +478,9 @@ + pthread_exit( (int *) 11); + } + } ++ + pthread_mutex_unlock(&vframe_list_lock); ++ pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL); + + // get a frame buffer or wait + while((ptr = vframe_register(i))==NULL) { +@@ -655,6 +654,7 @@ + pthread_testcancel(); + + //check buffer fill level ++ pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL); + pthread_mutex_lock(&aframe_list_lock); + + while(aframe_fill_level(TC_BUFFER_FULL)) { +@@ -671,6 +671,7 @@ + } + + pthread_mutex_unlock(&aframe_list_lock); ++ pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL); + + // get a frame buffer or wait + while((ptr = aframe_register(i))==NULL) { |