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 621595 - --quiet doesnt make gst-launch be completely quiet, also messages should not go to stdout
--quiet doesnt make gst-launch be completely quiet, also messages should not ...
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
0.10.28
Other Linux
: Normal normal
: 0.10.30
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-06-14 22:31 UTC by jon.orebro
Modified: 2010-06-15 00:23 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description jon.orebro 2010-06-14 22:31:40 UTC
# first problem:

$ gst-launch-0.10  --quiet videotestsrc ! fakesink
New clock: GstSystemClock

# the new clock message isnt an error message, right? so it should not be
# printed with --quiet

# second problem:

$ gst-launch-0.10   videotestsrc ! fakesink >/dev/null

$ gst-launch-0.10   videotestsrc ! fakesink 2>/dev/null
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
^CCaught interrupt -- handling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 2746277473 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

# so all debug/progress messages are printed to stdout, not stderr as is the
# case with most other command line tools. this, combined with the first 
# problem, makes is unnecessary tricky to use fdsink to send data to another 
# program with a simple shell pipe without getting gst-launch messages mixed in
# with the data

# also,
# its one thing if status/debug messages are printed to stdout, but even some
# error messages are. but only some:

$ gst-launch-0.10 -q  videotestsrc ! filesink 
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstFileSink:filesink0: No file name specified for writing.
Additional debug info:
gstfilesink.c(424): gst_file_sink_open_file (): /GstPipeline:pipeline0/GstFileSink:filesink0

$ gst-launch-0.10 -q  videotestsrc ! filesink 2>/dev/null
ERROR: from element /GstPipeline:pipeline0/GstFileSink:filesink0: No file name specified for writing.
Additional debug info:
gstfilesink.c(424): gst_file_sink_open_file (): /GstPipeline:pipeline0/GstFileSink:filesink0

$ gst-launch-0.10 -q  videotestsrc ! filesink >/dev/null
ERROR: Pipeline doesn't want to pause.

# one ERROR line goes to stdout, the other goes to stderr

# this is what i would want:
#  * --quiet takes away ALL progress/debug messages and only shows error
#      messages
#  * all error messages goes to stderr
Comment 1 Tim-Philipp Müller 2010-06-15 00:23:17 UTC
I think this should fix it (some of it was already fixed in git):

commit 1e3bd02618241f8966212303a1476f1af83b691a
Author: Tim-Philipp Müller <tim.muller@collabora.co.uk>
Date:   Tue Jun 15 01:15:54 2010 +0100

    gst-launch: print more errors to stderr and suppress more output in quiet mode
    
    If --quiet is given, don't print anything but errors. Also, make
    sure errors are always printed to stderr and not to stdout.
    
    Fixes #621595.