Commit graph

246 commits

Author SHA1 Message Date
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
Tim-Philipp Müller
177b07d897 tools/: Use the string passed to g_option_context_new() for what it's intended for - the program name is already prin...
Original commit message from CVS:
* tools/gst-inspect.c: (main):
* tools/gst-launch.c: (main):
* tools/gst-run.c: (main):
* tools/gst-typefind.c: (main):
* tools/gst-xmlinspect.c: (main):
Use the string passed to g_option_context_new() for
what it's intended for - the program name is already
printed elsewhere.
2006-05-05 17:45:41 +00:00
Tim-Philipp Müller
73fd4a213a tools/: Add back --version command line option (#340460).
Original commit message from CVS:
* tools/Makefile.am:
* tools/gst-inspect.c: (main):
* tools/gst-launch.c: (main):
* tools/gst-xmlinspect.c: (main):
* tools/tools.h:
Add back --version command line option (#340460).
* tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
Add --version option and use GOption for argument parsing; refactor a
bit; accept directories as arguments and recurse into them; lastly,
print a decent error message when things go wrong.
2006-05-05 17:07:42 +00:00
Wim Taymans
5c8d6fdb6e tools/gst-launch.c: NO_PREROLL is not an ERROR so don't send confusing messages to the user.
Original commit message from CVS:
* tools/gst-launch.c: (main):
NO_PREROLL is not an ERROR so don't send confusing messages
to the user.
2006-02-14 17:25:11 +00:00
Tim-Philipp Müller
e210231950 tools/gst-launch.c: Catch errors during preroll (#320084).
Original commit message from CVS:
* tools/gst-launch.c: (event_loop), (main):
Catch errors during preroll (#320084).
2006-02-04 11:56:18 +00:00
Edward Hervey
5fa6a29e9f tools/gst-launch.c: Clarify the output strings, makes it easier to translate.
Original commit message from CVS:
* tools/gst-launch.c: (main):
Clarify the output strings, makes it easier to translate.
Fixes #322626
2005-11-28 09:55:19 +00:00
Wim Taymans
7f22710f65 gst/base/gstbasesink.c: Some more debug.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_get_position):
Some more debug.

* gst/gstbin.c: (message_check), (bin_replace_message),
(bin_remove_messages), (is_eos), (gst_bin_add_func),
(update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
(bin_query_duration_init), (bin_query_duration_fold),
(bin_query_duration_done), (bin_query_generic_fold),
(gst_bin_query):
* tools/gst-launch.c: (main):
Remove old option.
2005-10-27 08:55:44 +00:00
Wim Taymans
0176d5a0cf Seriously, this is better than a previous commit as we only need to notify the fact that an element changed state in ...
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
* check/gst/gstmessage.c: (GST_START_TEST):
* check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
(bin_bus_handler):
* gst/gstelement.c: (gst_element_abort_state),
(gst_element_commit_state), (gst_element_lost_state):
* gst/gstmessage.c: (gst_message_new_state_changed),
(gst_message_new_state_dirty), (gst_message_new_segment_start),
(gst_message_new_segment_done), (gst_message_new_duration),
(gst_message_parse_state_changed),
(gst_message_parse_segment_start),
(gst_message_parse_segment_done), (gst_message_parse_duration):
* gst/gstmessage.h:
* tools/gst-launch.c: (event_loop):
Seriously, this is better than a previous commit as we only need
to notify the fact that an element changed state in a streaming
thread, marking the state of the parents dirty, hence the
STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
message.
2005-10-18 16:25:38 +00:00
Wim Taymans
20aff65b34 Make messages future proof. state-change gets a flag if it was a message comming from the streaming thread.
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
* check/gst/gstmessage.c: (GST_START_TEST):
* check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
* gst/gstbin.c: (bin_bus_handler):
* gst/gstelement.c: (gst_element_commit_state),
(gst_element_lost_state):
* gst/gstmessage.c: (gst_message_new_state_changed),
(gst_message_new_segment_start), (gst_message_new_segment_done),
(gst_message_new_duration), (gst_message_parse_state_changed),
(gst_message_parse_segment_start),
(gst_message_parse_segment_done), (gst_message_parse_duration):
* gst/gstmessage.h:
* tools/gst-launch.c: (event_loop):
Make messages future proof.
state-change gets a flag if it was a message comming from the
streaming thread.
segment-start/stop can also be specified in other formats.
A message to notify an app that a pipeline changed playback
duration.
Also fix a GstMessage leak in -launch
2005-10-18 13:19:16 +00:00
Thomas Vander Stichele
d4ea9fbeba gst/base/: fix up debugging
Original commit message from CVS:
2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>

* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
* gst/base/gstbasesrc.c: (gst_base_src_get_range):
fix up debugging
* tools/gst-launch.c: (event_loop):
print out clock nicely
2005-10-13 15:22:26 +00:00
Stefan Kost
2bc2709c85 fix GOption context leaks doc fixes
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gst.c:
* gst/gsterror.h:
* tools/gst-inspect.c: (main):
* tools/gst-launch.c: (main):
* tools/gst-run.c: (main):
* tools/gst-xmlinspect.c: (main):
fix GOption context leaks
doc fixes
2005-10-13 09:57:15 +00:00
Wim Taymans
c64fcb487b Some doc updates.
Original commit message from CVS:
* docs/design/part-states.txt:
* tools/gst-launch.c: (main):
Some doc updates.
Revert non-intentional change.
2005-10-12 12:58:55 +00:00
Wim Taymans
6d0be74351 Use GstClockTime in _get_state() instead of GTimeVal.
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
* check/gst/gstelement.c: (GST_START_TEST):
* check/gst/gstevent.c: (GST_START_TEST), (test_event):
* check/gst/gstghostpad.c: (GST_START_TEST):
* check/gst/gstpipeline.c: (GST_START_TEST):
* check/pipelines/simple_launch_lines.c: (run_pipeline):
* check/states/sinks.c: (GST_START_TEST):
* gst/elements/gsttypefindelement.c: (stop_typefinding):
* gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
(gst_bin_remove_func), (gst_bin_get_state_func),
(gst_bin_recalc_state), (gst_bin_change_state_func),
(bin_bus_handler):
* gst/gstelement.c: (gst_element_get_state_func),
(gst_element_get_state), (gst_element_abort_state),
(gst_element_commit_state), (gst_element_set_state),
(gst_element_change_state), (gst_element_change_state_func):
* gst/gstelement.h:
* gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
(gst_pipeline_provide_clock_func):
* gst/gstutils.c: (gst_element_link_pads_filtered):
* tools/gst-launch.c: (main):
* tools/gst-typefind.c: (main):
Use GstClockTime in _get_state() instead of GTimeVal.
Remove old code in gstutils.c
2005-10-12 12:18:48 +00:00
Thomas Vander Stichele
6e59ecdf7b more str null protection
Original commit message from CVS:
more str null protection
2005-10-11 16:21:05 +00:00
Thomas Vander Stichele
03159ca232 gst/gst-i18n-lib.h: check for ENABLE_NLS, not GETTEXT_PACKAGE
Original commit message from CVS:

* gst/gst-i18n-lib.h:
check for ENABLE_NLS, not GETTEXT_PACKAGE
* gst/gstregistry.c: (gst_registry_add_plugin),
(gst_registry_scan_path_level),
(_gst_registry_remove_cache_plugins):
protect possibly NULL strings
* gst/parse/types.h:
config.h already included before
* tools/gst-inspect.c: (main):
sys/wait.h also doesnt exist on mingw, so change the ifdef check
check for ENABLE_NLS, not GETTEXT_PACKAGE
* tools/gst-launch.c: (main):
check for ENABLE_NLS, not GETTEXT_PACKAGE


This commit brought to you from msys/mingw
2005-10-11 16:05:16 +00:00
Wim Taymans
2153c45964 check/: Check fixes, use API as stated in design docs, remove hacks.
Original commit message from CVS:
* check/Makefile.am:
* check/generic/states.c: (GST_START_TEST):
* check/gst/gstbin.c: (GST_START_TEST):
* check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
* check/states/sinks.c: (GST_START_TEST):
* check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
(main):
Check fixes, use API as stated in design docs, remove hacks.

* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_change_state):
Catch stopping our task while we're shutting down.

* gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
(gst_bin_remove_func), (gst_bin_get_state_func),
(gst_bin_recalc_state), (gst_bin_change_state_func),
(bin_bus_handler):
* gst/gstbin.h:
* gst/gstelement.c: (gst_element_init),
(gst_element_get_state_func), (gst_element_abort_state),
(gst_element_commit_state), (gst_element_lost_state),
(gst_element_set_state), (gst_element_change_state),
(gst_element_change_state_func):
* gst/gstelement.h:
New state change algorithm (see #318116)

* gst/gstpipeline.c: (gst_pipeline_class_init),
(gst_pipeline_init), (gst_pipeline_set_property),
(gst_pipeline_get_property), (do_pipeline_seek),
(gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
* gst/gstpipeline.h:
Remove crude state change hacks.

* gst/gstutils.h:
Remove crude hacks.

* tools/gst-launch.c: (main):
Fixes for state change. Needs some more work to fully use the
new stuff.
2005-10-10 16:38:26 +00:00
Ronald
ac8289c7a9 Merged in popt removal + GOption addition patch from Ronald, bug #169772.
Original commit message from CVS:
2005-10-10  Andy Wingo  <wingo@pobox.com>

Merged in popt removal + GOption addition patch from Ronald, bug
#169772.

* docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
GstElement macros around, remove popt-related symbols, add goption
stuff.

* configure.ac: Remove popt checks, require GLib 2.6 for GOption.

* docs/gst/Makefile.am:
* docs/libs/Makefile.am: No POPT_CFLAGS.

* examples/manual/Makefile.am:
* docs/manual/basics-init.xml: Doc updates with an example.

* gst/gst.c: (gst_init_get_option_group), (gst_init_check),
(gst_init), (parse_one_option), (parse_goption_arg):
* gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
bit of hand merging and debugging to get the GOption stuff working
tho.

* tests/Makefile.am:
* tools/Makefile.am:
* tools/gst-inspect.c: (main):
* tools/gst-launch.c: (main):
* tools/gst-run.c: (main):
* tools/gst-xmlinspect.c: (main): Thanks Ronald!
2005-10-10 15:53:59 +00:00
Wim Taymans
677becd06a gst/gstmessage.*: Clean up.
Original commit message from CVS:
* gst/gstmessage.c: (gst_message_new_custom),
(gst_message_new_eos), (gst_message_new_error),
(gst_message_new_warning), (gst_message_new_tag),
(gst_message_new_state_changed), (gst_message_new_clock_provide),
(gst_message_new_new_clock), (gst_message_new_segment_start),
(gst_message_new_segment_done), (gst_message_parse_state_changed),
(gst_message_parse_clock_provide), (gst_message_parse_new_clock):
* gst/gstmessage.h:
Clean up.
Added clock related messages.

* gst/gstpipeline.c: (gst_pipeline_change_state):
Post message when the clock changed.

* tools/gst-launch.c: (event_loop):
Print new clock.
2005-10-08 12:36:36 +00:00
Wim Taymans
c2691f6c80 tools/gst-launch.c: Better message printout.
Original commit message from CVS:
* tools/gst-launch.c: (event_loop):
Better message printout.
2005-10-08 09:38:19 +00:00
Wim Taymans
ce081d6341 Added extra field to STATE_CHANGE message with the pending state, which will be different from the new state soon.
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
* check/gst/gstmessage.c: (GST_START_TEST):
* check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
* gst/gstelement.c: (gst_element_commit_state),
(gst_element_lost_state):
* gst/gstmessage.c: (gst_message_new_state_changed),
(gst_message_parse_state_changed):
* gst/gstmessage.h:
* tools/gst-launch.c: (event_loop):
Added extra field to STATE_CHANGE message with the pending
state, which will be different from the new state soon.
2005-10-08 08:58:45 +00:00
Thomas Vander Stichele
46b1a61af4 don't use if not declared
Original commit message from CVS:
don't use if not declared
2005-10-07 15:13:25 +00:00
Tim-Philipp Müller
7d32a34c83 tools/gst-launch.c: Don't try to run erroneous pipelines.
Original commit message from CVS:
* tools/gst-launch.c: (main):
Don't try to run erroneous pipelines.
2005-10-04 11:51:37 +00:00
Wim Taymans
4fd77c1920 The timeout handler should have lower priority than the source so we don't timeout before popping a message with 0 ti...
Original commit message from CVS:
* gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
* tools/gst-launch.c: (main):
The timeout handler should have lower priority than the source
so we don't timeout before popping a message with 0 timeout.
Dump error messages after failed state change.
2005-09-20 17:30:35 +00:00
Wim Taymans
1c1af875d4 GstBusHandler -> GstBusFunc, return value has the same meaning as any other GSource (FALSE == remove source).
Original commit message from CVS:
* check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
* check/gst/gstbus.c: (message_func_eos), (message_func_app),
(send_messages), (GST_START_TEST), (gstbus_suite):
* check/gst/gstpipeline.c: (GST_START_TEST):
* check/pipelines/cleanup.c: (run_pipeline):
* check/pipelines/simple_launch_lines.c: (run_pipeline),
(GST_START_TEST):
* gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
(gst_bus_source_check), (gst_bus_source_dispatch),
(gst_bus_create_watch), (gst_bus_add_watch_full),
(gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
* gst/gstbus.h:
* tools/gst-launch.c: (event_loop):
* tools/gst-md5sum.c: (event_loop):
GstBusHandler -> GstBusFunc, return value has the same meaning as
any other GSource (FALSE == remove source).
_add_watch() and _add_watch_full() now take a MessageType mask to
only handle specific types of messages.
_poll() returns the GstMessage instead of the message type to avoid
race conditions.
_have_pending() takes a MessageType mask now too.
Added testsuite for multiple bus watches.
Fix testsuites and applications for new bus API.
2005-09-19 11:18:03 +00:00
Andy Wingo
e040bb2dbe gst/gstelement.h (GstState): Renamed from GstElementState, changed to be a normal enum instead of flags.
Original commit message from CVS:
2005-09-02  Andy Wingo  <wingo@pobox.com>

* gst/gstelement.h (GstState): Renamed from GstElementState,
changed to be a normal enum instead of flags.
(GstStateChangeReturn): Renamed from GstElementStateReturn, names
munged to be GST_STATE_CHANGE_*.
(GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
work with the new state representation.
(GstStateChange): New enumeration of possible state transitions.
Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
(GstElementClass::change_state): Pass the GstStateChange along as
an argument. Helps language bindings, so they don't have to use
tricky lock-needing macros like GST_STATE_CHANGE ().

* scripts/update-states (file): New script. Run it on a file to
update it for state naming and API changes. Updates files in
place.

* All files updated for the new API.
2005-09-02 15:42:00 +00:00
Jan Schmidt
864b976fef Revert unpopular change for GST_MESSAGE_SRC to GObject.
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
* gst/gstbin.c: (bin_bus_handler):
* gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
(gst_message_new), (gst_message_new_eos), (gst_message_new_error),
(gst_message_new_warning), (gst_message_new_tag),
(gst_message_new_state_changed), (gst_message_new_segment_start),
(gst_message_new_segment_done), (gst_message_new_custom):
* gst/gstmessage.h:
* tools/gst-launch.c: (event_loop):
* tools/gst-md5sum.c: (event_loop):
Revert unpopular change for GST_MESSAGE_SRC to GObject.
2005-08-25 10:51:14 +00:00
Jan Schmidt
59a41141ca Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so that applications can sensibly post custom message...
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
* gst/gstbin.c: (bin_bus_handler):
* gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
(gst_message_new), (gst_message_new_eos), (gst_message_new_error),
(gst_message_new_warning), (gst_message_new_tag),
(gst_message_new_state_changed), (gst_message_new_segment_start),
(gst_message_new_segment_done), (gst_message_new_custom):
* gst/gstmessage.h:
* tools/gst-launch.c: (event_loop):
* tools/gst-md5sum.c: (event_loop):
Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
that applications can sensibly post custom messages with references
to their own objects.
2005-08-24 11:54:37 +00:00
Thomas Vander Stichele
b27244a943 don't convert NULL structures to strings
Original commit message from CVS:
don't convert NULL structures to strings
2005-08-15 18:15:38 +00:00
Wim Taymans
5c875fadec tools/gst-launch.c: Don't block forever for the state change to complete, the pipeline already did with a sensible ti...
Original commit message from CVS:
* tools/gst-launch.c: (check_intr), (event_loop), (main):
Don't block forever for the state change to complete, the
pipeline already did with a sensible timeout.
2005-07-19 14:52:59 +00:00
Wim Taymans
a8d8310819 Totally dump messages in -launch with the -m option.
Original commit message from CVS:
* gst/gstmessage.c: (gst_message_new_state_changed):
* tools/gst-launch.c: (event_loop), (main):
Totally dump messages in -launch with the -m option.
Fix message name for State messages,
2005-07-15 10:30:49 +00:00
Wim Taymans
f7c0c25d58 gst/base/gstbasetransform.c: Added more debug info in the negotiate process.
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
Added more debug info in the negotiate process.

* gst/gstmessage.h:
Prepare for segment playback.

* gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
Better debugging.

* gst/gstutils.c:
Some more docs.

* tools/gst-launch.c: (main):
NULL pipeline on errors.
2005-07-12 17:17:34 +00:00
Thomas Vander Stichele
a59215bb4e valgrind unit tests as check-local; add gst_deinit
Original commit message from CVS:
valgrind unit tests as check-local; add gst_deinit
2005-07-11 15:10:40 +00:00
Thomas Vander Stichele
3127459e22 gst/gstelement.c: add debug
Original commit message from CVS:

* gst/gstelement.c: (gst_element_get_bus):
add debug
* tools/gst-launch.c: (check_intr), (event_loop):
fix bus leaks
2005-07-10 00:07:51 +00:00
Andy Wingo
f8e79bdf86 *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large source-munging commit!!!
Original commit message from CVS:
2005-06-28  Andy Wingo  <wingo@pobox.com>

* *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
source-munging commit!!!
2005-06-28 09:59:01 +00:00
Andy Wingo
f2cf753b17 gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any remaining buffer.
Original commit message from CVS:
2005-06-27  Andy Wingo  <wingo@pobox.com>

* gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
remaining buffer.

* gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
returns a sorted copy of the trace list.
(gst_alloc_trace_print_live): New API, only prints traces with
live objects. Sort the list.
(gst_alloc_trace_print_all): Sort the list.
(gst_alloc_trace_print): Align columns.

* gst/elements/gstttypefindelement.c:
* gst/elements/gsttee.c:
* gst/base/gstbasesrc.c:
* gst/base/gstbasesink.c:
* gst/base/gstbasetransform.c:
* gst/gstqueue.c: Adapt for pad activation changes.

* gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
sched.
(gst_pipeline_dispose): Drop ref on sched.

* gst/gstpad.c (gst_pad_init): Set the default activate func.
(gst_pad_activate_default): Push mode by default.
(pre_activate_switch, post_activate_switch): New stubs, things to
do before and after switching activation modes on pads.
(gst_pad_set_active): Take a boolean and not a mode, dispatch to
the pad's activate function to choose which mode to activate.
Shortcut on deactivation and call the right function directly.
(gst_pad_activate_pull): New API, (de)activates a pad in pull
mode.
(gst_pad_activate_push): New API, same for push mode.
(gst_pad_set_activate_function)
(gst_pad_set_activatepull_function)
(gst_pad_set_activatepush_function): Setters for new API.

* gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
Trace all miniobjects.
(gst_mini_object_make_writable): Unref the arg if we copy, like
gst_caps_make_writable.

* gst/gstmessage.c (_gst_message_initialize): No trace init.

* gst/gstghostpad.c (gst_proxy_pad_do_activate)
(gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
Adapt for new pad API.

* gst/gstevent.c (_gst_event_initialize): Don't initialize trace.

* gst/gstelement.h:
* gst/gstelement.c (gst_element_iterate_src_pads)
(gst_element_iterate_sink_pads): New API functions.

* gst/gstelement.c (iterator_fold_with_resync): New utility,
should fold into gstiterator.c in some form.
(gst_element_pads_activate): Simplified via use of fold and
delegation of decisions to gstpad->activate.

* gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
help in debugging.

* gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
class once in init, like gstmessage. Didn't run into this issue
but it seems correct. Don't initialize a trace, gstminiobject does
that.

* check/pipelines/simple_launch_lines.c (test_stop_from_app): New
test, runs fakesrc ! fakesink, stopping on ::handoff via a message
to the bus.
(assert_live_count): New util function, uses alloc traces to check
cleanup.

* check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
To be modified when unlink drops the internal pad.
2005-06-27 18:35:05 +00:00
Wim Taymans
4e9438da9f Allow elements to post EOS in the state change function.
Original commit message from CVS:
* gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
(gst_pipeline_change_state):
* tools/gst-launch.c: (check_intr), (event_loop), (main):
Allow elements to post EOS in the state change function.
Fix up -launch, make it exit the poll loop when the
pipeline actually changed state.
Fix up warning parsing in -launch.
2005-06-25 17:51:12 +00:00
Wim Taymans
1cda8197e9 Added support for live sources and other elements that cannot do preroll.
Original commit message from CVS:
Added support for live sources and other elements that
cannot do preroll.
Updated design docs, added live-source design doc.
Implemented live source functionality in basesrc
Fix error condition in _bin_get_state()
Implement live source handling in -launch.
Added check for live sources.
Fixed case in GstBin where elements were changed state
multiple times.
2005-06-23 10:37:09 +00:00
Wim Taymans
32f9787436 tools/gst-launch.c: Unref message after using its contents instead of before.
Original commit message from CVS:
* tools/gst-launch.c: (event_loop):
Unref message after using its contents instead of
before.
2005-05-25 11:26:14 +00:00
Wim Taymans
f60dcb51d5 tools/gst-launch.c: Message was unreffed too soon.
Original commit message from CVS:
* tools/gst-launch.c: (event_loop):
Message was unreffed too soon.
2005-05-17 10:41:51 +00:00
Andy Wingo
b4d7be2014 GCC 4 fixen.
Original commit message from CVS:
2005-05-04  Andy Wingo <wingo@pobox.com>

* check/Makefile.am:
* docs/gst/tmpl/gstatomic.sgml:
* docs/gst/tmpl/gstplugin.sgml:
* gst/base/gstbasesink.c: (gst_basesink_activate):
* gst/base/gstbasesrc.c: (gst_basesrc_class_init),
(gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
(gst_basesrc_query), (gst_basesrc_set_property),
(gst_basesrc_get_property), (gst_basesrc_check_get_range),
(gst_basesrc_activate):
* gst/base/gstbasesrc.h:
* gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
(gst_base_transform_src_activate):
* gst/elements/gstelements.c:
* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
(gst_fakesrc_set_property), (gst_fakesrc_get_property):
* gst/elements/gsttee.c: (gst_tee_sink_activate):
* gst/elements/gsttypefindelement.c: (find_element_get_length),
(gst_type_find_element_checkgetrange),
(gst_type_find_element_activate):
* gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
* gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
(gst_caps_load_thyself):
* gst/gstelement.c: (gst_element_pads_activate),
(gst_element_save_thyself), (gst_element_restore_thyself):
* gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
(gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
* gst/gstpad.h:
* gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
(gst_xml_parse_file), (gst_xml_parse_memory),
(gst_xml_get_element), (gst_xml_make_element):
* gst/indexers/gstfileindex.c: (gst_file_index_load),
(_file_index_id_save_xml), (gst_file_index_commit):
* gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
(read_enum), (load_pad_template), (load_feature), (load_plugin),
(load_paths):
* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
(gst_dp_packet_from_event), (gst_dp_caps_from_packet):
* tools/gst-complete.c: (main):
* tools/gst-compprep.c: (main):
* tools/gst-inspect.c: (print_element_properties_info):
* tools/gst-launch.c: (xmllaunch_parse_cmdline):
* tools/gst-xmlinspect.c: (print_element_properties):
GCC 4 fixen.
2005-05-04 21:29:44 +00:00
Wim Taymans
c2f41a8906 Next big merge.
Original commit message from CVS:
Next big merge.
Added GstBus for mainloop integration.
Added GstMessage for sending notifications on the bus.
Added GstTask as an abstraction for pipeline entry points.
Removed GstThread.
Removed Schedulers.
Simplified GstQueue for multithreaded core.
Made _link threadsafe, removed old capsnego.
Added STREAM_LOCK and PREROLL_LOCK in GstPad.
Added pad blocking functions.
Reworked scheduling functions in GstPad to prepare for
scheduling updates soon.
Moved events out of data stream.
Simplified GstEvent types.
Added return values to push/pull.
Removed clocking from GstElement.
Added prototypes for state change function for next merge.
Removed iterate from bins and state change management.
Fixed some elements, disabled others for now.
Fixed -inspect and -launch.
Added check for GstBus.
2005-03-21 17:34:02 +00:00
Wim Taymans
007cff6d75 Doc updates.
Original commit message from CVS:
* docs/design/part-MT-refcounting.txt:
* docs/design/part-clocks.txt:
* docs/design/part-gstelement.txt:
* docs/design/part-gstobject.txt:
* docs/design/part-standards.txt:
* gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
(gst_bin_remove_func), (gst_bin_remove):
* gst/gstbin.h:
* gst/gstbuffer.c:
* gst/gstcaps.h:
* testsuite/clock/clock1.c: (main):
* testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
(main):
* testsuite/dlopen/loadgst.c: (do_test):
* testsuite/refcounting/bin.c: (add_remove_test1),
(add_remove_test2), (main):
* testsuite/refcounting/element.c: (main):
* testsuite/refcounting/element_pad.c: (main):
* testsuite/refcounting/pad.c: (main):
* tools/gst-launch.c: (sigint_handler_sighandler):
* tools/gst-typefind.c: (main):
Doc updates.
Added doc about clock.
removed gst_bin_iterate_recurse_up(), marked methods
for removal.
Fix more testsuites.
2005-03-10 12:51:45 +00:00
Wim Taymans
c47dc4d853 First THREADED backport attempt, focusing on adding locks and making sure the API is threadsafe. Needs more work. Mor...
Original commit message from CVS:
First THREADED backport attempt, focusing on adding locks and
making sure the API is threadsafe. Needs more work. More docs
follow this week.
2005-03-07 18:27:42 +00:00
David Schleef
d84d463b1d tools/gst-launch.c: Fix deadlocks in signal.h-type signal handlers by not calling forbidden functions, including gst_...
Original commit message from CVS:
* tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
(fault_handler_sigaction), (fault_spin),
(sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
in signal.h-type signal handlers by not calling forbidden functions,
including gst_element_set_state().
2005-01-06 03:31:17 +00:00
Benjamin Otte
3d53a08118 gst/elements/gstfilesrc.c: work with non-regular files that can be mmapped (like /dev/zero)
Original commit message from CVS:
* gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
work with non-regular files that can be mmapped (like /dev/zero)
* gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
get rid of typefinds that require a seek when we can't seek instead
of trying them over and over again
* tools/gst-launch.c: (idle_func), (error_cb), (main):
return non-zero failure value when the pipeline was interrupted or
an error occurred
2004-08-12 09:12:13 +00:00
Benjamin Otte
f1472b4ed2 gst/schedulers/entryscheduler.c: fix for GST_DISABLE_DEBUG
Original commit message from CVS:
* gst/schedulers/entryscheduler.c:
(gst_entry_scheduler_remove_element):
fix for GST_DISABLE_DEBUG
* tools/gst-launch.c: (print_tag):
fixes for G_DISABLE_ASSERT
2004-08-03 14:29:31 +00:00
David Schleef
23d19ce876 docs/random/ds/0.9-suggested-changes: more comments
Original commit message from CVS:
* docs/random/ds/0.9-suggested-changes: more comments
* tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
2004-07-22 23:29:30 +00:00
David Schleef
ca7539c40e Changes to handle compilers that don't have variadic macro support. In particular, glib headers define some inlines ...
Original commit message from CVS:
Changes to handle compilers that don't have variadic macro
support.  In particular, glib headers define some inlines
that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
builds.
* gst/Makefile.am:
* gst/cothreads.c:
* gst/elements/gstfdsink.c:
* gst/elements/gstfdsrc.c:
* gst/elements/gstfilesink.c:
* gst/elements/gstfilesrc.c:
* gst/gst_private.h:
* gst/gstatomic.c:
* gst/gstcaps.c: (gst_caps_append):
* gst/gstcpu.c: (gst_cpuid_i386):
* gst/gstelement.c:
* gst/gsterror.c:
* gst/gstfilter.c:
* gst/gstinfo.h:
* gst/gstprobe.c:
* gst/gstquery.c:
* gst/gstregistry.c:
* gst/gststructure.c:
* gst/gsttaginterface.c:
* gst/gsttrace.c: (gst_trace_new):
* gst/gsttrashstack.c:
* gst/gsturi.c:
* gst/gstvalue.c:
* gst/parse/grammar.y:
* gst/parse/parse.l:
* tools/gst-inspect.c: (main):
* tools/gst-launch.c: (main):
* tools/gst-xmlinspect.c: (PUT_STRING):
2004-05-07 02:36:28 +00:00
Thomas Vander Stichele
7baa6c18e7 don't mix tabs and spaces
Original commit message from CVS:
don't mix tabs and spaces
2004-03-15 19:27:17 +00:00
Thomas Vander Stichele
a967370df5 gst-indent run on core
Original commit message from CVS:
gst-indent run on core
2004-03-13 15:27:01 +00:00
Christophe Fergeau
4a20ac4ee6 tools/: add calls to bind_textdomain_codeset
Original commit message from CVS:
2004-03-02  Christophe Fergeau  <teuf@gnome.org>

* tools/gst-inspect.c: (main):
* tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
2004-03-02 21:41:02 +00:00
Thomas Vander Stichele
b5186020ab add error symbol start translating gst-inspect
Original commit message from CVS:
add error symbol
start translating gst-inspect
2004-02-03 11:23:59 +00:00
Thomas Vander Stichele
68f5c775c5 fix output of typefind add GPL headers fix doc snippet
Original commit message from CVS:
fix output of typefind
add GPL headers
fix doc snippet
2004-01-20 14:09:42 +00:00
Thomas Vander Stichele
8e96cb73f6 translating parsing error messages
Original commit message from CVS:
translating parsing error messages
2004-01-13 14:23:44 +00:00
Thomas Vander Stichele
7e56c5435f update nl transition add gst-launch to be translated
Original commit message from CVS:
update nl transition
add gst-launch to be translated
2004-01-13 13:44:10 +00:00
Benjamin Otte
0ee999abcf don't use strdup_value_contents for strings
Original commit message from CVS:
don't use strdup_value_contents for strings
2003-11-24 22:10:06 +00:00
Benjamin Otte
385b9ee5c4 merge in tagging
Original commit message from CVS:
merge in tagging
Includes:
- gsttag.[ch] - The definition of GstTagList and tag registering/querying
- gsttaginterface.[ch] - Interface for elements that can handle setting of tags
- updates and merges to gststructure.[ch] and gstvalue.[ch]
- testsuite/tags - some tests for tagging
- bugfixes
- updates to make make distcheck work
- updates the version number to 0.7.2.1

Does not include:
- including tagging stuff in docs
- extensive tests
2003-11-24 02:09:23 +00:00
David Schleef
13916dae8f further i18n: call setlocale()
Original commit message from CVS:
further i18n: call setlocale()
2003-08-19 08:11:58 +00:00
Ronald S. Bultje
b5f3c4eaf9 Add SIGUSR1/SIGUSR2 as play/stop signals. Also add these to the documentation. Fixes #120065
Original commit message from CVS:
Add SIGUSR1/SIGUSR2 as play/stop signals. Also add these to the documentation. Fixes #120065
2003-08-19 05:43:55 +00:00
David Schleef
c61bcbef1f Add number-of-iterations option.
Original commit message from CVS:
Add number-of-iterations option.
2003-07-14 08:25:16 +00:00
David Schleef
2ebb88a354 Add SIGINT handling. ctrl-C is more graceful now
Original commit message from CVS:
Add SIGINT handling.  ctrl-C is more graceful now
2003-07-01 03:45:19 +00:00
Benjamin Otte
803ce6bf48 GST_DEBUG reorganization containing loads of stuff:
Original commit message from CVS:
GST_DEBUG reorganization
This is a big diff (ca 450k), containing loads of stuff:
- gstinfo.[ch] complete rewrite
- changing of all GST_DEBUG messages to reflect that change
- reorganization of subsystem disabling
- addition of gstconfig.h.in so we can track the disablings
- <gst/gst.h> does not include <unistd.h> and <config.h> anymore
- documentation updated for gstinfo stuff (build the docs yourself to know what changed)
- bugfixes for making of the docs (files from CVS are not deleted anymore
- testsuite for debugging changes in testsuite/debug

expect breakage
2003-06-29 14:05:49 +00:00
Benjamin Otte
7c9480e220 parsing returns elements, not bins - so put it into a pipeline if it's not a bin
Original commit message from CVS:
parsing returns elements, not bins - so put it into a pipeline if it's not a bin
2003-04-28 17:01:44 +00:00
David Schleef
3639eab50e Fall back on sa_handler if sa_sigaction doesn't work
Original commit message from CVS:
Fall back on sa_handler if sa_sigaction doesn't work
2003-04-13 21:11:12 +00:00
Benjamin Otte
087aebf604 patch to gst-launch - a pipeline parsing can result in an error even though a pipeline is returned
Original commit message from CVS:
patch to gst-launch - a pipeline parsing can result in an error even though a pipeline is returned
2003-04-10 01:40:03 +00:00
Benjamin Otte
c56b13bd2b work around popt bug
Original commit message from CVS:
work around popt bug
2003-04-04 20:33:05 +00:00
Wim Taymans
b030b5cef2 - Add more --disable options
Original commit message from CVS:
- Add more --disable options
- fix makefiles to only compile non-disabled features
- some compile fixes.
- removed extratypes, added gsturitype
- make get/set clock on a bin overridable
- some portability fixes for GUINT64
- separate pools from gstregistry.[ch] into gstregistrypool.[ch]
- make gstobject size fixed, even if we disabled load/save
- don't use 'new' as a variable as it is not a valib C++ variable
2003-02-10 20:32:32 +00:00
Wim Taymans
bc3553a799 Backport verbose option from 0.6.0
Original commit message from CVS:
Backport verbose option from 0.6.0
2003-02-03 20:30:59 +00:00
Wim Taymans
d7f8bbea1b - Add popt option to enable new tracing
Original commit message from CVS:
- Add popt option to enable new tracing
2003-02-02 19:22:31 +00:00
David Schleef
393033c6fa Convert %lld and %llu in printf formats to G_G[U]INT64_FORMAT. Fix pointer<->int conversion. Fixes warnings on alpha.
Original commit message from CVS:
Convert %lld and %llu in printf formats to G_G[U]INT64_FORMAT.  Fix
pointer<->int conversion.  Fixes warnings on alpha.
2003-02-01 20:29:27 +00:00
Wim Taymans
aaef425d99 Small fixes, improved query inspect
Original commit message from CVS:
Small fixes, improved query inspect
2003-01-07 20:49:46 +00:00
Wim Taymans
fbe8f4f657 Add flag to disable fault_setup()
Original commit message from CVS:
Add flag to disable fault_setup()
2002-12-30 18:29:16 +00:00
Wim Taymans
54ad9d5e6b Small cleanups
Original commit message from CVS:
Small cleanups
2002-12-19 20:59:48 +00:00
Wim Taymans
f7d73c91b2 ASYNC state changes are not an error.
Original commit message from CVS:
ASYNC state changes are not an error.
2002-12-08 20:08:39 +00:00
Wim Taymans
647618947f Print buffer stats even after failed state change.
Original commit message from CVS:
Print buffer stats even after failed state change.
2002-11-20 21:29:29 +00:00
David Schleef
96b9f9d5d1 Add automatic stack dumping on SIGSEGV and SIGQUIT
Original commit message from CVS:
Add automatic stack dumping on SIGSEGV and SIGQUIT
2002-11-14 02:49:16 +00:00
Wim Taymans
ebda7d920a Fix silly free twice bug
Original commit message from CVS:
Fix silly free twice bug
2002-09-24 18:41:16 +00:00
Thomas Vander Stichele
f12f450410 backports and fixes
Original commit message from CVS:
backports and fixes
2002-09-23 06:02:17 +00:00
Wim Taymans
d9e80e999a - Refactor the caps print function in -inspect
Original commit message from CVS:
- Refactor the caps print function in -inspect
- fix a leak in -launch
2002-09-17 21:32:26 +00:00
Wim Taymans
7fc83d1433 Fix the min value for the stats
Original commit message from CVS:
Fix the min value for the stats
2002-09-12 20:11:12 +00:00
Wim Taymans
7fc1800892 -inspect fixes for formats
Original commit message from CVS:
-inspect fixes for formats
-launch uses the default error/deep_notify handlers
2002-07-30 19:25:24 +00:00
Wim Taymans
abc329c725 - Make inspect show the event masks, formats and qupported query types.
Original commit message from CVS:
- Make inspect show the event masks, formats and qupported query types.
- convert enum values to something readable in -launch
2002-07-24 21:13:30 +00:00
Wim Taymans
550446c738 Also print event stats on exit.
Original commit message from CVS:
Also print event stats on exit.
2002-07-08 19:23:59 +00:00
Wim Taymans
d7ddba92e9 We are nano seconds now..
Original commit message from CVS:
We are nano seconds now..
2002-06-03 20:59:02 +00:00
Steve Baker
d4e56cc925 this wasn't actually needed
Original commit message from CVS:
this wasn't actually needed
2002-05-29 15:30:10 +00:00
Steve Baker
608589ef0d this seems to be needed when doing a pipeline like -launch { foo ! bar }
Original commit message from CVS:
this seems to be needed when doing a pipeline like -launch { foo ! bar }

Now you can run:
gst-launch --gst-mask=-1 { fakesrc ! fakesink }
to see what seems to be a double locking problem
2002-05-28 14:42:22 +00:00
Wim Taymans
086de421dc Totally rewritten registry handling.
Original commit message from CVS:
Totally rewritten registry handling.
- move the registry save/load code into a gstregistry subclass, this
will make it possible to use other registries (flat file, web based,
RDBMS type, etc..)
- a simple GMarkup xml registry is implemented
- use standard statically linked plugins for core elements.
- GstPlugin has a very well defined set of functions now
A little bytestream hack..
Added more info to -inspect.
Some more debugging info for clocking.
Small cleanups

I use ./gst-register --gst-plugin-path=/opt/src/sourceforge/gst-plugins/gst-libs:/opt/src/sourceforge/gst-plugins/
to register core and gst-plugins now.
2002-05-08 20:40:48 +00:00
Benjamin Otte
8e5c223871 fix bug with --gst-fatal-warnings when exclude_args is NULL
Original commit message from CVS:
fix bug with --gst-fatal-warnings when exclude_args is NULL
2002-04-17 00:18:04 +00:00
Benjamin Otte
5f8324949f yay, a new option to play with! added -X / --exclude to exclude output of specific properties. Currently only --exclu...
Original commit message from CVS:
yay, a new option to play with!
added -X / --exclude to exclude output of specific properties. Currently only --exclude will work because we're not on popt 1.6.3 yet (blame it on Debian).
removed the harcoded excluding of the 'offset' property. You need to specify --exclude=offset now if you want your old output back
2002-04-16 14:45:53 +00:00
Andy Wingo
70cfc6cb4d new parser that uses flex and bison
Original commit message from CVS:
* new parser that uses flex and bison
- doesn't do dynamic pipelines yet...
* added GErrors to the gst_parse_launch[v] api
* added --gst-mask-help command line option
* fixed -o option for gst-launch
* GstElement api change:
- gst_element_get_pad
- gst_element_get_request_pad, gst_element_get_static_pad
- gst_element_get_compatible_pad
- gst_element_get_compatible_static_pad, gst_element_get_compatible_request_pad
- gst_element_[dis]connect -> gst_element_[dis]connect_pads
- gst_element_[dis]connect_elements -> gst_element_[dis]connect
* manual update
* example, tool, and doc updates for the api changes
- no more plugin docs in the core docs, plugins require a more
extensive doc system
2002-04-07 23:32:16 +00:00
Benjamin Otte
8ae7350492 fix all compiler warnings
Original commit message from CVS:
fix all compiler warnings
2002-04-04 19:28:23 +00:00
Wim Taymans
06c7e989ef Get rid of the warning
Original commit message from CVS:
Get rid of the warning
2002-03-31 16:27:28 +00:00
Andy Wingo
cfb228b0f9 add notify back to filesrc, it's needed for MVC applications remove notify printouts from gst-launch cleanup in gst-p...
Original commit message from CVS:
* add notify back to filesrc, it's needed for MVC applications
* remove notify printouts from gst-launch
* cleanup in gst-plugins configure.ac
* some jack updates
* remove SELF_ITERATING flag in favor of SEF_SCHEDULABLE (not a clear name,
but it's what we have for the moment)
* improve parsing of request pad names, no more sscanf
* fixes to the fastscheduler Makefile.am
2002-03-30 19:31:14 +00:00
Wim Taymans
0e40bc56b6 Updates to the new props API
Original commit message from CVS:
Updates to the new props API
Some more info in -inspect
2002-03-30 17:06:45 +00:00
Andy Wingo
a43fadec2e s/gst_element_install_std_props/gst_element_class_install_std_props/ -- it just makes more sense that way added jack ...
Original commit message from CVS:
* s/gst_element_install_std_props/gst_element_class_install_std_props/ -- it just makes more sense that way
* added jack element, doesn't quite work right yet but i didn't want to lose the work -- it does build, register,
and attempt to run though
* imposed some restrictions on the naming of request pads to better allow for reverse parsing
* added '%s' to reverse parsing
* added new bin flag to indicate that it is self-iterating, and some lame code in gst-launch to test it out
* fixen on launch-gui
* added pkg-config stuff for the editor's libs
2002-03-18 04:41:37 +00:00
Benjamin Otte
1952e9d714 updated popt stuff:
Original commit message from CVS:
updated popt stuff:
- added 'gst_init_with_popt_table' to gst.h
- added a --silent option to launch to suppress g_object_notify events
2002-02-24 17:08:07 +00:00
Benjamin Otte
c3dd1a65b3 make -launch receive and print out errors.
Original commit message from CVS:
make -launch receive and print out errors.
There is also a fix to allow printing gint64 variables. This should be removed when GLib does it. Glib1.3.13 does not.
2002-02-06 19:10:38 +00:00
Andy Wingo
f7aa64cf33 core is glib2 only now tried to convert to g_strdup_value_contents as much as i could misc other fixes
Original commit message from CVS:
* core is glib2 only now
* tried to convert to g_strdup_value_contents as much as i could
* misc other fixes
2002-02-06 16:35:16 +00:00
Benjamin Otte
27d973f2bf <wingo> i thought _get gave you a copy of the string --- he's right
Original commit message from CVS:
<wingo> i thought _get gave you a copy of the string --- he's right
2002-02-06 15:02:26 +00:00
Benjamin Otte
173ccc9b28 bugfixing: always use the right GType when using g_object_get/set; do not free strings from g_object_get, they're not...
Original commit message from CVS:
bugfixing: always use the right GType when using g_object_get/set; do not free strings from g_object_get, they're not yours (see docs/design/part-standards.txt)
2002-02-06 08:23:10 +00:00
Benjamin Otte
7e4e644d51 make gst-launch property aware
Original commit message from CVS:
make gst-launch property aware
2002-02-06 07:10:37 +00:00
Andy Wingo
703f271947 minor cleanups
Original commit message from CVS:
minor cleanups
2002-01-15 05:58:45 +00:00
Andy Wingo
aa29faadef gst-xmllaunch works now. it's a separate target built from gst-launch.c, just with a different name. it can set the p...
Original commit message from CVS:
gst-xmllaunch works now. it's a separate target built from gst-launch.c, just with
a different name. it can set the properties of elements by name, as in
element.property=value. craete pipelines using gst-launch -o file.xml <pipeline description>
2002-01-15 05:57:14 +00:00
Andy Wingo
57dc4b544d doc and configure updates, and the beginnings of gst-xmllaunch
Original commit message from CVS:
doc and configure updates, and the beginnings of gst-xmllaunch
2002-01-14 07:18:43 +00:00
Andy Wingo
f38969ff25 fix doc build for glib2 remove template files from cvs, they are generated with gtkdoc-mktmpl new, cleaner interface ...
Original commit message from CVS:
* fix doc build for glib2
* remove template files from cvs, they are generated with gtkdoc-mktmpl
* new, cleaner interface to the parser facilities
* cleanups in gstparse.c
2002-01-14 04:09:56 +00:00
Andy Wingo
d262bea863 summary: fix xml in gstreamer 1) make clear distinction between loading xml that actually creates objects and loading...
Original commit message from CVS:
summary: fix xml in gstreamer

1) make clear distinction between loading xml that actually creates objects and loading xml that just
synchronizes properties with objects. moved most of gst_element_restore_thyself functionality to
gst_xml_make_element. this new function name can change if it sucks.
2) many various fixes. createxml and runxml work now.
3) doc updates.
4) GstSignalObject is stil broken. i have no idea what it's supposed to do.
2002-01-11 15:49:47 +00:00
Andy Wingo
441aeb13e9 for i in gstreamer-*; do mv $i echo $i | sed -e 's/gstreamer/gst/'; done
Original commit message from CVS:
for i in gstreamer-*; do mv $i `echo $i | sed -e 's/gstreamer/gst/'`; done

*THIS CHANGES PROGRAM NAMES*

gstreamer-register -> gst-register et al
no one expressed objections to this over a two-day period, so i went ahead and did it
this can be reverted if folks complain too much...
2002-01-04 19:46:40 +00:00
Renamed from tools/gstreamer-launch.c (Browse further)