I just upgraded ffmpeg and performed a revdep-rebuild. Nothing rebuilt for this upgrade however when I next ran Kino it displayed instability until I rebuilt it. I then decided to rebuild all applications that depend on ffmpeg and the K3B build failed due to a type conversion error ** to * in the plugins ffmpegwrapper. There are some issues with this version of ffmpeg. Regards, Neil Darlow Reproducible: Always Steps to Reproduce: 1. 2. 3.
The affected application versions are: kino-0.7.6 k3b-0.12.3 Regards, Neil Darlow
For k3b there seems to be fix in kde svn http://lists.kde.org/?l=kde-commits&m=112631268215288&w=2
Created attachment 68090 [details, diff] k3b-0.12.3-ffmpeg-fix.patch Patch against k3b-0.12.3
I can't understand why, if the API has changed, the library .so number hasn't also changed to allow forced upgrades. There's potential to break a lot of applications, which won't have been updated by revdep-rebuild, because the library .so number hasn't changed.
ffmpeg-0.4.9_p20050906 causes a segfault (when launching videos) in vlc 0.8.2-r1. As soon as, I downgrabed to the previous version, vlc started working properly. Cago-Ma3oxuct portage # emerge info Portage 2.0.52-r1 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r1, 2.6.12-gentoo-r9 i686) ================================================================= System uname: 2.6.12-gentoo-r9 i686 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.12.0_pre8 ccache version 2.4 [enabled] dev-lang/python: 2.3.5, 2.4.1-r1 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -mtune=athlon-xp -pipe -O3 -fweb -frename-registers -fforce-addr -momit-leaf-frame-pointer -fomit-frame-pointer -ftracer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -mtune=athlon-xp -pipe -O3 -fweb -frename-registers -fforce-addr -momit-leaf-frame-pointer -fomit-frame-pointer -ftracer -fvisibility-inlines-hidden" DISTDIR="/in/portage" FEATURES="autoconfig ccache distlocks sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://gentoo.mirrors.tds.net/gentoo/ http://ccccom.com" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X a52 aac aalib alsa apm arts avi berkdb bitmap-fonts cdr crypt cups curl divx4linux dvd dvdr dvdread eds emboss encode esd fam fame ffmpeg flac foomaticdb fortran gdbm gif gnome gpm gstreamer gtk gtk2 imagemagick imlib ipv6 jpeg jpeg2k kde libg++ libwww mad matroska mikmod mjpeg mng motif mozilla mp3 mpeg ncurses nls nptl ogg oggvorbis openal opengl oss pam pdflib perl png python qt quicktime rar readline sdl spell sse sse2 ssl svga tcltk tcpd theora tiff truetype truetype-fonts type1-fonts vorbis win32codecs wxwindows xml2 xmms xv xvid zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
(In reply to comment #5) > ffmpeg-0.4.9_p20050906 causes a segfault (when launching videos) in vlc 0.8.2-r1. Did you try emergeing vlc again after ffmpeg was updated? Assuming the changed API of ffmpeg doesn't break the build of vlc, it might fix the segfault.
Yes that did fix it. It applied a new patch to vlc (not sure what had motivated it to do that because I did not find any bug reports). Thanks for the suggesstion.
/bin/sh ../../../libtool --silent --mode=compile --tag=CXX i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I./../../../libk3b/core -I./../../../libk3b/plugin -I./../../../libk3bdevice -I/usr/kde/3.4/include -I/usr/qt/3/include -I. -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wno-non-virtual-dtor -DNDEBUG -DNO_DEBUG -O2 -O2 -pipe -march=pentium-m -fomit-frame-pointer -ftracer -fforce-addr -fprefetch-loop-arrays -falign-functions=64 -frename-registers -fvisibility-inlines-hidden -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -c -o k3bffmpegdecoder.lo `test -f 'k3bffmpegdecoder.cpp' || echo './'`k3bffmpegdecoder.cpp k3bffmpegwrapper.cpp: In member function `bool K3bFFMpegFile::open()': k3bffmpegwrapper.cpp:85: error: cannot convert `AVCodecContext**' to `AVCodecContext*' in initialization k3bffmpegwrapper.cpp: In member function `void K3bFFMpegFile::close()': k3bffmpegwrapper.cpp:127: error: cannot convert `AVCodecContext**' to `AVCodecContext*' for argument `1' to `int avcodec_close(AVCodecContext*)' k3bffmpegwrapper.cpp: In member function `int K3bFFMpegFile::sampleRate() const': k3bffmpegwrapper.cpp:146: error: request for member `sample_rate' in `((K3bFFMpegFile::Private*)((const K3bFFMpegFile*)this)->K3bFFMpegFile::d)->K3bFFMpegFile::Private::formatContext->AVFormatContext::streams[0]->AVStream::codec', which is of non-class type `AVCodecContext*' k3bffmpegwrapper.cpp: In member function `int K3bFFMpegFile::channels() const': k3bffmpegwrapper.cpp:152: error: request for member `channels' in `((K3bFFMpegFile::Private*)((const K3bFFMpegFile*)this)->K3bFFMpegFile::d)->K3bFFMpegFile::Private::formatContext->AVFormatContext::streams[0]->AVStream::codec', which is of non-class type `AVCodecContext*' k3bffmpegwrapper.cpp: In member function `int K3bFFMpegFile::type() const': k3bffmpegwrapper.cpp:158: error: request for member `codec_id' in `((K3bFFMpegFile::Private*)((const K3bFFMpegFile*)this)->K3bFFMpegFile::d)->K3bFFMpegFile::Private::formatContext->AVFormatContext::streams[0]->AVStream::codec', which is of non-class type `AVCodecContext*' k3bffmpegwrapper.cpp: In member function `QString K3bFFMpegFile::typeComment() const': k3bffmpegwrapper.cpp:164: error: request for member `codec_id' in `((K3bFFMpegFile::Private*)((const K3bFFMpegFile*)this)->K3bFFMpegFile::d)->K3bFFMpegFile::Private::formatContext->AVFormatContext::streams[0]->AVStream::codec', which is of non-class type `AVCodecContext*' k3bffmpegwrapper.cpp: In member function `int K3bFFMpegFile::fillOutputBuffer()': k3bffmpegwrapper.cpp:262: error: cannot convert `AVCodecContext**' to `AVCodecContext*' for argument `1' to `int avcodec_decode_audio(AVCodecContext*, int16_t*, int*, uint8_t*, int)' make[4]: *** [k3bffmpegwrapper.lo] Error 1 make[4]: *** Waiting for unfinished jobs.... make[4]: Leaving directory `/var/tmp/portage/k3b-0.12.3/work/k3b-0.12.3/plugins/decoder/ffmpeg' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/k3b-0.12.3/work/k3b-0.12.3/plugins/decoder' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/k3b-0.12.3/work/k3b-0.12.3/plugins'make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/k3b-0.12.3/work/k3b-0.12.3' make: *** [all] Error 2 !!! ERROR: app-cdr/k3b-0.12.3 failed. !!! Function kde_src_compile, Line 170, Exitcode 2 !!! died running emake, kde_src_compile:make !!! If you need support, post the topmost build error, NOT this status message. Yes, I have a bunch of stuff in my CFLAGS...
This bug is fixed in k3b 0.12.4a. It was an api-change in ffmpeg.
add avifile-0.7.43.20050224-r2 to the list of things ffmpeg-0.4.9_p20050906 breaks. see bug #105597
And probably transcode too ;-)
k3b 0.12.4a is now in portage