GNOME Bugzilla – Bug 559924
[gst-pitfdll] Error playing WMA v9: GstAudioConvert: not negotiated
Last modified: 2009-05-30 17:46:39 UTC
Please describe the problem: When playing files such as the attached, there is an error: GstAudioConvert: not negotiated Hopefully the verbose output of gst-launch can help: $ gst-launch -v playbin uri=file://$PWD/PianoDemo1.wma Setting pipeline to PAUSED ... /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = video/x-ms-asf Pipeline is PREROLLING ... /GstPlayBin:playbin0/GstStreamSelector:selector_audio_src0: active-pad = NULL /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstQueue:queue0.GstPad:sink: caps = audio/x-wma, wmaversion=(int)3, bitrate=(int)192016, depth=(int)16, rate=(int)44100, channels=(int)2, block_align=(int)8917, codec_data=(buffer)1000030000000000000000000000e0000000 /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstQueue:queue0.GstPad:src: caps = audio/x-wma, wmaversion=(int)3, bitrate=(int)192016, depth=(int)16, rate=(int)44100, channels=(int)2, block_align=(int)8917, codec_data=(buffer)1000030000000000000000000000e0000000 /GstPlayBin:playbin0/GstDecodeBin:decodebin0/dmodec_wmadmodv3:dmodec_wmadmodv30.GstPad:src: caps = audio/x-raw-int, width=(int)16, depth=(int)16, signed=(boolean)true, endianness=(int)1234, rate=(int)44100, channels=(int)2 /GstPlayBin:playbin0/GstDecodeBin:decodebin0/dmodec_wmadmodv3:dmodec_wmadmodv30.GstPad:sink: caps = audio/x-wma, wmaversion=(int)3, bitrate=(int)192016, depth=(int)16, rate=(int)44100, channels=(int)2, block_align=(int)8917, codec_data=(buffer)1000030000000000000000000000e0000000 /GstPlayBin:playbin0/GstStreamSelector:selector_audio_src0.GstSelectorPad:sink0: caps = audio/x-raw-int, width=(int)16, depth=(int)16, signed=(boolean)true, endianness=(int)1234, rate=(int)44100, channels=(int)2 /GstPlayBin:playbin0/GstDecodeBin:decodebin0.GstGhostPad:src0: caps = audio/x-raw-int, width=(int)16, depth=(int)16, signed=(boolean)true, endianness=(int)1234, rate=(int)44100, channels=(int)2 /GstPlayBin:playbin0/GstDecodeBin:decodebin0.GstGhostPad:src0.GstProxyPad:proxypad1: caps = audio/x-raw-int, width=(int)16, depth=(int)16, signed=(boolean)true, endianness=(int)1234, rate=(int)44100, channels=(int)2 (gst-launch-0.10:24497): GStreamer-WARNING **: pad dmodec_wmadmodv30:src returned caps which are not a real subset of its template caps ERROR: from element /GstPlayBin:playbin0/GstBin:abin/GstAudioConvert:aconv: not negotiated Additional debug info: gstbasetransform.c(1826): gst_base_transform_handle_buffer (): /GstPlayBin:playbin0/GstBin:abin/GstAudioConvert:aconv: not negotiated ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... /GstPlayBin:playbin0/GstStreamSelector:selector_audio_src0.GstSelectorPad:sink0: caps = NULL /GstPlayBin:playbin0/GstDecodeBin:decodebin0.GstGhostPad:src0: caps = NULL /GstPlayBin:playbin0/GstDecodeBin:decodebin0/dmodec_wmadmodv3:dmodec_wmadmodv30.GstPad:src: caps = NULL /GstPlayBin:playbin0/GstDecodeBin:decodebin0/dmodec_wmadmodv3:dmodec_wmadmodv30.GstPad:sink: caps = NULL Total Unfree 0 bytes cnt 0 [(nil),0] /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstQueue:queue0.GstPad:src: caps = NULL /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstQueue:queue0.GstPad:sink: caps = NULL /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstASFDemux:asfdemux0.GstPad:audio_00: caps = NULL /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = NULL FREEING pipeline ... Steps to reproduce: Actual results: Expected results: Does this happen every time? Other information:
Created attachment 122237 [details] WMA v9 file
dmodec_wmadmodv3 <== What is this plugin ?? I can't see anything related to gst-ffmpeg in that report. Can you please tell us what plugin that is ?
Looks like it's from pitfdll: $ gst-inspect dmodec_wmadmodv3 Factory Details: Long name: DMO wmadmod decoder version 3 Class: Codec/Decoder/Audio Description: DMO Windows Media Audio decoder version 3 Author(s): Ronald Bultje <rbultje@ronald.bitfreak.net> Rank: secondary (128) Plugin Details: Name: pitfdll Description: DLL-loader elements Filename: /usr/lib/gstreamer-0.10/libpitfdll.so Version: 0.9.1.1 License: GPL Source module: pitfdll Binary package: PitfDLL Origin URL: http://ronald.bitfreak.net/pitfdll/ etc.
Without pitfdll I just get: ** Message: don't know how to handle audio/x-wma, wmaversion=(int)3, bitrate=(int)192016, depth=(int)16, rate=(int)44100, channels=(int)2, block_align=(int)8917, codec_data=(buffer)1000030000000000000000000000e0000000 So I guess this bug is really, 'please support WMA v3'. Not that there's any free software that can decode it yet... :(
Assuming this is a bug in pitfdll, I filed a new bug at <https://sourceforge.net/tracker/index.php?func=detail&aid=2396620&group_id=137113&atid=737823>.
Yes, most likely a bug in pitfdll (which btw, is completely unmaintained, and doesn't even seem to compile with gcc-4.x).
Should I file a separate bug to request support for WMA v3 files then? :)
> Should I file a separate bug to request support for WMA v3 files then? :) Sure, if you can point us to an open source library that supports this and has a suitable license. We don't really do our own codecs. You could file a request with the ffmpeg folks of course, but I have a feeling they're aware of this already.