After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 559682 - negotiation problem
negotiation problem
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-ugly
git master
Other Linux
: Normal blocker
: 0.10.10
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-11-07 00:33 UTC by Christian Hagen
Modified: 2008-11-11 17:14 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22


Attachments
possible patch (900 bytes, patch)
2008-11-11 10:42 UTC, Wim Taymans
committed Details | Review

Description Christian Hagen 2008-11-07 00:33:16 UTC
Totem gave the error message of internal error: negotiation problem.

Ran this command line on the file: mplayer -identify "Libellule - Bukkake.wmv" -ao null -vo null -frames 0 2>/dev/null | grep ^ID_


This gave me this info:
ID_AUDIO_ID=1
ID_VIDEO_ID=2
ID_CLIP_INFO_NAME0=name
ID_CLIP_INFO_VALUE0=
ID_CLIP_INFO_NAME1=author
ID_CLIP_INFO_VALUE1=
ID_CLIP_INFO_NAME2=copyright
ID_CLIP_INFO_VALUE2=
ID_CLIP_INFO_NAME3=comments
ID_CLIP_INFO_VALUE3=
ID_CLIP_INFO_N=4
ID_FILENAME=Libellule - Bukkake.wmv
ID_DEMUXER=asf
ID_VIDEO_FORMAT=WMV1
ID_VIDEO_BITRATE=1100000
ID_VIDEO_WIDTH=384
ID_VIDEO_HEIGHT=288
ID_VIDEO_FPS=1000.000
ID_VIDEO_ASPECT=0.0000
ID_AUDIO_FORMAT=353
ID_AUDIO_BITRATE=0
ID_AUDIO_RATE=0
ID_AUDIO_NCH=0
ID_LENGTH=1913.00
ID_VIDEO_CODEC=ffwmv1
ID_AUDIO_BITRATE=96040
ID_AUDIO_RATE=44100
ID_AUDIO_NCH=2
ID_AUDIO_CODEC=ffwmav2

VLC 0.8.6.release.e+x264svn20071224+faad2.6.1-0ubuntu3.2 plays the file after about 5 seconds. A little long for VLC to start playing files, but still playable.
Comment 1 Wim Taymans 2008-11-10 09:56:04 UTC
Can you please paste all the output from running:

gst-launch-0.10 -v playbin uri="file:///<path to file>/Libellule - Bukkake.wmv"

