Bug 138570

Summary: k3b does not find the transcode binary
Product: [Applications] k3b Reporter: Andreas <ngdreas>
Component: Video DVDAssignee: Sebastian Trueg <trueg>
Status: RESOLVED FIXED    
Severity: normal CC: hwittmaack
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Andreas 2006-12-09 05:07:00 UTC
Version:           0.94svn (using KDE KDE 3.5.5)
Installed from:    SuSE RPMs
Compiler:          gcc 4.1.2 
OS:                Linux

I compiled transcode from a recent cvs-version (2006.12.02) and k3b can not find the binary anymore. By trial & error I figured out that transcode changed it's output on the command line when it is invoked without parameters, as k3b does when it probes for the version.

Here is what transcode used to return (cvs from 2006.08.08):
andreas@HAL9001:~> /usr/local/compat/transcode
transcode v1.1.0-cvs (C) 2001-2003 Thomas Oestreich, 2003-2004 T. Bitterberg
'transcode -h | more' shows a list of available command line options.

And here what the more current version returns:
andreas@HAL9001:~> transcode
'transcode -h | more' shows a list of available command line options.

After some searching and browsing through k3b's source code I came up with a patch that works for me (it detects both the old and the new version of transcode). I basically looked at how k3b finds the other programs and then did some copy & paste.

--- k3b/libk3b/core/k3bdefaultexternalprograms.cpp~	2006-12-05 20:54:28.000000000 -0800
+++ k3b/libk3b/core/k3bdefaultexternalprograms.cpp	2006-12-08 09:44:23.000000000 -0800
@@ -609,7 +609,7 @@
 
   // probe version
   KProcess vp;
-  vp << appPath ;
+  vp << appPath << "-v";
   K3bProcessOutputCollector out( &vp );
   if( vp.start( KProcess::Block, KProcess::AllOutput ) ) {
     int pos = out.output().find( "transcode v" );
Comment 1 Sebastian Trueg 2006-12-09 10:34:16 UTC
patch applied. Thanks a lot.