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 732388 - gst-launch: shorten audio playback fails: Internal GStreamer error: negotiation problem.
gst-launch: shorten audio playback fails: Internal GStreamer error: negotiat...
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-libav
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-06-28 13:56 UTC by David Timms
Modified: 2018-11-03 12:56 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description David Timms 2014-06-28 13:56:00 UTC
Does not seem to be a way to playback shorten lossless audio files.

$ gst-launch-0.10 -v filesrc location=/home/a/c.shn ! ffdec_shorten ! pulsesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/ffdec_shorten:ffdec_shorten0: Internal GStreamer error: negotiation problem.  Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer.
Additional debug info:
gstffmpegdec.c(2822): gst_ffmpegdec_chain (): /GstPipeline:pipeline0/ffdec_shorten:ffdec_shorten0:
ffdec_shorten: input format was not set before data start
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...

-----
$ gst-launch-1.0 -v filesrc location=/home/a/c.shn ! ffdec_shorten ! pulsesink
WARNING: erroneous pipeline: no element "ffdec_shorten"

-----
gst-inspect -p |grep shorten
ffmpeg:  ffdec_shorten: FFmpeg Shorten decoder
typefindfunctions: audio/x-shorten: shn

-----
$ gst-inspect-0.10 -a |grep shorten
ffdec_shorten: Factory Details:
ffdec_shorten:   Long name:	FFmpeg Shorten decoder
ffdec_shorten:   Class:	Codec/Decoder/Audio
ffdec_shorten:   Description:	FFmpeg shorten decoder
ffdec_shorten:   Author(s):	Wim Taymans <wim.taymans@gmail.com>, Ronald Bultje <rbultje@ronald.bitfreak.net>, Edward Hervey <bilboed@bilboed.com>
ffdec_shorten:   Rank:		marginal (64)
ffdec_shorten: 
ffdec_shorten: Plugin Details:
ffdec_shorten:   Name:			ffmpeg
ffdec_shorten:   Description:		All FFmpeg codecs and formats (local snapshot)
ffdec_shorten:   Filename:		/usr/lib64/gstreamer-0.10/libgstffmpeg.so
ffdec_shorten:   Version:		0.10.13
ffdec_shorten:   License:		GPL
ffdec_shorten:   Source module:	gst-ffmpeg
ffdec_shorten:   Binary package:	FFmpeg
ffdec_shorten:   Origin URL:		http://ffmpeg.org/
ffdec_shorten: 
ffdec_shorten: GObject
ffdec_shorten:  +----GstObject
ffdec_shorten:        +----GstElement
ffdec_shorten:              +----ffdec_shorten
ffdec_shorten: 
ffdec_shorten: Pad Templates:
ffdec_shorten:   SRC template: 'src'
ffdec_shorten:     Availability: Always
ffdec_shorten:     Capabilities:
ffdec_shorten:       audio/x-raw-int
ffdec_shorten:                channels: [ 1, 2 ]
ffdec_shorten:                    rate: [ 4000, 96000 ]
ffdec_shorten:                  signed: true
ffdec_shorten:              endianness: 1234
ffdec_shorten:                   width: 16
ffdec_shorten:                   depth: 16
ffdec_shorten:       audio/x-raw-int
ffdec_shorten:                channels: [ 1, 2 ]
ffdec_shorten:                    rate: [ 4000, 96000 ]
ffdec_shorten:                  signed: true
ffdec_shorten:              endianness: 1234
ffdec_shorten:                   width: 32
ffdec_shorten:                   depth: 32
ffdec_shorten:       audio/x-raw-float
ffdec_shorten:                channels: [ 1, 2 ]
ffdec_shorten:                    rate: [ 4000, 96000 ]
ffdec_shorten:              endianness: 1234
ffdec_shorten:                   width: 32
ffdec_shorten:       audio/x-raw-float
ffdec_shorten:                channels: [ 1, 2 ]
ffdec_shorten:                    rate: [ 4000, 96000 ]
ffdec_shorten:              endianness: 1234
ffdec_shorten:                   width: 64
ffdec_shorten: 
ffdec_shorten:   SINK template: 'sink'
ffdec_shorten:     Availability: Always
ffdec_shorten:     Capabilities:
ffdec_shorten:       audio/x-shorten
ffdec_shorten: 
ffdec_shorten: 
ffdec_shorten: Element Flags:
ffdec_shorten:   no flags set
ffdec_shorten: 
ffdec_shorten: Element Implementation:
ffdec_shorten:   Has change_state() function: 0x7fe06a731f60
ffdec_shorten:   Has custom save_thyself() function: gst_element_save_thyself
ffdec_shorten:   Has custom restore_thyself() function: gst_element_restore_thyself
ffdec_shorten: 
ffdec_shorten: Element has no clocking capabilities.ffdec_shorten: 
ffdec_shorten: Element has no indexing capabilities.
ffdec_shorten: Element has no URI handling capabilities.
ffdec_shorten: 
ffdec_shorten: Pads:
ffdec_shorten:   SRC: 'src'
ffdec_shorten:     Implementation:
ffdec_shorten:       Has custom eventfunc(): gst_ffmpegdec_src_event
ffdec_shorten:       Has custom queryfunc(): gst_ffmpegdec_query
ffdec_shorten:       Has custom iterintlinkfunc(): gst_pad_iterate_internal_links_default
ffdec_shorten:       Has getcapsfunc(): gst_pad_get_fixed_caps_func
ffdec_shorten:       Has acceptcapsfunc(): gst_pad_acceptcaps_default
ffdec_shorten:     Pad Template: 'src'
ffdec_shorten:   SINK: 'sink'
ffdec_shorten:     Implementation:
ffdec_shorten:       Has chainfunc(): gst_ffmpegdec_chain
ffdec_shorten:       Has custom eventfunc(): gst_ffmpegdec_sink_event
ffdec_shorten:       Has custom queryfunc(): gst_pad_query_default
ffdec_shorten:       Has custom iterintlinkfunc(): gst_pad_iterate_internal_links_default
ffdec_shorten:       Has setcapsfunc(): gst_ffmpegdec_setcaps
ffdec_shorten:       Has acceptcapsfunc(): gst_pad_acceptcaps_default
ffdec_shorten:     Pad Template: 'sink'
ffdec_shorten: 
ffdec_shorten: Element Properties:
ffdec_shorten:   name                : The name of the object
ffdec_shorten:                         flags: readable, writableffdec_shorten: 
ffdec_shorten:                         String. Default: "ffdec_shorten0"