Comment 2 Christian Hagen 2008-11-10 13:33:43 UTC
(In reply to comment #1)
> Can you please paste all the output from running:
> 
> gst-launch-0.10 -v playbin uri="file:///<path to file>/Libellule - Bukkake.wmv"
> 

Here's the output:

Setting pipeline to PAUSED ...
/playbin0/decodebin0/typefind.src: caps = video/x-ms-asf
Pipeline is PREROLLING ...
/playbin0/selector_audio_src0: active-pad = NULL
/playbin0/selector_video_src1: active-pad = NULL
/playbin0/decodebin0/queue0.sink: caps = audio/x-wma, wmaversion=(int)2, bitrate=(int)96040, depth=(int)16, rate=(int)44100, channels=(int)2, block_align=(int)2230, codec_data=(buffer)008800000f0000000000
/playbin0/decodebin0/queue0: max-size-bytes = 17840
/playbin0/decodebin0/queue0: max-size-bytes = 35680
/playbin0/decodebin0/queue0.src: caps = audio/x-wma, wmaversion=(int)2, bitrate=(int)96040, depth=(int)16, rate=(int)44100, channels=(int)2, block_align=(int)2230, codec_data=(buffer)008800000f0000000000
/playbin0/decodebin0/queue0: max-size-bytes = 71360
/playbin0/decodebin0/queue0: max-size-bytes = 142720
/playbin0/decodebin0/ffdec_wmav20.sink: caps = audio/x-wma, wmaversion=(int)2, bitrate=(int)96040, depth=(int)16, rate=(int)44100, channels=(int)2, block_align=(int)2230, codec_data=(buffer)008800000f0000000000
/playbin0/decodebin0/ffdec_wmav20.src: caps = audio/x-raw-int, rate=(int)44100, channels=(int)2, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/playbin0/selector_audio_src0.sink0: caps = audio/x-raw-int, rate=(int)44100, channels=(int)2, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/playbin0/decodebin0.src0: caps = audio/x-raw-int, rate=(int)44100, channels=(int)2, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/playbin0/decodebin0.src0.proxypad1: caps = audio/x-raw-int, rate=(int)44100, channels=(int)2, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/playbin0/selector_audio_src0.src: caps = audio/x-raw-int, rate=(int)44100, channels=(int)2, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/playbin0/preroll_audio_src0.sink: caps = audio/x-raw-int, rate=(int)44100, channels=(int)2, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/playbin0/preroll_audio_src0.src: caps = audio/x-raw-int, rate=(int)44100, channels=(int)2, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/playbin0/abin/aconv.src: caps = audio/x-raw-int, rate=(int)44100, channels=(int)2, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/playbin0/abin/aconv.sink: caps = audio/x-raw-int, rate=(int)44100, channels=(int)2, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/playbin0/abin.sink: caps = audio/x-raw-int, rate=(int)44100, channels=(int)2, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/playbin0/abin.sink: caps = audio/x-raw-int, rate=(int)44100, channels=(int)2, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/playbin0/abin.sink.proxypad4: caps = audio/x-raw-int, rate=(int)44100, channels=(int)2, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/playbin0/abin/aresample.src: caps = audio/x-raw-int, rate=(int)44100, channels=(int)2, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/playbin0/abin/aresample.sink: caps = audio/x-raw-int, rate=(int)44100, channels=(int)2, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/playbin0/abin/volume.src: caps = audio/x-raw-int, rate=(int)44100, channels=(int)2, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/playbin0/abin/volume.sink: caps = audio/x-raw-int, rate=(int)44100, channels=(int)2, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/playbin0/decodebin0/queue2.sink: caps = video/x-wmv, wmvversion=(int)1, framerate=(fraction)25/1, width=(int)384, height=(int)288, pixel-aspect-ratio=(fraction)0/1, format=(fourcc)WMV1
/playbin0/decodebin0/queue2.src: caps = video/x-wmv, wmvversion=(int)1, framerate=(fraction)25/1, width=(int)384, height=(int)288, pixel-aspect-ratio=(fraction)0/1, format=(fourcc)WMV1
/playbin0/decodebin0/ffdec_wmv10.sink: caps = video/x-wmv, wmvversion=(int)1, framerate=(fraction)25/1, width=(int)384, height=(int)288, pixel-aspect-ratio=(fraction)0/1, format=(fourcc)WMV1
/playbin0/decodebin0/ffdec_wmv10.src: caps = video/x-raw-yuv, width=(int)384, height=(int)288, framerate=(fraction)25/1, format=(fourcc)I420, pixel-aspect-ratio=(fraction)0/1
/playbin0/selector_video_src1.sink0: caps = video/x-raw-yuv, width=(int)384, height=(int)288, framerate=(fraction)25/1, format=(fourcc)I420, pixel-aspect-ratio=(fraction)0/1
/playbin0/decodebin0.src1: caps = video/x-raw-yuv, width=(int)384, height=(int)288, framerate=(fraction)25/1, format=(fourcc)I420, pixel-aspect-ratio=(fraction)0/1
/playbin0/decodebin0.src1.proxypad2: caps = video/x-raw-yuv, width=(int)384, height=(int)288, framerate=(fraction)25/1, format=(fourcc)I420, pixel-aspect-ratio=(fraction)0/1
/playbin0/selector_video_src1.src: caps = video/x-raw-yuv, width=(int)384, height=(int)288, framerate=(fraction)25/1, format=(fourcc)I420, pixel-aspect-ratio=(fraction)0/1
/playbin0/preroll_video_src1.sink: caps = video/x-raw-yuv, width=(int)384, height=(int)288, framerate=(fraction)25/1, format=(fourcc)I420, pixel-aspect-ratio=(fraction)0/1
/playbin0/preroll_video_src1.src: caps = video/x-raw-yuv, width=(int)384, height=(int)288, framerate=(fraction)25/1, format=(fourcc)I420, pixel-aspect-ratio=(fraction)0/1
/playbin0/vbin/id.src: caps = video/x-raw-yuv, width=(int)384, height=(int)288, framerate=(fraction)25/1, format=(fourcc)I420, pixel-aspect-ratio=(fraction)0/1
/playbin0/vbin/id.sink: caps = video/x-raw-yuv, width=(int)384, height=(int)288, framerate=(fraction)25/1, format=(fourcc)I420, pixel-aspect-ratio=(fraction)0/1
/playbin0/vbin.sink: caps = video/x-raw-yuv, width=(int)384, height=(int)288, framerate=(fraction)25/1, format=(fourcc)I420, pixel-aspect-ratio=(fraction)0/1
/playbin0/vbin.sink: caps = video/x-raw-yuv, width=(int)384, height=(int)288, framerate=(fraction)25/1, format=(fourcc)I420, pixel-aspect-ratio=(fraction)0/1
/playbin0/vbin.sink.proxypad6: caps = video/x-raw-yuv, width=(int)384, height=(int)288, framerate=(fraction)25/1, format=(fourcc)I420, pixel-aspect-ratio=(fraction)0/1
/playbin0/vbin/vconv.src: caps = video/x-raw-yuv, width=(int)384, height=(int)288, framerate=(fraction)25/1, format=(fourcc)I420, pixel-aspect-ratio=(fraction)0/1
/playbin0/vbin/vconv.sink: caps = video/x-raw-yuv, width=(int)384, height=(int)288, framerate=(fraction)25/1, format=(fourcc)I420, pixel-aspect-ratio=(fraction)0/1
/playbin0/vbin/vscale.src: caps = video/x-raw-yuv, width=(int)384, height=(int)288, framerate=(fraction)25/1, format=(fourcc)I420, pixel-aspect-ratio=(fraction)0/1
/playbin0/vbin/vscale.sink: caps = video/x-raw-yuv, width=(int)384, height=(int)288, framerate=(fraction)25/1, format=(fourcc)I420, pixel-aspect-ratio=(fraction)0/1

** (gst-launch-0.10:6776): CRITICAL **: gst_video_calculate_display_ratio: assertion `num > 0' failed
FEIL: fra element /playbin0/vbin/videosink/videosink-actual-sink-xvimage: Internal GStreamer error: negotiation problem.  Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer.
Tilleggsinformasjon for feilsøking:
xvimagesink.c(2010): gst_xvimagesink_setcaps (): /playbin0/vbin/videosink/videosink-actual-sink-xvimage:
Error calculating the output display ratio of the video.
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
/playbin0/vbin/vscale.src: caps = NULL
/playbin0/vbin/vscale.sink: caps = NULL
/playbin0/vbin/vconv.src: caps = NULL
/playbin0/vbin/vconv.sink: caps = NULL
/playbin0/vbin/id.src: caps = NULL
/playbin0/vbin/id.sink: caps = NULL
/playbin0/vbin.sink: caps = NULL
/playbin0/abin/audiosink/audiosink-actual-sink-pulse.sink: caps = audio/x-raw-int, rate=(int)44100, channels=(int)2, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/playbin0/abin/audiosink.sink: caps = audio/x-raw-int, rate=(int)44100, channels=(int)2, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/playbin0/abin/audiosink.sink: caps = audio/x-raw-int, rate=(int)44100, channels=(int)2, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/playbin0/abin/audiosink.sink.proxypad3: caps = audio/x-raw-int, rate=(int)44100, channels=(int)2, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/playbin0/abin/audiosink.sink: caps = NULL
/playbin0/abin/volume.src: caps = NULL
/playbin0/abin/volume.sink: caps = NULL
/playbin0/abin/aresample.src: caps = NULL
/playbin0/abin/aresample.sink: caps = NULL
/playbin0/abin/aconv.src: caps = NULL
/playbin0/abin/aconv.sink: caps = NULL
/playbin0/abin.sink: caps = NULL
/playbin0/preroll_video_src1.src: caps = NULL
/playbin0/preroll_video_src1.sink: caps = NULL
/playbin0/preroll_audio_src0.src: caps = NULL
/playbin0/preroll_audio_src0.sink: caps = NULL
/playbin0/selector_video_src1.sink0: caps = NULL
/playbin0/selector_video_src1.src: caps = NULL
/playbin0/selector_audio_src0.sink0: caps = NULL
/playbin0/selector_audio_src0.src: caps = NULL
/playbin0/decodebin0.src1: caps = NULL
/playbin0/decodebin0.src0: caps = NULL
/playbin0/decodebin0/ffdec_wmv10.src: caps = NULL
/playbin0/decodebin0/ffdec_wmv10.sink: caps = NULL
/playbin0/decodebin0/queue2.src: caps = NULL
/playbin0/decodebin0/queue2.sink: caps = NULL
/playbin0/decodebin0/ffdec_wmav20.src: caps = NULL
/playbin0/decodebin0/ffdec_wmav20.sink: caps = NULL
/playbin0/decodebin0/queue0.src: caps = NULL
/playbin0/decodebin0/queue0.sink: caps = NULL
/playbin0/decodebin0/asfdemux0.video_00: caps = NULL
/playbin0/decodebin0/asfdemux0.audio_00: caps = NULL
/playbin0/decodebin0/typefind.src: caps = NULL
/playbin0/abin/audiosink/audiosink-actual-sink-pulse.sink: caps = NULL

I'll be happy to provide any more info you need as long as I get instructions on how to obtain it.
Comment 3 Wim Taymans 2008-11-10 13:40:44 UTC
ah, asfdemux sets a wrong pixel aspect ratio.
Comment 4 Wim Taymans 2008-11-11 10:42:29 UTC
Created attachment 122398 [details] [review]
possible patch

Only copy sane aspect ratio values on the caps.
Comment 5 Christian Hagen 2008-11-11 11:07:06 UTC
I'll be happy to test it out if you could guide me with a link on how to use it, or explain it to me. I'm not too comfortable researching something so important (to me) on my own, and possibly screw up my entire server. Apologies for the inconvenience.
Comment 6 Wim Taymans 2008-11-11 11:11:52 UTC
I would suggest to wait for the next release of the -ugly packages and then wait for your distro to ship them.

If you are really adventurous, you could build gstreamer from CVS, which is explained here: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/faq/html/chapter-cvs.html

Then you would apply the patch of this bug report and recompile.
Comment 7 Wim Taymans 2008-11-11 17:14:58 UTC
        * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_add_video_stream):
        Only copy sane aspect ratio values on the caps. Fixes #559682.