Date: Tue, 19 Mar 2013 18:03:03 +0000 (UTC) From: Juergen Lock <nox@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r314671 - in head/multimedia/vdr: . files Message-ID: <201303191803.r2JI33Ht085057@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: nox Date: Tue Mar 19 18:03:02 2013 New Revision: 314671 URL: http://svnweb.freebsd.org/changeset/ports/314671 Log: - Add fix for crashes when cutting. [1] - Convert Makefile header. - Bump PORTREVISION. Reported by: gb+ML-2011@derbrauer.homelinux.net (Gerhard Brauer) [1] Added: head/multimedia/vdr/files/patch-z-cutter.c (contents, props changed) Modified: head/multimedia/vdr/Makefile Modified: head/multimedia/vdr/Makefile ============================================================================== --- head/multimedia/vdr/Makefile Tue Mar 19 18:00:29 2013 (r314670) +++ head/multimedia/vdr/Makefile Tue Mar 19 18:03:02 2013 (r314671) @@ -1,13 +1,9 @@ -# New ports collection makefile for: vdr -# Date created: Wed Apr 14 18:11:42 CEST 2010 -# Whom: Juergen Lock <nox@freebsd.org> -# +# Created by: Juergen Lock <nox@freebsd.org> # $FreeBSD$ -# PORTNAME= vdr PORTVERSION= 1.7.29 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= multimedia MASTER_SITES= ftp://ftp.tvdr.de/vdr/Developer/ Added: head/multimedia/vdr/files/patch-z-cutter.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/vdr/files/patch-z-cutter.c Tue Mar 19 18:03:02 2013 (r314671) @@ -0,0 +1,61 @@ +--- cutter.c.orig ++++ cutter.c +@@ -83,7 +83,18 @@ void cCuttingThread::Action(void) + int LastIFrame = 0; + toMarks.Add(0); + toMarks.Save(); ++#ifdef __FreeBSD__ ++ // XXX save thread stack space ++ uchar *buffer = MALLOC(uchar, MAXFRAMESIZE); ++ uchar *buffer2 = MALLOC(uchar, MAXFRAMESIZE); ++ if (buffer == NULL || buffer2 == NULL) { ++ free(buffer); ++ error = "malloc"; ++ return; ++ } ++#else + uchar buffer[MAXFRAMESIZE], buffer2[MAXFRAMESIZE]; ++#endif + int Length2; + bool CheckForSeamlessStream = false; + bool LastMark = false; +@@ -108,7 +119,7 @@ void cCuttingThread::Action(void) + CurrentFileNumber = FileNumber; + } + if (fromFile) { +- int len = ReadFrame(fromFile, buffer, Length, sizeof(buffer)); ++ int len = ReadFrame(fromFile, buffer, Length, MAXFRAMESIZE); + if (len < 0) { + error = "ReadFrame"; + break; +@@ -193,7 +204,7 @@ void cCuttingThread::Action(void) + if (FileNumber != CurrentFileNumber) + fromFile = fromFileName->SetOffset(FileNumber, FileOffset); + if (fromFile) { +- int len = ReadFrame(fromFile, buffer2, Length2, sizeof(buffer2)); ++ int len = ReadFrame(fromFile, buffer2, Length2, MAXFRAMESIZE); + if (len >= 0 && len == Length2) + CheckForSeamlessStream = true; + } +@@ -216,6 +227,10 @@ void cCuttingThread::Action(void) + } + } + Recordings.TouchUpdate(); ++#ifdef __FreeBSD__ ++ free(buffer); ++ free(buffer2); ++#endif + } + else + esyslog("no editing marks found!"); +--- thread.c.orig ++++ thread.c +@@ -242,7 +242,7 @@ void cThread::SetPriority(int Priority) + void cThread::SetIOPriority(int Priority) + { + #ifdef __FreeBSD__ +- esyslog("ERROR: syscall(SYS_ioprio_set ...) unsupported on FreeBSD"); ++ // esyslog("ERROR: syscall(SYS_ioprio_set ...) unsupported on FreeBSD"); + #else + if (syscall(SYS_ioprio_set, 1, 0, (Priority & 0xff) | (2 << 13)) < 0) // best effort class + LOG_ERROR;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201303191803.r2JI33Ht085057>