(gst-inspect-0.10:10581): GStreamer-CRITICAL **: gst_pad_new_from_template: assertion 'GST_IS_PAD_TEMPLATE (templ)' failed

(gst-inspect-0.10:10581): GStreamer-CRITICAL **: gst_pad_template_get_caps: assertion 'GST_IS_PAD_TEMPLATE (templ)' failed

(gst-inspect-0.10:10581): GStreamer-CRITICAL **: gst_pad_set_caps: assertion 'GST_IS_PAD (pad)' failed

(gst-inspect-0.10:10581): GStreamer-CRITICAL **: gst_element_add_pad: assertion 'GST_IS_PAD (pad)' failed
INFO: cmd_ln.c(691): Parsing command line:
gst-pocketsphinx \
	-samprate 8000 \
	-cmn prior \
	-fwdflat no \
	-bestpath no \
	-maxhmmpf 2000 \
	-maxwpf 20 

Current configuration:
[NAME]		[DEFLT]		[VALUE]
-agc		none		none
-agcthresh	2.0		2.000000e+00
-alpha		0.97		9.700000e-01
-ascale		20.0		2.000000e+01
-aw		1		1
-backtrace	no		no
-beam		1e-48		1.000000e-48
-bestpath	yes		no
-bestpathlw	9.5		9.500000e+00
-bghist		no		no
-ceplen		13		13
-cmn		current		prior
-cmninit	8.0		8.0
-compallsen	no		no
-debug				0
-dict				
-dictcase	no		no
-dither		no		no
-doublebw	no		no
-ds		1		1
-fdict				
-feat		1s_c_d_dd	1s_c_d_dd
-featparams			
-fillprob	1e-8		1.000000e-08
-frate		100		100
-fsg				
-fsgusealtpron	yes		yes
-fsgusefiller	yes		yes
-fwdflat	yes		no
-fwdflatbeam	1e-64		1.000000e-64
-fwdflatefwid	4		4
-fwdflatlw	8.5		8.500000e+00
-fwdflatsfwin	25		25
-fwdflatwbeam	7e-29		7.000000e-29
-fwdtree	yes		yes
-hmm				
-input_endian	little		little
-jsgf				
-kdmaxbbi	-1		-1
-kdmaxdepth	0		0
-kdtree				
-latsize	5000		5000
-lda				
-ldadim		0		0
-lextreedump	0		0
-lifter		0		0
-lm				
-lmctl				
-lmname		default		default
-logbase	1.0001		1.000100e+00
-logfn				
-logspec	no		no
-lowerf		133.33334	1.333333e+02
-lpbeam		1e-40		1.000000e-40
-lponlybeam	7e-29		7.000000e-29
-lw		6.5		6.500000e+00
-maxhmmpf	-1		2000
-maxnewoov	20		20
-maxwpf		-1		20
-mdef				
-mean				
-mfclogdir			
-min_endfr	0		0
-mixw				
-mixwfloor	0.0000001	1.000000e-07
-mllr				
-mmap		yes		yes
-ncep		13		13
-nfft		512		512
-nfilt		40		40
-nwpen		1.0		1.000000e+00
-pbeam		1e-48		1.000000e-48
-pip		1.0		1.000000e+00
-pl_beam	1e-10		1.000000e-10
-pl_pbeam	1e-5		1.000000e-05
-pl_window	0		0
-rawlogdir			
-remove_dc	no		no
-round_filters	yes		yes
-samprate	16000		8.000000e+03
-seed		-1		-1
-sendump			
-senlogdir			
-senmgau			
-silprob	0.005		5.000000e-03
-smoothspec	no		no
-svspec				
-tmat				
-tmatfloor	0.0001		1.000000e-04
-topn		4		4
-topn_beam	0		0
-toprule			
-transform	legacy		legacy
-unit_area	yes		yes
-upperf		6855.4976	6.855498e+03
-usewdphones	no		no
-uw		1.0		1.000000e+00
-var				
-varfloor	0.0001		1.000000e-04
-varnorm	no		no
-verbose	no		no
-warp_params			
-warp_type	inverse_linear	inverse_linear
-wbeam		7e-29		7.000000e-29
-wip		0.65		6.500000e-01
-wlen		0.025625	2.562500e-02


