Package: gstreamer0.10-ffmpeg
Version: 0.10.10-1
Severity: wishlist

The gstreamer0.10-ffmpeg package is configured with the --with-system-ffmpeg
option so that it uses external versions of the ffmpeg libraries and headers
(libavcodec, libavformat, libavutil, etc).  The current version in
testing/unstable (0.10.10-1) was built against ffmpeg 0.5.2 and therefore works correctly if the 0.5.2 versions of libavcodec52/libavformat52/libavutil49 are
installed.

However, if ffmpeg 0.6 versions of these libraries are installed (using the
packages from experimental or debian-multimedia) then gstreamer0.10-ffmpeg will
misbehave.  The particular case which I encountered was a failure to decode
h264 in a mkv container.  totem was exiting with the following error:

** Message: Error: Internal GStreamer error: negotiation problem. Please file
a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer.
gstffmpegdec.c(1267): gst_ffmpegdec_negotiate ():
/GstPlayBin2:play/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/ffdec_h264:ffdec_h2640:
could not find caps for codec (h264), unknown type

By running it at the GST_DEBUG=9 log level I saw the following output:

ffmpeg gstffmpegdec.c:1181:gst_ffmpegdec_negotiate:<ffdec_h2640> Renegotiating
video from 0x0@ -1/-1 fps to 512x384@ 8000000/333667 fps
ffmpeg gstffmpegcodecmap.c:1795:gst_ffmpeg_codectype_to_video_caps:
context:0x97f3330, codec_id:28, encode:0, codec:(nil)
ffmpeg gstffmpegcodecmap.c:1675:gst_ffmpeg_pixfmt_to_caps: No caps found for
pix_fmt=12
ffmpeg gstffmpegdec.c:1267:gst_ffmpegdec_negotiate:<ffdec_h2640> error: could
not find caps for codec (h264), unknown type

And by comparing libavutil/pixfmt.h between ffmpeg 0.5.2 and 0.6 I can see that
the definition for the PixelFormat enum has indeed changed, meaning that
pix_fmt=12 is no longer equal to PIX_FMT_YUVJ420P.

This is no doubt the root cause of
https://bugzilla.gnome.org/show_bug.cgi?id=626495 and
https://bugzilla.gnome.org/show_bug.cgi?id=626007

Therefore gstreamer0.10-ffmpeg needs to be rebuilt (and preferably updated to
0.10.11) if/when the ffmpeg 0.6-based versions of
libavcodec52/libavformat52/libavutil49 are migrated from experimental to
unstable. However, I think this is just one symptom of what may turn out to be
a bigger problem - numerous other packages use libavformat and they will all
suffer similar misbehaviour if they are not rebuilt. My recommendation would be that the ffmpeg 0.6-based packages are not called libavcodec52/libavformat52 (as in currently being done in experimental and debian-multimedia) but instead new
packages called libavcodec60/libavformat60 are created.  That way, packages
which were built against 0.5.2 will not be immediately broken and they can be migrated to 0.6 over time. It is quite possible that this approach has already
been considered and rejected for a good reason but I do not know of it.



-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.34.1 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash

Versions of packages gstreamer0.10-ffmpeg depends on:
ii libavcodec52 5:0.6~svn20100726-0.0 library to encode decode multimedi
ii  libavformat52      5:0.6~svn20100726-0.0 ffmpeg file format library
ii  libavutil49        4:0.5.2-1             ffmpeg utility library
ii libc6 2.11.2-2 Embedded GNU C Library: Shared lib
ii  libglib2.0-0       2.24.1-1              The GLib library of C routines
ii libgstreamer-plugi 0.10.30-1 GStreamer libraries from the "base ii libgstreamer0.10-0 0.10.30-1 Core GStreamer libraries and eleme ii liboil0.3 0.3.17-1 Library of Optimized Inner Loops
ii  libpostproc51      5:0.6~svn20100726-0.0 postproc shared libraries
ii  libswscale0        5:0.6~svn20100726-0.0 ffmpeg video scaling library

gstreamer0.10-ffmpeg recommends no packages.

gstreamer0.10-ffmpeg suggests no packages.

-- no debconf information

Confidentiality Notice: This message (including attachments) is a private communication solely for use of the intended recipient(s). If you are not the intended recipient(s) or believe you received this message in error, notify the sender immediately and then delete this message. Any other use, retention, dissemination or copying is prohibited and may be a violation of law, including the Electronic Communication Privacy Act of 1986."



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to