package: smilutils version: 0.3.2+cvs20070731-4 severity: important x-debbugs-cc: Thomas Viehmann <tv@beamnet.de>, debian-release@lists.debian.org Hi, ffmpeg2raw doesn't work at all with the version of smilutils in lenny. The issue has been fixed by the 0.3.2+cvs20070731-4.1 NMU and Thomas Viehmann has been so kind to provide a targeted patch for the lenny version, which is attached. I've tested the patch and it works for me :-) debdiff is attached. Since 0.3.2+cvs20070731-4.1 hasnt migrated to squeeze yet (as its part of an ffmpeg transition going on atm), this couldnt go into 5.0.1 anyway (as smilutils didn't migrate earlier as it was part of the ffmpeg-transition, but I'd still like to (see it) fix(ed) for 5.0.2. SRMs, can I NMupload to s-p-u once 5.0.1 is out? (Maintainer approved but is looking for someone to adopt the package, which won't be me, my plate is too full already.) $ debdiff smilutils_0.3.2+cvs20070731-4.dsc smilutils_0.3.2+cvs20070731-4+lenny1.dsc|diffstat apps/ffmpeg2raw/ffmpeg2raw.c | 12 +++---- smilutils-0.3.2+cvs20070731/config.guess | 32 ++++++++++++------- smilutils-0.3.2+cvs20070731/config.sub | 44 +++++++++++++++++++++++---- smilutils-0.3.2+cvs20070731/debian/changelog | 11 ++++++ 4 files changed, 76 insertions(+), 23 deletions(-) Thomas accompanied the patch with the following words: ------ Attached is a patch doing only the pointer fixes. Now the compilation only warns about the deprecated (but still existing in lenny) ffmpeg functions. The Again, the config.{sub,guess} changes are just an artifact of compilation (debian/rules updates them), the "valuable" changes are all in the ffmpeg2raw.c. Mind you, compiler warnings like playlist.cc:942: warning: address of local variable 'data' returned (I saw that while idly watching compilation) are a fail-safe recipe for segfaults, too, but I cannot fix everything. This and the segfault for not checking strrchr's return value before passing it strncasecmp I pointed out in my mail with the NMUdiff to the original bug report (segfault when calling rawplay with files without extension) makes me think that you should try to find an interested party with C skills (i.e. not me) to look over some things. ------ regards, Holger
diff -u smilutils-0.3.2+cvs20070731/debian/changelog smilutils-0.3.2+cvs20070731/debian/changelog --- smilutils-0.3.2+cvs20070731/debian/changelog +++ smilutils-0.3.2+cvs20070731/debian/changelog @@ -1,3 +1,14 @@ +smilutils (0.3.2+cvs20070731-4+lenny1) unstable; urgency=low + + * Non-maintainer upload. + * Backport from unstable NMU: + Fix the not completely ideal pointer usage in ffmpeg2raw that + caused some compiler warnings and also impeded testing because + ffmpeg2raw invariably printed "No video or audio stream found" + instead of actually doing something. + + -- Thomas Viehmann <tv@beamnet.de> Sat, 07 Mar 2009 21:04:05 +0100 + smilutils (0.3.2+cvs20070731-4) unstable; urgency=low * Fix build with gcc 4.3 (closes: #455132) diff -u smilutils-0.3.2+cvs20070731/config.sub smilutils-0.3.2+cvs20070731/config.sub --- smilutils-0.3.2+cvs20070731/config.sub +++ smilutils-0.3.2+cvs20070731/config.sub @@ -1,10 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, -# Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# Free Software Foundation, Inc. -timestamp='2007-06-28' +timestamp='2008-01-16' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -72,8 +72,8 @@ version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -369,10 +369,14 @@ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa-* \ + | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-*) ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown + ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) @@ -443,6 +447,14 @@ basic_machine=ns32k-sequent os=-dynix ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; c90) basic_machine=c90-cray os=-unicos @@ -668,6 +680,14 @@ basic_machine=m68k-isi os=-sysv ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; m88k-omron*) basic_machine=m88k-omron ;; @@ -813,6 +833,14 @@ basic_machine=i860-intel os=-osf ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; pbd) basic_machine=sparc-tti ;; @@ -1021,6 +1049,10 @@ basic_machine=tic6x-unknown os=-coff ;; + tile*) + basic_machine=tile-unknown + os=-linux-gnu + ;; tx39) basic_machine=mipstx39-unknown ;; diff -u smilutils-0.3.2+cvs20070731/config.guess smilutils-0.3.2+cvs20070731/config.guess --- smilutils-0.3.2+cvs20070731/config.guess +++ smilutils-0.3.2+cvs20070731/config.guess @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, -# Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# Free Software Foundation, Inc. -timestamp='2007-07-22' +timestamp='2008-01-23' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -56,8 +56,8 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -532,7 +532,7 @@ echo rs6000-ibm-aix3.2 fi exit ;; - *:AIX:*:[45]) + *:AIX:*:[456]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 @@ -799,6 +799,9 @@ EM64T | authenticamd) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks @@ -833,7 +836,14 @@ echo ${UNAME_MACHINE}-pc-minix exit ;; arm*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-gnu + else + echo ${UNAME_MACHINE}-unknown-linux-gnueabi + fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu @@ -954,8 +964,8 @@ x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; - xtensa:Linux:*:*) - echo xtensa-unknown-linux-gnu + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so @@ -1474,9 +1484,9 @@ the operating system you are using. It is advised that you download the most up to date version of the config scripts from - http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD and - http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD If the version you run ($0) is already up to date, please send the following data and any information you think might be only in patch2: unchanged: --- smilutils-0.3.2+cvs20070731.orig/apps/ffmpeg2raw/ffmpeg2raw.c +++ smilutils-0.3.2+cvs20070731/apps/ffmpeg2raw/ffmpeg2raw.c @@ -136,7 +136,7 @@ for( i = 0; i < this->context->nb_streams; i++ ) { - AVCodecContext *enc = &this->context->streams[ i ]->codec; + AVCodecContext *enc = this->context->streams[ i ]->codec; switch( enc->codec_type ) { case CODEC_TYPE_VIDEO: @@ -155,7 +155,7 @@ if ( this->video_index >= 0 ) { vstream = this->context->streams[ this->video_index ]; - venc = &this->context->streams[ this->video_index ]->codec; + venc = this->context->streams[ this->video_index ]->codec; vcodec = avcodec_find_decoder( venc->codec_id ); fps = (double) venc->time_base.den / (double) venc->time_base.num; if ( fps > 10000 ) fps /= 1000; @@ -168,7 +168,7 @@ if ( this->audio_index >= 0 ) { astream = this->context->streams[ this->audio_index ]; - aenc = &this->context->streams[ this->audio_index ]->codec; + aenc = this->context->streams[ this->audio_index ]->codec; acodec = avcodec_find_decoder( aenc->codec_id ); if ( this->channels != aenc->channels && aenc->codec_id == CODEC_ID_AC3) aenc->channels = this->channels; @@ -235,7 +235,7 @@ while ( len > 0 ) { - len1 = avcodec_decode_video( &vstream->codec, frame, &got_picture, ptr, len); + len1 = avcodec_decode_video( vstream->codec, frame, &got_picture, ptr, len); if ( len1 < 0 ) break; if ( got_picture ) @@ -266,7 +266,7 @@ while ( len > 0 ) { - len1 = avcodec_decode_audio(&astream->codec, audio_buf, &data_size, ptr, len ); + len1 = avcodec_decode_audio(astream->codec, audio_buf, &data_size, ptr, len ); len -= len1; ptr += len1; if ( data_size > 0 ) @@ -340,7 +340,7 @@ for(i=0;i<ic->nb_streams;i++) { AVStream *st = ic->streams[i]; - AVCodecContext *enc = &st->codec; + AVCodecContext *enc = st->codec; AVCodec *p = avcodec_find_decoder(enc->codec_id); if ( p ) printf("%c%d: %s\n", enc->codec_type == CODEC_TYPE_VIDEO ? 'V' : 'A', i, p->name );
Attachment:
signature.asc
Description: This is a digitally signed message part.