(gst-inspect-0.10:10581): GLib-GObject-CRITICAL **: g_value_set_double: assertion 'G_VALUE_HOLDS_DOUBLE (value)' failed

(gst-inspect-0.10:10581): GLib-GObject-CRITICAL **: g_value_set_double: assertion 'G_VALUE_HOLDS_DOUBLE (value)' failed

(gst-inspect-0.10:10581): GLib-GObject-CRITICAL **: g_value_set_double: assertion 'G_VALUE_HOLDS_DOUBLE (value)' failed
Comment 1 Tim-Philipp Müller 2014-06-29 11:18:17 UTC
I'm afraid 0.10 is no longer maintained, and hasn't been maintained for multiple years now.

Also, please try with

  gst-launch-1.0 playbin uri=file:///path/to/file

or

  gst-launch-1.0 uridecodebin uri=file:///path/to/file ! audioconvert ! audioresample ! pulsesink

first to make sure it's not your pipeline that's problematic.

Please re-test with a recent 1.x release (1.2.4 or 1.3.90) and re-open this bug or file a new bug if the issue persists.
Comment 2 David Timms 2014-06-29 13:12:26 UTC
Trying both suggestions:

$ gst-launch-1.0 playbin uri=file:///home/a/c.shn
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind: GStreamer encountered a general stream error.
Additional debug info:
gsttypefindelement.c(1136): gst_type_find_element_loop (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind:
stream stopped, reason error
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...

=====
gst-launch-1.0 uridecodebin uri=file:///home/media/music/j/jack_johnson/jjohnson2004-09-25.shn/jjohnson2004-09-25.d02/jjohnson2004-09-25.d02t07.shn ! audioconvert ! audioresample ! pulsesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind: GStreamer encountered a general stream error.
Additional debug info:
gsttypefindelement.c(1136): gst_type_find_element_loop (): /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind:
stream stopped, reason error
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...

=====
$ ffprobe /home/a/c.shn
ffprobe version 2.1.4 Copyright (c) 2007-2014 the FFmpeg developers
  built on Feb 25 2014 08:24:47 with gcc 4.8.2 (GCC) 20131212 (Red Hat 4.8.2-7)
...snip
  libavutil      52. 48.101 / 52. 48.101
  libavcodec     55. 39.101 / 55. 39.101
  libavformat    55. 19.104 / 55. 19.104
  libavdevice    55.  5.100 / 55.  5.100
  libavfilter     3. 90.100 /  3. 90.100
  libavresample   1.  1.  0 /  1.  1.  0
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
[shn @ 0x225fe00] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, shn, from '/home/media/music/j/jack_johnson/jjohnson2004-09-25.shn/jjohnson2004-09-25.d02/jjohnson2004-09-25.d02t07.shn':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Audio: shorten, 44100 Hz, 2 channels, s16p

ffplay and 

=====
Distribution is Fedora 20, gstreamer1-1.2.4-1.fc20.x86_64, and plugins.
Comment 3 Tim-Philipp Müller 2014-06-29 14:09:19 UTC
I can reproduce this with a shorten file I have.
Comment 4 fang zhan 2014-08-19 02:57:52 UTC
(In reply to comment #3)
> I can reproduce this with a shorten file I have.
can you share your the shorten file?
Comment 5 David Timms 2014-08-19 13:02:32 UTC
http://members.iinet.net.au/~timmsy/shorten/jjohnson2004-09-25.d02t07.shn
26MB
(live bootleg recording - you will hear crowd noise etc).

Note: it isn't only this file (seems to be any shorten files in my collection).
Comment 6 fang zhan 2014-09-19 07:08:40 UTC
gst-launch-0.10 filesrc location = jjohnson2004-09-25.d02t07.shn ! ffdemux_shn ! ffdec_shorten ! alsasink
please use this pipeline, it can play well for me.
Comment 7 fang zhan 2014-09-19 07:08:41 UTC
gst-launch-0.10 filesrc location = jjohnson2004-09-25.d02t07.shn ! ffdemux_shn ! ffdec_shorten ! alsasink
please use this pipeline, it can play well for me.
Comment 8 David Timms 2014-09-19 11:27:17 UTC
$ gst-launch-0.10 -v filesrc location=jjohnson2004-09-25.d02t07.shn ! ffdemux_shn ! ffdec_shorten ! alsasink
WARNING: erroneous pipeline: no element "ffdemux_shn"
$
I guess I'm missing something that you have.

Also tried:
gst-launch-1.0 -v filesrc location=jjohnson2004-09-25.d02t07.shn ! ffdemux_shn ! ffdec_shorten ! alsasink
WARNING: erroneous pipeline: no element "ffdemux_shn"

I'm not that familiar with gst-* any hints for what might be missing ?
Comment 9 fang zhan 2014-09-20 00:40:38 UTC
can you find "ff_shorten_demuxer" definition in libavformat/rawdec.c?
this is demuxer for shorten audio
and you also need to check gst_ffmpegdemux_register() whether this demuxer element has been registerd.
Comment 10 Edward Hervey 2018-11-01 16:27:30 UTC
Automated removal of (bad) usage of the "NONE" target milestone.
Comment 11 GStreamer system administrator 2018-11-03 12:56:32 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/14.