Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Oct 2005 17:19:32 GMT
From:      Bartosz Fabianowski <freebsd@chillt.de>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/87878: [PATCH] Bugfix for multimedia/mpgtx
Message-ID:  <200510231719.j9NHJWkW004784@www.freebsd.org>
Resent-Message-ID: <200510231720.j9NHKI8b086277@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         87878
>Category:       ports
>Synopsis:       [PATCH] Bugfix for multimedia/mpgtx
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Oct 23 17:20:18 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Bartosz Fabianowski
>Release:        5-STABLE
>Organization:
>Environment:
FreeBSD takahe.local 5.4-STABLE FreeBSD 5.4-STABLE #0: Sat Oct  8 17:36:35 CEST 2005     root@takahe.local:/usr/obj/usr/src/sys/TAKAHE  i386
>Description:
Due to a bug in mpgtx the code for joining multiple mpeg files does not work when off_t is 64 bit. On FreeBSD, off_t has been a 64 bit value for ages. So, this functionality probably has been broken for a very long time.

A description of the problem along with a patch can be found in the following upstream bug report:
https://sourceforge.net/tracker/index.php?func=detail&aid=1309392&group_id=22678&atid=376136
>How-To-Repeat:
Try joining two mpeg files using mpgtx:

mpgtx -j 1.mpg 2.mpg -o joined.mpg

*** Expected Result ***

Now processing Chunk 1/2 ...  100.00%  
Now processing Chunk 2/2 ...  100.00%  

*** Actual Result ***

failed, range results in an empty chunk
>Fix:
The patch attached to the upstream big report just needs to be dropped into multimedia/mpgtx/files:

--- chunkTab.cxx.orig	Sat Dec 11 18:33:22 2004
+++ chunkTab.cxx	Fri Sep 30 11:29:15 2005
@@ -142,7 +142,7 @@
 	off_t part,nparts;
 	chunk* tempchunk = new chunk;
 	tempchunk->file = 0;
-	tempchunk->from = -1;
+	tempchunk->from = 0;
 	tempchunk->to = -1;
 	tempchunk->to_included = false;
 	tempchunk->from_included = false;
@@ -626,7 +626,7 @@
 	for (i = 1; i <= n; i++) {
 		tempchunk = new chunk;
 		tempchunk->file = 0;
-		tempchunk->from = -1;
+		tempchunk->from = 0;
 		tempchunk->to = -1;
 		tempchunk->to_included = true;
 		tempchunk->from_included = false;
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200510231719.j9NHJWkW004784>