GNOME Bugzilla – Bug 732388
gst-launch: shorten audio playback fails: Internal GStreamer error: negotiation problem.
Last modified: 2018-11-03 12:56:32 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
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.
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.
I can reproduce this with a shorten file I have.
(In reply to comment #3) > I can reproduce this with a shorten file I have. can you share your the shorten file?
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).
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.
$ 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 ?
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.
Automated removal of (bad) usage of the "NONE" target milestone.
-- 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.