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 672902 - ffdec_png negotiation problem, asks to file a bug report
ffdec_png negotiation problem, asks to file a bug report
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-libav
0.10.35
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-03-27 10:08 UTC by Sergei
Modified: 2013-07-17 12:30 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sergei 2012-03-27 10:08:22 UTC
ffdec_png itself suggested me to file a bug report:

Error from element decode_bin: Internal GStreamer error: negotiation problem.  Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer.
Debug: gstffmpegdec.c(2748): gst_ffmpegdec_chain (): /GstPipeline:Still video player/ffdec_png:decode_bin:
ffdec_png: input format was not set before data start

I used it in the following chain:

  src =  gst_element_factory_make ("filesrc", "source_image");
  //dec =  gst_element_factory_make ("pngdec", "decode_bin"); 
  dec =  gst_element_factory_make ("ffdec_png", "decode_bin");
  img_freeze = gst_element_factory_make ("imagefreeze", "image_freeze");
  conv = gst_element_factory_make ("ffmpegcolorspace", "ffmpeg-colorspace");
  sink = gst_element_factory_make ("ximagesink", "directdrawsink-output");

with "pngdec" is usually works OK, but not with the file tjej2.png I am attaching (it does not work on many *.png files, for which pngdec works fine). 

The file tjej2.png in question is viewable OK with the standard Linux image viewers.

With other decoders, from the command line, the results are as follows:

sergei@wsl:~/vlc-test3$ gst-launch filesrc location=tjej2.png ! decodebin2 ! imagefreeze ! ffmpegcolorspace ! ximagesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstPngDec:pngdec0: Internal data stream error.
Additional debug info:
gstpngdec.c(554): gst_pngdec_task (): /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstPngDec:pngdec0:
stream stopped, reason not-linked
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...

sergei@wsl:~/vlc-test3$ gst-launch filesrc location=tjej2.png ! decpng ! imagefreeze ! ffmpegcolorspace ! ximagesink
WARNING: erroneous pipeline: no element "decpng"
sergei@wsl:~/vlc-test3$ gst-launch filesrc location=tjej2.png ! pngdec ! imagefreeze ! ffmpegcolorspace ! ximagesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstPngDec:pngdec0: Internal data stream error.
Additional debug info:
gstpngdec.c(554): gst_pngdec_task (): /GstPipeline:pipeline0/GstPngDec:pngdec0:
stream stopped, reason not-negotiated
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...

sergei@wsl:~/vlc-test3$ gst-launch filesrc location=tjej2.png ! ffdec_png ! imagefreeze ! ffmpegcolorspace ! ximagesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/ffdec_png:ffdec_png0: Internal GStreamer error: negotiation problem.  Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer.
Additional debug info:
gstffmpegdec.c(2748): gst_ffmpegdec_chain (): /GstPipeline:pipeline0/ffdec_png:ffdec_png0:
ffdec_png: input format was not set before data start
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
Comment 1 Sergei 2012-03-27 10:11:47 UTC
Version information I forgot:

sergei@wsl:~/vlc-test3$ gst-launch --version
gst-launch-0.10 version 0.10.35
GStreamer 0.10.35
https://launchpad.net/distros/ubuntu/+source/gstreamer0.10
sergei@wsl:~/vlc-test3$
Comment 2 Olivier Crête 2013-01-29 03:44:04 UTC
You need a parser before the decoder, I attached one to bug #690639
Comment 3 Edward Hervey 2013-07-17 12:30:51 UTC
pngparse has a higher rank than avdec_png so will be auto-plugged in decodebin.

If you are manually constructing pipelines, you will need to add it manually.