Commit graph

156 commits

Author SHA1 Message Date
Benjamin Otte 91b948589b tools: Run g_thread_init() unconditionally
Since we define G_THREADS_MANDATORY, g_thread_supported() evaluates to
TRUE unconditionally, so calling g_thread_init() never happened.
2010-01-20 14:13:11 +01:00
Wim Taymans 50179ec478 launch: also print leaked objects
Make the -T option also print the leaked objects
2009-12-23 21:39:20 +01:00
Ole André Vadla Ravnås 93dd95f02e tools: Move gst_tools_print_version call to avoid warning from new GLib.
g_setprgname is implicitly called by g_option_context_new() with a check
to see if it's been set already.

Fixes bug #604093.
2009-12-09 07:24:22 +01:00
David Schleef c222a3015e tools: Fix check for Windows 2009-12-01 22:37:51 -08:00
Tim-Philipp Müller ed86995cd8 gst-launch: wake up less often to check if we've been interrupted
Check if we've been interrupted only four times per second instead
of twenty times per second, to wake up the cpu less often and
save power (see bug #600922).
2009-11-07 20:22:49 +00:00
Stefan Kost cfb4aa4627 build: sprintf, sscanf need stdio.h 2009-10-07 10:59:54 +03:00
Edward Hervey 4322a4b0db gst-launch: Don't activate tracing if not requested. 2009-10-07 08:41:32 +02:00
Philip Jägenstedt 9501767704 tools: Fix compilation if option parsing is disabled
Fixes bug #587976.
2009-07-08 15:15:04 +02:00
Tim-Philipp Müller 99a1493e69 gst-launch: refer to element, pad, or object in some message strings
Revisit these strings now that the change regarding the message source
object in gst_element_found_tags_for_pad() got reverted. Try to refer
explicitly to what kind of element it is (element, pad, etc.) in some
cases, which is nicer than having to deduce this info (and we can
re-use the already existing translated strings for the most common
case). It also makes for better example code, since it's clear now
that the message source object doesn't have to be an element.
2009-06-04 00:40:52 +01:00
David Schleef 08fb55c2e1 tools: Set pipeline to PAUSED before waiting for main loop idle
When it is shutting down a pipeline after ctrl-c, set pipeline to
paused before waiting for the main loop to complete all pending
transactions.  Fixes #584657.

If some part of the pipeline is generating signals or idle functions
at a fast rate, waiting for a main loop iteration may never return.
2009-06-02 13:49:36 -07:00
Tim-Philipp Müller 3a8aba7e92 gst-launch: don't use G_GUINT32_FORMAT in translatable string
xgettext doesn't handle this very well. Fixes #583419.
2009-05-21 10:57:47 +01:00
Sebastian Dröge 18f5b1a59e gst-launch: Print the path string for message sources
This reduces confusion if the message source is a pad
and only "src" is printed as source.
2009-05-14 12:30:04 +02:00
Wim Taymans 53d3663139 -launch: connect to deep-notify with right name
Connect to the right signal name with - instead of _.
2009-05-11 22:33:14 +02:00
Wim Taymans 1f8eba611a -launch: disable CLOCK_LOST message handling
Disable the handling of the CLOCK_LOST messages until we fixed and released the
elements (rtspsrc) that break when we quickly PAUSE/PLAY the pipeline.

Fixes #579127
2009-04-16 12:01:50 +02:00
Wim Taymans cf78781c6b -launch: handle clock-lost messages
When we receive a clock-lost message, we need to select a new clock in the
pipeline by setting the pipeline to PAUSED and back to PLAYING.
2009-04-10 14:15:36 +02:00
Thiago Santos 37fe4bf3b9 gst-launch: Fixes error when DISABLE_FAULT_HANDLER is defined
When defined, this macro prevented the declaration of 'waiting_eos', causing an error.
2009-03-31 18:14:08 -03:00
Thiago Santos 5fa36d9f3d Adds flag for eos on shutdown in gst-launch. Fixes #575814. 2009-03-27 08:30:27 -03:00
Tim-Philipp Müller a0d6d1f08c tools: print normal output to stdout, and only errors and warnings to stderr in gst-launch
Let's not print everything to stderr. Suppress some more 'normal' messages when --quiet was passed.
2009-02-19 12:57:17 +00:00
Tim-Philipp Müller 7edb009995 tools: use g_print*() instead of *printf() in gst-launch
We should use GLib's g_print*() functions for printing stuff in gst-launch, not printf and friends, since we're printing
translated strings, which we get in UTF-8 encoding, and GLib's print functions expect UTF-8 encoded strings whereas printf
et al. expect strings in the locale encoding, which may or may not be UTF-8.

Also add a PRINT convenience macro so we don't have to litter the code with if (!quiet) statements.
2009-02-19 12:45:53 +00:00
Wim Taymans 4b986a4a94 Add message to request a state change
Add a GST_MESSAGE_REQUEST_STATE that can be posted by element when they would
like to have the application change the state of the pipeline. the primary use
case is to pause the pipeline when an audio mixer is mixing a higher priority
stream but it can also be used for other purposes.

Add some docs and a unit test.

Implement the REQUEST_STATE message in gst-launch.

API: gst_message_new_request_state()
API: gst_message_parse_request_state()
API: GST_MESSAGE_REQUEST_STATE
2009-02-18 15:31:55 +01:00
Stefan Kost a12b0a60d8 gst-launch: add -q/--quiet option to supress any non error output.
Having no output is nice for scripting. Also update the manpage.
2009-02-15 16:40:43 +02:00
Wim Taymans d135413712 tools/gst-launch.c: Make gst-launch handle LATENCY messages and make it recalculate the latency.
Original commit message from CVS:
* tools/gst-launch.c: (event_loop):
Make gst-launch handle LATENCY messages and make it recalculate the
latency.
2008-11-21 08:09:00 +00:00
Wim Taymans 57792e66ac tools/gst-launch.c: Print the message seqnums.
Original commit message from CVS:
* tools/gst-launch.c: (event_loop):
Print the message seqnums.
2008-11-04 15:52:09 +00:00
Jan Schmidt ba074c3689 tools/gst-launch.c: Change the printing of the 'buffering...' output to avoid putting a \r in a translateable string ...
Original commit message from CVS:
* tools/gst-launch.c:
Change the printing of the 'buffering...' output to avoid putting
a \r in a translateable string (flagged by the TP).
2008-10-12 22:16:00 +00:00
Stefan Kost b6a0640cf9 tools/gst-launch.c: Dump one graph per pipeline state-change and state change name (if GST_DEBUG_DUMP_DOT_DIR is set).
Original commit message from CVS:
* tools/gst-launch.c:
Dump one graph per pipeline state-change and state change name
(if GST_DEBUG_DUMP_DOT_DIR is set).
2008-02-05 09:24:18 +00:00
Stefan Kost 428a4e9669 Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all uses as we don't have HAVE_POSIX_TIMERS in publi...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstclock.h:
* gst/gstdebugutils.c:
* gst/gstinfo.c:
* gst/gstutils.c:
* gst/gstutils.h:
* libs/gst/base/gstbasesink.c:
* tools/gst-launch.c:
Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
uses as we don't have HAVE_POSIX_TIMERS in public headers.
Thanks Tim for spotting.
2007-12-11 20:23:58 +00:00
Stefan Kost c437e3b4e2 gst/: Fix wrong order of args in GST_CLOCK_DIFF() usage.
Original commit message from CVS:
* gst/gstdebugutils.c:
* gst/gstinfo.c:
Fix wrong order of args in GST_CLOCK_DIFF() usage.
* tools/gst-launch.c:
Use new API to get elapsed time.
2007-11-28 12:52:42 +00:00
Stefan Kost 7da5577459 Improve bin graph dumping, by using the envvar to specify a path.
Original commit message from CVS:
* docs/gst/running.xml:
* gst/gst.c:
* gst/gstdebugutils.c:
* gst/gstdebugutils.h:
* tools/gst-launch.c:
Improve bin graph dumping, by using the envvar to specify a path.
Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
2007-10-29 13:46:25 +00:00
Stefan Kost 58a155347b Allow dumping pipelines as dot graphs. Fixes #456573.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/Makefile.am:
* gst/gst.c:
* gst/gst.h:
* gst/gstdebugutils.c:
* gst/gstdebugutils.h:
* gst/gstinfo.c:
* gst/gstinfo.h:
* tools/gst-launch.c:
Allow dumping pipelines as dot graphs. Fixes #456573.
2007-10-17 12:58:23 +00:00
Tim-Philipp Müller 558a8a90f3 plugins/elements/gstfakesink.c: Add some debug text to error message to indicate that we errored out on request.
Original commit message from CVS:
* plugins/elements/gstfakesink.c:
Add some debug text to error message to indicate that
we errored out on request.
* tools/gst-launch.c:
When the state change to PLAYING fails, check for an
error message on the bus and print it.
2007-09-23 10:16:49 +00:00
Wim Taymans da8d6598e0 tools/gst-launch.c: Don´t try to do any state management when a live pipeline posts buffering messages.
Original commit message from CVS:
* tools/gst-launch.c: (event_loop), (main):
Don´t try to do any state management when a live pipeline posts
buffering messages.
Also make the buffering string translatable.
2007-08-17 13:48:24 +00:00
Wim Taymans 4f98b744d2 gst/gstmessage.h: Add some more docs for the messages.
Original commit message from CVS:
* gst/gstmessage.h:
Add some more docs for the messages.
* libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
(gst_base_sink_query):
Add some more debugging.
* tools/gst-launch.c: (event_loop):
When interrupting, don't try to set pipeline to PAUSED twice.
2007-08-16 10:07:48 +00:00
Wim Taymans 94828d9ac6 tools/gst-launch.c: When we got an error, there is no point in waiting for preroll when shutting down.
Original commit message from CVS:
* tools/gst-launch.c: (main):
When we got an error, there is no point in waiting for preroll when
shutting down.
2007-07-03 17:01:51 +00:00
Stefan Kost ce6c77cf48 tools/gst-launch.c: Remove crufy code. GOption does not need this workaround.
Original commit message from CVS:
* tools/gst-launch.c: (main):
Remove crufy code. GOption does not need this workaround.
2007-06-15 07:02:04 +00:00
Wim Taymans 51c72cdd13 tools/gst-launch.c: When buffering goes from a two digit to a single digit number, make sure to remove the old second...
Original commit message from CVS:
* tools/gst-launch.c: (event_loop):
When buffering goes from a two digit to a single digit number, make sure
to remove the old second digit by writing a blank over it.
2007-05-24 15:00:55 +00:00
Wim Taymans 75cc705a1f tools/gst-launch.c: Give more interesting info when buffering starts and stops.
Original commit message from CVS:
* tools/gst-launch.c: (event_loop):
Give more interesting info when buffering starts and stops.
Fix case where buffering starts but we fail to update the buffering flag
because the target state is not PLAYING.
2007-05-12 15:38:02 +00:00
Wim Taymans 0c16a9954e tools/gst-launch.c: Print INFO messages.
Original commit message from CVS:
* tools/gst-launch.c: (event_loop):
Print INFO messages.
2007-03-08 16:26:44 +00:00
Wim Taymans c574a01484 gst/gstpipeline.c: Don't ref a NULL clock in _provide_clock_func().
Original commit message from CVS:
* gst/gstpipeline.c: (gst_pipeline_change_state),
(gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
Don't ref a NULL clock in _provide_clock_func().
Don't allow an INVALID delay.
Don't try to calculate base_time with an invalid start_time.
Also distribute and notify a NULL clock when it was selected.
* tools/gst-launch.c: (event_loop):
Don't crash when a NULL clock was selected in the pipeline.
2007-02-23 17:42:06 +00:00
Thomas Vander Stichele fa5bad8ef9 tools/gst-launch.c: Make sure that we actually show the important message part of a warning message.
Original commit message from CVS:
* tools/gst-launch.c: (event_loop):
Make sure that we actually show the important message part of a
warning message.
No need to check if the gerror is not NULL to free; first of all
g_free accepts NULL; and second the default error handler would
segfault if gerror was NULL.
2007-02-21 15:30:53 +00:00
Tim-Philipp Müller b3eafe67a8 tools/: Call g_thread_init() really really early, before any other GLib function (see #342564 and recent discussion o...
Original commit message from CVS:
* tools/gst-inspect.c: (main):
* tools/gst-launch.c: (main):
* tools/gst-typefind.c: (main):
* tools/gst-xmlinspect.c: (main):
Call g_thread_init() really really early, before any other GLib
function (see #342564 and recent discussion on gtk-devel-list).
2007-01-05 15:55:16 +00:00
Tim-Philipp Müller b74d2e83a6 tests/check/gst/gstcaps.c: Add some tests for gst_caps_intersect().
Original commit message from CVS:
* tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
Add some tests for gst_caps_intersect().
* tools/gst-launch.c: (event_loop):
Print all buffering percentages we get, even the 100% one.
2006-09-27 09:23:18 +00:00
Wim Taymans 53bf2d570c gst/gstelement.c: Use _DEBUG_OBJECT some more.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_post_message),
(gst_element_dispose):
Use _DEBUG_OBJECT some more.
* libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
Avoid typechecks.
* tools/gst-launch.c: (main):
If the toplevel element is not a GstPipeline, it must be put in a
pipeline so that a bus and clock is selected.
2006-09-18 13:44:12 +00:00
Wim Taymans 9676117fff tools/gst-launch.c: Added some comments here and there.
Original commit message from CVS:
* tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
(event_loop), (main):
Added some comments here and there.
Post an application message when an interrupt is caught instead of doing
an uncontrolled state change.
Clean up the event loop.
Handle buffering messages, pause/resume the pipeline.
Make shutdown because of an interrupt more reliable.
2006-09-15 10:43:16 +00:00
Tim-Philipp Müller 7424a01f0f gst/gstxml.c: Chain up to parent class in dispose function and also unref the elements in the toplevel_elements GList.
Original commit message from CVS:
* gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
(gst_xml_parse_memory), (gst_xml_get_element):
Chain up to parent class in dispose function and also
unref the elements in the toplevel_elements GList.
Don't leak XmlDocPtr in _parse_file() and _parse_memory().
Always return a reference in gst_xml_get_element() rather
than only sometimes.
* tools/gst-launch.c: (xmllaunch_parse_cmdline):
Don't leak GstXml object.
2006-08-21 15:19:40 +00:00
Tim-Philipp Müller f7c34e5c14 tools/gst-launch.c: More space on the left for the tag names, to cater for the 'extended comment' tag (not touching t...
Original commit message from CVS:
* tools/gst-launch.c: (print_tag):
More space on the left for the tag names, to cater
for the 'extended comment' tag (not touching the
string for the first line since it's translated).
2006-08-15 10:08:34 +00:00
Jan Schmidt 2444ba9601 tools/gst-launch.c: If the top-level of the parse is a normal bin, it doesn't do the right logic to run as a top-leve...
Original commit message from CVS:
* tools/gst-launch.c: (main):
If the top-level of the parse is a normal bin, it doesn't do the
right logic to run as a top-level element, so place it inside a
pipeline.
2006-07-26 06:18:44 +00:00
Andy Wingo 2ef04375e6 tools/gst-launch.c (main): Handle err == NULL. gst/gst.c (init_post, ensure_current_registry) (ensure_current_registr...
Original commit message from CVS:
2006-07-08  Andy Wingo  <wingo@pobox.com>

* tools/gst-launch.c (main): Handle err == NULL.

* gst/gst.c (init_post, ensure_current_registry)
(ensure_current_registry_forking)
(ensure_current_registry_nonforking): Reduce #ifdef ratnest by
factoring out the registry scanning into separate functions. Don't
fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
Better environment var name/interface suggestions accepted.
2006-07-08 13:22:32 +00:00
Tim-Philipp Müller ede8ab01eb tools/gst-launch.c: Fix use of uninitialized variable in the hypothetical case that some broken plugin creates a GST_...
Original commit message from CVS:
* tools/gst-launch.c: (print_tag):
Fix use of uninitialized variable in the hypothetical
case that some broken plugin creates a GST_TAG_IMAGE
tag containing a NULL buffer (#341667).
2006-05-13 17:50:11 +00:00
Tim-Philipp Müller aa0515d436 tools/gst-launch.c: Print something more intelligible for image tags when using the -t switch (#341556).
Original commit message from CVS:
* tools/gst-launch.c: (print_tag):
Print something more intelligible for image tags when
using the -t switch (#341556).
2006-05-12 16:50:37 +00:00
Tim-Philipp Müller 84e61b79c6 tools/: Fix up includes: need to include stdlib.h in tools.h for exit().
Original commit message from CVS:
* tools/gst-inspect.c:
* tools/gst-launch.c:
* tools/gst-typefind.c:
* tools/gst-xmlinspect.c:
* tools/tools.h:
Fix up includes: need to include stdlib.h in tools.h for exit().
2006-05-09 10:53:18 +00:00