Commit graph

3837 commits

Author SHA1 Message Date
Tim-Philipp Müller
3a8fdc1d39 API: add gst_tag_list_is_empty() (#360467).
Original commit message from CVS:
* gst/gsttaglist.c: (gst_tag_list_is_empty):
* gst/gsttaglist.h:
* docs/gst/gstreamer-sections.txt:
API: add gst_tag_list_is_empty() (#360467).
* tests/check/gst/gsttag.c: (GST_START_TEST):
And a test case.
2006-10-09 11:20:44 +00:00
Zaheer Abbas Merali
6ac7827d3c gst/gstmessage.h: Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having a value that doesn't fit on enumeration.
Original commit message from CVS:
2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

* gst/gstmessage.h:
Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
a value that doesn't fit on enumeration.
2006-10-09 11:06:50 +00:00
Josep Torre Valles
2f32e21d72 common/m4/gst-error.m4: Disable warning of statement not reached on Forte.
Original commit message from CVS:
2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

Patch by: Josep Torre Valles <josep@fluendo.com>

* common/m4/gst-error.m4:
Disable warning of statement not reached on Forte.
* gst/gstmessage.h:
Fix warning on Forte (value doesn't fit on enumeration).
* libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
Fix warning on Forte (value doesn't fit on enumeration).
* libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
DEBUG macro says it takes minimum of 2 args and so Forte
complains about the use with just 1 arg.
* plugins/elements/gstfdsink.c:
* plugins/elements/gstfdsrc.c:
* plugins/elements/gstfilesink.c:
* plugins/elements/gstfilesrc.c:
Use correct return type for the uri handler implementations.

All these fix warnings in Forte.  Fixes bug #360860.
2006-10-09 09:32:29 +00:00
Tim-Philipp Müller
0ca5590961 gst/gstelement.h: gcc versions prior to gcc 3.3 apparently complain about a NULL printf format string, so don't use G...
Original commit message from CVS:
* gst/gstelement.h:
gcc versions prior to gcc 3.3 apparently complain about a NULL printf
format string, so don't use G_GNUC_PRINTF for those versions.
2006-10-08 13:27:17 +00:00
Tim-Philipp Müller
35ae6c7472 gst/gsttaglist.*: Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
Original commit message from CVS:
* gst/gsttaglist.c: (gst_is_tag_list):
* gst/gsttaglist.h:
Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
* tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
Small test for the above.
2006-10-07 18:41:19 +00:00
Tim-Philipp Müller
f8571bd952 gst/gsttaglist.h: Less tabs, more spaces.
Original commit message from CVS:
* gst/gsttaglist.h:
Less tabs, more spaces.
2006-10-07 18:11:03 +00:00
Tim-Philipp Müller
06260fdc88 gst/gstinfo.h: Those two function declarations do actually belong there, revert commit from yesterday that turned the...
Original commit message from CVS:
* gst/gstinfo.h:
Those two function declarations do actually belong there, revert
commit from yesterday that turned them intro macros.
2006-10-06 17:21:33 +00:00
Josep Torre Valles
fcb5023fa4 gst/gst.c: Fix empty declaration and type mismatch.
Original commit message from CVS:
2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

Patch by: Josep Torre Valles <josep@fluendo.com>

* gst/gst.c: (gst_init_get_option_group):
Fix empty declaration and type mismatch.
* gst/gstbin.c: (gst_bin_change_state_func):
Fix type mismatch.
* gst/gstelement.c: (gst_element_continue_state),
(gst_element_set_state_func), (gst_element_change_state),
(gst_element_change_state_func):
Fix type mismatches.
* gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
(gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
Cast as appropriate.
* gst/gstobject.c: (gst_class_signal_connect):
Cast as appropriate.  The function pointer parameter really
has the wrong type but would break API if we change it.
* gst/gstquery.c:
Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
order of including string.h.
* gst/gstutils.c: (gst_element_state_get_name):
Remove unreachable line.
* gst/gstxml.c: (gst_xml_parse_doc):
Fix type mismatch.
All these caught by Forte.
2006-10-06 14:46:04 +00:00
Zaheer Abbas Merali
6faacf67a3 gst/parse/grammar.y: Remove static function gst_parse_element_lock as all it does is return. Looks like cruft from 0.8.
Original commit message from CVS:
2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

* gst/parse/grammar.y:
Remove static function gst_parse_element_lock as all it does
is return.  Looks like cruft from 0.8.
2006-10-05 15:47:44 +00:00
Tim-Philipp Müller
f468db236d Printf fixes.
Original commit message from CVS:
* gst/gstpad.c: (pre_activate):
* gst/gstregistry.c: (gst_registry_scan_path_level):
* gst/gstregistryxml.c: (load_plugin):
* libs/gst/controller/gstcontroller.c:
(gst_controlled_property_set_interpolation_mode):
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_packet_from_event_1_0):
* libs/gst/net/gstnetclientclock.c:
(gst_net_client_clock_observe_times):
* plugins/elements/gstfdsrc.c: (gst_fd_src_create):
Printf fixes.
2006-10-05 14:26:08 +00:00
Tim-Philipp Müller
376f6c34da Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know whether we can use G_GNUC_PRINTF in other header files ...
Original commit message from CVS:
* configure.ac:
* docs/gst/gstreamer-sections.txt:
* gst/gstconfig.h.in:
* gst/gstelement.h:
* gst/gstinfo.h:
Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
whether we can use G_GNUC_PRINTF in other header files and at
least check the printf format/arguments of debug messages and
GST_ELEMENT_ERROR messages when the printf extension is not
being used.
Replace more tabs with spaces in gstinfo.h and remove two spurious
function declarations in GST_DISABLE_DEBUG part with macros.
2006-10-05 12:31:07 +00:00
Tim-Philipp Müller
c4be4aa916 gst/gstbus.c: More docs for the sync-message signal (mention that it is not emitted by default); log message structur...
Original commit message from CVS:
* gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
More docs for the sync-message signal (mention that it is not
emitted by default); log message structures of messages posted on
the bus as well.
2006-10-03 19:13:36 +00:00
Jan Schmidt
438c525bbd gst/gst.c: Use a pipe pair to receive status results from the forked child, and ignore the result from waitpid. Fixes...
Original commit message from CVS:
* gst/gst.c: (ensure_current_registry_forking):
Use a pipe pair to receive status results from the forked child, and
ignore the result from waitpid. Fixes #355499
2006-10-03 15:10:51 +00:00
Tim-Philipp Müller
785eafa32a gst/gstpad.c: Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
Original commit message from CVS:
* gst/gstpad.c:
Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
2006-10-02 16:37:56 +00:00
Edward Hervey
8923a57a6f docs/design/part-block.txt: Further explain the use of flushing on blocked pads.
Original commit message from CVS:
* docs/design/part-block.txt:
Further explain the use of flushing on blocked pads.
* docs/gst/gstreamer-sections.txt:
* gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
(gst_pad_push_event):
* gst/gstpad.h:
Added new GstPadFlag : GST_PAD_BLOCKING.
Adds the notion of pads really blocking, which enables to properly
handle FLUSH_START/FLUSH_STOP events on blocked pads.
Fixes #358999
API: gst_pad_is_blocking()
API: GST_PAD_IS_BLOCKING() macro
API: GST_PAD_BLOCKING GstPadFlag
2006-10-02 16:01:54 +00:00
mrcgran
bae90f5955 gst/gstghostpad.c: Filter the proxied caps against the padtemplate if we have one.
Original commit message from CVS:
Patch by: mrcgran <mrc.gran at gmail dot com>
* gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
Filter the proxied caps against the padtemplate if we have one.
* gst/gstquery.c: (gst_query_new_segment):
Add include for gstinfo.h so that compilation with
-DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
2006-10-02 10:06:17 +00:00
Alessandro Decina
86a6abe32d gst/gstevent.c: Fix gst_mini_object_make_writable() and gst_event_copy() for events with event structures by setting ...
Original commit message from CVS:
Patch by: Alessandro Decina  <alessandro at nnva org>
* gst/gstevent.c: (_gst_event_copy):
Fix gst_mini_object_make_writable() and gst_event_copy() for events
with event structures by setting the parent refcount address of the
copied structure to the address of the refcount member of the newly
copied event rather than the address of the refcount member of the
original event. Fixes #358737.
* tests/check/gst/gstevent.c: (GST_START_TEST):
Unit test for the above.
2006-10-02 08:37:24 +00:00
Jan Schmidt
d1effe5859 gst/: Re-commit the registry changes, along with an extra fix:
Original commit message from CVS:
* gst/gst.c: (init_pre), (scan_and_update_registry),
(ensure_current_registry_nonforking),
(ensure_current_registry_forking), (ensure_current_registry),
(init_post), (gst_debug_help), (gst_deinit):
* gst/gst_private.h:
* gst/gstregistry.c: (gst_registry_finalize),
(gst_registry_remove_features_for_plugin_unlocked),
(gst_registry_remove_plugin), (gst_registry_scan_path_level),
(gst_registry_scan_path),
(_priv_gst_registry_remove_cache_plugins),
(_priv_gst_registry_cleanup):
* gst/gstregistry.h:
Re-commit the registry changes, along with an extra fix:
When a cached plugin is encountered at a different file path,
update the stored path in the registry cache so that the parent
process knows where it actually is now when it re-reads the registry
cache. Fixes the thing that broke distcheck with the previous commit.
* tests/check/Makefile.am:
Clean up files named 'core' too when running make clean.
* tests/examples/manual/Makefile.am:
Set up a registry path for running these tests, and clean it properly
for distcheck.
2006-09-28 14:00:43 +00:00
Jan Schmidt
a8bbbf2e2d gst/: Revert previous change until I figure out why it breaks distcheck.
Original commit message from CVS:
* gst/gst.c: (init_pre), (scan_and_update_registry),
(ensure_current_registry_nonforking),
(ensure_current_registry_forking), (ensure_current_registry),
(init_post), (gst_debug_help), (gst_deinit):
* gst/gst_private.h:
* gst/gstregistry.c: (gst_registry_finalize),
(gst_registry_remove_plugin), (gst_registry_scan_path_level),
(gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
(_gst_registry_cleanup):
* gst/gstregistry.h:
Revert previous change until I figure out why it breaks distcheck.
2006-09-27 17:42:47 +00:00
Jan Schmidt
b5cd597ca9 gst/gst.c: Make init_pre and init_post take the full complement of GOptionFunc args so they can return useful GErrors...
Original commit message from CVS:
* gst/gst.c: (init_pre), (scan_and_update_registry),
(ensure_current_registry_nonforking),
(ensure_current_registry_forking), (ensure_current_registry),
(init_post), (gst_debug_help), (gst_deinit):
Make init_pre and init_post take the full complement of GOptionFunc
args so they can return useful GErrors. Make the registry updating
functions do so.
Call _priv_gst_registry_remove_cache_plugins after scanning files to
ensure that the registry we're about to write out doesn't contain
stale information about old-deleted plugin files.
Make _priv_gst_registry_remove_cache_plugins return a boolean so
that deletion of plugin files is considered a registry change.
* gst/gst_private.h:
* gst/gstregistry.c: (gst_registry_finalize),
(gst_registry_remove_features_for_plugin_unlocked),
(gst_registry_remove_plugin), (gst_registry_scan_path_level),
(gst_registry_scan_path),
(_priv_gst_registry_remove_cache_plugins),
(_priv_gst_registry_cleanup):
* gst/gstregistry.h:
Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
by adding _priv prefix, so that they won't appear in the global
symbol table. They still do atm though because of #318031. Move the
prototypes to gst_private.h
When removing a plugin, remove all features for that plugin too.
Fixes #340878.
2006-09-27 16:52:59 +00:00
Tim-Philipp Müller
9b8bf01253 gst/gstelementfactory.c: Fix typo in docs blurb.
Original commit message from CVS:
* gst/gstelementfactory.c:
Fix typo in docs blurb.
2006-09-25 13:08:29 +00:00
Tim-Philipp Müller
5c666e7f43 gst/gsturi.c: Don't assert/crash here if a uri handler doesn't return any supported protocols. The list of protocols ...
Original commit message from CVS:
* gst/gsturi.c: (search_by_entry):
Don't assert/crash here if a uri handler doesn't return any
supported protocols. The list of protocols could be generated
dynamically at runtime or at plugin registration, and an error
in the underlying library shouldn't be fatal (#353301).
2006-09-25 11:16:37 +00:00
Tim-Philipp Müller
e7fc450bc4 gst/gstinfo.c: Fix warning if HAVE_PRINTF_EXTENSION is undefined (spotted by Peter Kjellerstedt).
Original commit message from CVS:
* gst/gstinfo.c:
Fix warning if HAVE_PRINTF_EXTENSION is undefined
(spotted by Peter Kjellerstedt).
2006-09-25 10:36:23 +00:00
Wim Taymans
3f2eb6bdff Update docs about buffering.
Original commit message from CVS:
* docs/design/part-buffering.txt:
* gst/gstmessage.c: (gst_message_new_buffering),
(gst_message_parse_buffering):
Update docs about buffering.
* docs/design/part-trickmodes.txt:
Fix typo.
2006-09-22 15:29:23 +00:00
Tim-Philipp Müller
3d9910ecb9 gst/gstghostpad.c: Don't forget to release proxy lock when there's an error.
Original commit message from CVS:
* gst/gstghostpad.c: (gst_ghost_pad_set_target):
Don't forget to release proxy lock when there's an error.
2006-09-22 10:17:15 +00:00
Jan Schmidt
60fa209cbd gst/gstcaps.h: Add extra initialisers for Caps things, to fix some plugin warnings when using -Wextra
Original commit message from CVS:
* gst/gstcaps.h:
Add extra initialisers for Caps things, to fix some plugin warnings
when using -Wextra
2006-09-20 16:17:26 +00:00
Wim Taymans
2c5cdfe01f gst/gstghostpad.c: Also set template on the internal pad so that a getcaps from the target pad returns the template c...
Original commit message from CVS:
* gst/gstghostpad.c: (gst_ghost_pad_new_full):
Also set template on the internal pad so that a getcaps from the target
pad returns the template caps.
2006-09-18 13:56:26 +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
Tim-Philipp Müller
f3c07d5d20 gst/gstformat.c: Fix locking order (must take lock before using n_values).
Original commit message from CVS:
* gst/gstformat.c: (gst_format_register):
Fix locking order (must take lock before using n_values).
* gst/gstvalue.c: (gst_value_serialize_enum),
(gst_value_deserialize_enum_iter_cmp),
(gst_value_deserialize_enum):
Fix serialisation/deserialisation of custom registered GstFormats.
* tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
Unit test for custom format serialisation/deserialisation.
2006-09-17 19:26:16 +00:00
Stefan Kost
d42dbfb91a gst/gsterror.c: Documents how to receive errors.
Original commit message from CVS:
* gst/gsterror.c:
Documents how to receive errors.
2006-09-15 21:30:00 +00:00
Wim Taymans
bb634398b7 gst/: Small cleanups in docs and code.
Original commit message from CVS:
* gst/gstobject.c: (gst_object_set_parent):
* gst/gstpipeline.c: (do_pipeline_seek):
Small cleanups in docs and code.
* gst/gstsegment.c: (gst_segment_clip):
* tests/check/gst/gstsegment.c: (GST_START_TEST):
if stop == start and start is in the segment, no clipping should be
done. Also add a test for this.
2006-09-15 08:43:44 +00:00
Wim Taymans
bc14daabe7 Added methods to create and parse BUFFERING messages.
Original commit message from CVS:
* docs/design/part-buffering.txt:
* docs/gst/gstreamer-sections.txt:
* gst/gstmessage.c: (gst_message_new_buffering),
(gst_message_parse_buffering):
* gst/gstmessage.h:
Added methods to create and parse BUFFERING messages.
Added preliminary docs about buffering.
API: gst_message_new_buffering
API: gst_message_parse_buffering
2006-09-15 08:39:56 +00:00
Wim Taymans
84fc21c3c1 gst/gstbin.c: Update documentation.
Original commit message from CVS:
* gst/gstbin.c:
Update documentation.
* gst/gstelement.c: (gst_element_class_init),
(gst_element_release_request_pad), (gst_element_set_clock),
(gst_element_get_index), (gst_element_add_pad),
(gst_element_remove_pad), (gst_element_get_random_pad),
(gst_element_send_event), (gst_element_get_query_types),
(gst_element_query), (gst_element_post_message),
(gst_element_message_full), (gst_element_continue_state),
(gst_element_lost_state), (gst_element_save_thyself),
(gst_element_restore_thyself):
Documentation updates.
Rename last bit of the new-pad -> pad-added signal rename.
Fix the case where an element query would only work if the source
pad was linked.
Avoid some useless type checking in message handling.
* gst/gstevent.c:
* gst/gstevent.h:
* gst/gstutils.c:
Documentation updates.
2006-09-15 08:32:57 +00:00
Thomas Vander Stichele
24703cdf92 releasing 0.10.10
Original commit message from CVS:
releasing 0.10.10
2006-09-14 20:08:14 +00:00
Tim-Philipp Müller
6ef1f92e88 gst/gst.c: Print better details when child was terminated by signal.
Original commit message from CVS:
* gst/gst.c: (ensure_current_registry_forking):
Print better details when child was terminated by signal.
2006-09-03 11:16:50 +00:00
Tim-Philipp Müller
3a6b921f63 gst/gstregistryxml.c: Print a warning rather than g_assert() if a plugin feature is a URI handler but returns no prot...
Original commit message from CVS:
* gst/gstregistryxml.c: (gst_registry_xml_save_feature):
Print a warning rather than g_assert() if a plugin feature
is a URI handler but returns no protocols (#353976).
2006-09-03 11:06:52 +00:00
Thomas Vander Stichele
b036d0bbd6 clarify error message
Original commit message from CVS:
clarify error message
2006-09-02 13:40:41 +00:00
Tim-Philipp Müller
1c389318ec gst/gstinfo.c: Fix locking order, handle NULL function values properly.
Original commit message from CVS:
* gst/gstinfo.c: (_gst_debug_nameof_funcptr):
Fix locking order, handle NULL function values properly.
* gst/gstinfo.h:
Fix docs.
* gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
Initialised variable before using it and fix debug statement to
print the address of the function rather than the address of the
variable on the stack holding the address of the function.
2006-09-01 15:55:20 +00:00
Wim Taymans
1b623c3230 gst/gstghostpad.c: More cleanups.
Original commit message from CVS:
* gst/gstghostpad.c: (gst_proxy_pad_do_event),
(gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
(gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
(gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
(gst_ghost_pad_parent_unset),
(gst_ghost_pad_internal_do_activate_push),
(gst_ghost_pad_internal_do_activate_pull),
(gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
(gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
(gst_ghost_pad_init), (gst_ghost_pad_dispose),
(gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
(gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
(gst_ghost_pad_new_no_target_from_template),
(gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
More cleanups.
Avoid needless typechecking in macros.
Since the internal pad is always present and never changes, there is
no need to locking or ref when retrieving it.
Improve debugging a bit.
Handle link errors when setting the target. Fixes #341029.
2006-09-01 10:33:03 +00:00
Michael Smith
858de9793c gst/gstutils.c: Ensure that we set a capsfilter to NULL if we failed to link it when doing filtered linking, to avoid...
Original commit message from CVS:
* gst/gstutils.c: (gst_element_link_pads),
(gst_element_link_pads_filtered):
Ensure that we set a capsfilter to NULL if we failed to link it
when doing filtered linking, to avoid criticals.

No need to check for unreffing srcpad, which is explicly NULLed
above (a trivial code cleanup).
2006-08-31 17:13:34 +00:00
Wim Taymans
47e5ba2f15 docs/design/part-gstghostpad.txt: Update ascii art in documentation.
Original commit message from CVS:
* docs/design/part-gstghostpad.txt:
Update ascii art in documentation.
* gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
(gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
(gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
(gst_ghost_pad_internal_do_activate_push),
(gst_ghost_pad_internal_do_activate_pull),
(gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
(gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
(gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
(gst_ghost_pad_set_target):
Small cleanups and leak fixes.
Remove some checks now that the internal pad is never NULL.
Fix the case where linking pads without a target would create nasty
criticals. Fixes #341029.
Don't assign a GstPadLinkReturn to a gboolean and mess up the return
value of _set_target().
* tests/check/gst/gstghostpad.c: (GST_START_TEST),
(gst_ghost_pad_suite):
Some more tests for creating and linking untargeted ghostpads.
2006-08-31 15:19:44 +00:00
Edward Hervey
ce6e126d47 Refactored *_new() functions.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
(gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
(gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
(gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
(gst_ghost_pad_new_from_template),
(gst_ghost_pad_new_no_target_from_template):
* gst/gstghostpad.h:
Refactored *_new() functions.
Templates are now used as a g_object_new() parameter.
Use template in _do_getcaps() if we don't have a target.
Small documentation cleanups.
Added two new constructors:
gst_ghost_pad_new_from_template()
gst_ghost_pad_new_no_target_from_template()
* tests/check/gst/gstghostpad.c: (GST_START_TEST),
(gst_ghost_pad_suite):
Added tests for new ghostpad instanciation functions.
API additions: gst_ghost_pad_new_from_template,
gst_ghost_pad_new_no_target_from_template
2006-08-31 10:59:11 +00:00
Wim Taymans
cf85710b39 gst/gstcaps.c: Code cleanups.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_structure_is_subset_field):
Code cleanups.
Fix memleak.
2006-08-29 14:39:42 +00:00
Tim-Philipp Müller
ab00f16f12 gst/gstxml.c: Improve and detypofy docs.
Original commit message from CVS:
* gst/gstxml.c:
Improve and detypofy docs.
* tests/check/Makefile.am:
* tests/check/gst/.cvsignore:
* tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
Add a basic test suite for GstXML.
2006-08-29 10:49:03 +00:00
Wim Taymans
3f7a406618 gst/gstelement.c: Clear the pad caps when the element shut down all of the pads and is not streaming data that could ...
Original commit message from CVS:
* gst/gstelement.c: (activate_pads), (clear_caps),
(iterator_activate_fold_with_resync), (gst_element_pads_activate):
Clear the pad caps when the element shut down all of the pads and
is not streaming data that could modify the caps.
Fixes #352958.
2006-08-29 09:56:57 +00:00
Thomas Vander Stichele
69a9737605 more logical to log the sending pad, and the pad it is sending to
Original commit message from CVS:
more logical to log the sending pad, and the pad it is sending to
2006-08-28 23:16:33 +00:00
Wim Taymans
a0dbcd9ee4 gst/gstcaps.*: Fix docs and indentation again.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_merge_structure):
* gst/gstcaps.h:
Fix docs and indentation again.
* tests/check/gst/gstquery.c: (GST_START_TEST):
Fix leak in tests and add some more tests.
2006-08-28 16:39:20 +00:00
Torsten Schoenfeld
481238cfce Initialize variables when creating a new segment query.
Original commit message from CVS:
Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
* gst/gstquery.c: (gst_query_new_segment):
* tests/check/gst/gstquery.c: (GST_START_TEST):
Initialize variables when creating a new segment query.
Fixes #353121.
2006-08-28 08:44:29 +00:00
Torsten Schoenfeld
7fc02489e3 Check for NULL before _reffing the bus. Fixes #353122.
Original commit message from CVS:
Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
* gst/gstelement.c: (gst_element_get_bus):
* tests/check/gst/gstelement.c: (GST_START_TEST):
Check for NULL before _reffing the bus. Fixes #353122.
2006-08-28 08:35:31 +00:00
Stefan Kost
fc8d184bba implement caps merging (fixes #352580)
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstcaps.c: (gst_caps_structure_is_subset_field),
(gst_caps_structure_is_subset), (gst_caps_merge),
(gst_caps_merge_structure):
* gst/gstcaps.h:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_transform_caps):
* tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
implement caps merging (fixes #352580)
2006-08-24 10:40:31 +00:00
Wim Taymans
f0f388b8ba gst/gstpad.c: Improve debugging for task functions.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
(gst_pad_stop_task):
Improve debugging for task functions.
* gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
(gst_task_start), (gst_task_pause), (gst_task_join):
Make sure that the task function started and finished after a
join().
Don't try to push the task function on the threadpool multiple
times.
Improve the g_warning message with some useful suggestions
about how to fix the problem.
2006-08-23 16:51:19 +00:00
Wim Taymans
ca915c1969 gst/gstutils.c: Handle RESYNC correctly in _proxy_getcaps.
Original commit message from CVS:
* gst/gstutils.c: (gst_pad_proxy_getcaps):
Handle RESYNC correctly in _proxy_getcaps.
2006-08-23 10:59:47 +00:00
Thomas Vander Stichele
ef9253d99c word refcounting more precisely for gst_value_*_buffer
Original commit message from CVS:
word refcounting more precisely for gst_value_*_buffer
2006-08-23 09:47:32 +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
Stefan Kost
38d2d33f22 API: Add gst_caps_merge() and use it in basetransform, fixes #345444 in a better way
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstcaps.c: (gst_structure_is_equal_foreach),
(gst_caps_merge):
* gst/gstcaps.h:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_transform_caps):
API: Add gst_caps_merge() and use it in basetransform, fixes #345444
in a better way
2006-08-21 14:54:31 +00:00
Edward Hervey
9c590b226e gst/gstxml.c: Implement GObject::dispose virtual method in GstXML so we can free the top_elements GList.
Original commit message from CVS:
* gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
Implement GObject::dispose virtual method in GstXML so we can free the
top_elements GList.
2006-08-21 14:03:33 +00:00
Wim Taymans
87a78cc03d gst/gstbuffer.c: Copy duration/offset_end/caps when creating a subbuffer of the complete parent.
Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
(gst_buffer_create_sub):
Copy duration/offset_end/caps when creating a subbuffer of the
complete parent.
Make the subbuffer read-only when we make the metadata writable for
now. Fixes #351768.
* tests/check/gst/gstbuffer.c: (GST_START_TEST):
Added check for metadata copy when creating subbuffers.
2006-08-21 09:30:04 +00:00
Stefan Kost
c789a10963 Simplify caps to get rid of duplicates, fixes #345444
Original commit message from CVS:
* gst/gst.c:
* gst/gstpad.c: (gst_pad_set_active):
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_transform_caps):
Simplify caps to get rid of duplicates, fixes #345444
2006-08-20 19:30:09 +00:00
Stefan Kost
6ab8345121 gst/gstvalue.*: Use these optimizations only internaly.
Original commit message from CVS:
* gst/gstvalue.c:
* gst/gstvalue.h:
Use these optimizations only internaly.
2006-08-20 15:55:12 +00:00
Stefan Kost
fe851cf2e4 gst/gstvalue.*: Saves the expensive lookup of the compare function in many cases (#345444)
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_compare_list),
(gst_value_compare_fraction_range),
(gst_value_intersect_fraction_fraction_range),
(gst_value_intersect_fraction_range_fraction_range),
(gst_value_subtract_fraction_fraction_range),
(gst_value_subtract_fraction_range_fraction_range),
(gst_value_get_compare_func), (gst_value_compare),
(gst_value_compare_with_func):
* gst/gstvalue.h:
Saves the expensive lookup of the compare function in many cases
(#345444)
2006-08-20 14:30:20 +00:00
Stefan Kost
2d26569296 docs/random/ensonic/logging.txt: update ideas
Original commit message from CVS:
* docs/random/ensonic/logging.txt:
update ideas
* gst/gstinfo.c: (gst_debug_log_default):
reorder fields, save some columns, add optinal color codes for log-
levels
2006-08-18 10:52:33 +00:00
Jan Schmidt
5736de1957 Add internal helpers for pre-registering quarks from static strings and using the quark values directly instead of lo...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/Makefile.am:
* gst/gst.c: (init_post):
* gst/gst_private.h:
* gst/gstquark.c: (_priv_gst_quarks_initialize):
* gst/gstquark.h:
* gst/gstquery.c: (gst_query_new_position),
(gst_query_set_position), (gst_query_parse_position),
(gst_query_new_duration), (gst_query_set_duration),
(gst_query_parse_duration), (gst_query_new_convert),
(gst_query_set_convert), (gst_query_parse_convert),
(gst_query_new_segment), (gst_query_set_segment),
(gst_query_parse_segment), (gst_query_new_seeking),
(gst_query_set_seeking), (gst_query_parse_seeking):
Add internal helpers for pre-registering quarks from static strings
and using the quark values directly instead of looking them up when
creating and parsing queries. Can be used for event construction too.
Closes #350432.
2006-08-16 11:47:54 +00:00
Wim Taymans
6072def8ed gst/gstbin.c: Fix bogus docs.
Original commit message from CVS:
* gst/gstbin.c:
Fix bogus docs.
2006-08-16 08:54:56 +00:00
Tim-Philipp Müller
a8714f5195 gst/gstutils.c: Fix memleak (#351502).
Original commit message from CVS:
* gst/gstutils.c: (gst_util_set_value_from_string):
Fix memleak (#351502).
* tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
Add unit test for most of gst_util_set_value_from_string()
(not that one would want to encourage use of this function).
2006-08-15 18:45:39 +00:00
Tim-Philipp Müller
5d2860b050 API: add GST_TAG_EXTENDED_COMMENT (#350935).
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttaglist.c: (_gst_tag_initialize):
* gst/gsttaglist.h:
API: add GST_TAG_EXTENDED_COMMENT (#350935).
2006-08-14 19:04:56 +00:00
Tim-Philipp Müller
87e578704a gst/gstinfo.c: Make GST_PTR_FORMAT print messages as well.
Original commit message from CVS:
* gst/gstinfo.c: (gst_debug_print_object):
Make GST_PTR_FORMAT print messages as well.
* tests/check/gst/gstinfo.c: (printf_extension_log_func),
(GST_START_TEST), (gst_info_suite):
More tests.
2006-08-14 17:29:31 +00:00
Edward Hervey
b2bfb935b2 gst/gstelementfactory.c: If the GstElementClass doesn't have a GstElementDetails with all fields then error out nicel...
Original commit message from CVS:
* gst/gstelementfactory.c: (gst_element_register):
If the GstElementClass doesn't have a GstElementDetails with all fields
filled up correctly (longname, description AND author), then error out
nicely instead of crashing.
2006-08-14 15:33:17 +00:00
Tim-Philipp Müller
5f0bc06ae1 gst/gststructure.c: Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
Original commit message from CVS:
* gst/gststructure.c:
Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
* gst/gstvalue.h:
Expand on the difference between arrays and lists as we use them.
2006-08-14 12:35:06 +00:00
Wim Taymans
3254e4d752 gst/: Small doc updates.
Original commit message from CVS:
* gst/gstbuffer.c:
* gst/gsttask.c: (gst_task_join):
Small doc updates.

* gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
(gst_pad_stop_task):
When pad (de)activation failed for some reason, restore the old
activation mode and set the pad to flushing instead of assuming the
pad is deactivated.
If the _task_join() failed, reinstall the task on the pad so that it can
be stopped later and return an error.
2006-08-14 07:35:09 +00:00
Wim Taymans
f0eeee3342 docs/gst/gstreamer-sections.txt: Add GstClockClass vmethod docs.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
Add GstClockClass vmethod docs.
* gst/gstcaps.h:
Mark #endif with comment for associated #if
* gst/gstclock.c: (gst_clock_id_wait):
* gst/gstclock.h:
Add vmethod wait_jitter to avoid an unneeded _get_time() for
most clock implementations.
Document vmethods.
Flesh out docs about resolution methods.
API: GstClockClass::wait_jitter
* gst/gstsystemclock.c: (gst_system_clock_class_init),
(gst_system_clock_async_thread),
(gst_system_clock_id_wait_jitter_unlocked),
(gst_system_clock_id_wait_jitter):
Use base class wait_jitter variant for improved performance
due to less clock polling.
2006-08-11 15:24:03 +00:00
Edward Hervey
38f5745fa8 gst/gst.c: Set gst as being initialized before scanning/updating the registry, since there might be some plugins that...
Original commit message from CVS:
* gst/gst.c: (gst_init_check), (init_post):
Set gst as being initialized before scanning/updating the registry,
since there might be some plugins that call gst_init() and we don't
want to loop back in.
Closes #350879
2006-08-11 15:07:58 +00:00
Wim Taymans
ff240086e0 docs/design/part-qos.txt: Bring docs in line with the code. Mostly the sign of the jitter was wrong in the docs.
Original commit message from CVS:
* docs/design/part-qos.txt:
Bring docs in line with the code. Mostly the sign of the jitter was
wrong in the docs.
* gst/gstclock.c:
Fix the docs for the jitter.
* gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
(gst_event_parse_tag), (gst_event_new_buffer_size),
(gst_event_parse_buffer_size), (gst_event_parse_qos),
(gst_event_new_seek), (gst_event_parse_seek),
(gst_event_new_navigation):
Make sure the GstStructure has no parent when creating custom
events.
Add some more argument checking so that we avoid 0.0 rates.
Flesh out the docs for the QoS event some more.
2006-08-11 13:05:30 +00:00
Wim Taymans
c9b8c5414a Doc updates.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gst.c: (gst_init_get_option_group), (gst_init_check),
(ensure_current_registry_forking), (ensure_current_registry),
(parse_one_option), (parse_goption_arg), (gst_deinit),
(gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
* gst/gst.h:
Doc updates.
Added API and command line option to disable registry forking in
addition to the environment variable.
Constify some static arrays.
Added some more debug.
Don't deinit twice.
API: gst_registry_fork_is_enabled()
API: gst_registry_fork_set_enabled()
API: --gst-disable-registry-fork command line option
2006-08-11 10:19:51 +00:00
Tim-Philipp Müller
566f5d8deb gst/gst.c: Fix typo in error message.
Original commit message from CVS:
* gst/gst.c: (gst_init):
Fix typo in error message.
2006-08-11 09:59:29 +00:00
Tim-Philipp Müller
57212633aa API: add GST_SEGMENT_FORMAT, which is a printf extension we register that lets us easily dump GstSegments into debug ...
Original commit message from CVS:
* configure.ac:
* docs/gst/gstreamer-sections.txt:
* gst/gstconfig.h.in:
* gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
(_gst_info_printf_extension_ptr),
(_gst_info_printf_extension_segment):
API: add GST_SEGMENT_FORMAT, which is a printf extension we
register that lets us easily dump GstSegments into debug
logs (#350419).
* tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
(info_segment_format_printf_extension), (gst_info_suite):
Add simple unit test that logs a bunch of different segments (not
valgrinded at the moment because of leaks in gst_debug_add_log_function).
2006-08-09 15:13:14 +00:00
Edward Hervey
2d6d262e86 gst/gstghostpad.c: Unlinking from a pad without a target is now a perfectly valid case which should NOT raise an asse...
Original commit message from CVS:
* gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
Unlinking from a pad without a target is now a perfectly valid case
which should NOT raise an assertion.
This case would happen if a linked ghostpad its target set to NULL after
it was previously linked.
2006-08-08 16:24:58 +00:00
Tim-Philipp Müller
2d28c5226b gst/gstelement.c: Don't crash printing the warning if the pad has no parent.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_remove_pad):
Don't crash printing the warning if the pad has no parent.
2006-08-04 15:15:24 +00:00
Wim Taymans
6487eb661e gst/gstvalue.c: Fix GstValueList comparison code. Fixes #347293.
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_compare_list):
Fix GstValueList comparison code. Fixes #347293.
* tests/check/gst/gstvalue.c: (GST_START_TEST):
Check to test GstValueList comparison.
2006-07-31 16:34:41 +00:00
Jan Schmidt
bc3daae9c2 gst/gstelementfactory.c: Remove unnecessary ref/unref pair
Original commit message from CVS:
* gst/gstelementfactory.c: (gst_element_factory_create):
Remove unnecessary ref/unref pair
* gst/parse/grammar.y:
Make sure to free the parse buffer on all code paths.
Move a g_free up to the error handler where it's easier to see.
* tests/check/gst/gstevent.c: (test_event):
Extending timeout for downstream travelling events to 10 seconds to
hopefully avoid intermittent failure on the buildbots.
* tests/check/pipelines/parse-launch.c: (run_delayed_test):
Don't manually set the state of the src element - it will happen as a
natural consequence of the pipeline changing state, and that way it
will do it in the right order too.
2006-07-31 15:07:30 +00:00
Wim Taymans
ee177d64c5 gst/gstutils.c: Protect _PAD_CAPS with OBJECT_LOCK.
Original commit message from CVS:
* gst/gstutils.c: (gst_pad_get_fixed_caps_func):
Protect _PAD_CAPS with OBJECT_LOCK.
2006-07-31 14:23:26 +00:00
Wim Taymans
10b8cb7e8f gst/gstpad.c: Use _DEBUG_OBJECT when it makes sense.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
(gst_pad_get_property), (gst_pad_activate_pull),
(gst_pad_activate_push), (gst_pad_set_blocked_async),
(gst_pad_set_activate_function),
(gst_pad_set_activatepull_function),
(gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
(gst_pad_set_getrange_function),
(gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
(gst_pad_set_query_function), (gst_pad_set_query_type_function),
(gst_pad_set_internal_link_function), (gst_pad_set_link_function),
(gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
(gst_pad_set_acceptcaps_function),
(gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
(gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
(gst_pad_get_caps_unlocked), (gst_pad_get_caps),
(gst_pad_peer_get_caps), (gst_pad_accept_caps),
(gst_pad_peer_accept_caps), (gst_pad_set_caps),
(gst_pad_configure_sink), (gst_pad_configure_src),
(gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
(gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
(gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
(gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
(gst_pad_send_event):
Use _DEBUG_OBJECT when it makes sense.
Protect GST_PAD_CAPS with the OBJECT_LOCK.
Small cleanups and code reflows.
Avoid caps refcounting in _accept_caps.
Refactor alloc_buffer so that the code performed on the peer is in a
separate function. Also if the pad does not implement a buffer alloc
function, we should still check if the pad is flushing before falling
back to the default allocator.
2006-07-31 14:21:10 +00:00
Stefan Kost
fb0ce08f2c gst/parse/: Reverted previous patch as it required to bump the flex dependency to 2.5.31, where fc4/5 seem to ship on...
Original commit message from CVS:
* gst/parse/Makefile.am:
* gst/parse/grammar.y:
* gst/parse/parse.l:
Reverted previous patch as it required to bump the flex dependency to
2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
2006-07-30 18:58:28 +00:00
Marc-Andre Lureau
48afa6dc3a gst/parse/: push & pop the state of the lexer for reentrant use case
Original commit message from CVS:
Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
* gst/parse/Makefile.am:
* gst/parse/grammar.y:
* gst/parse/parse.l:
push & pop the state of the lexer for reentrant use case
Fixes #349180
2006-07-30 18:32:49 +00:00
Jan Schmidt
5b271bcd88 Fix some of the leaks exposed by extending the parse-launch testsuite, and move the 3 I can't figure out into a separ...
Original commit message from CVS:
* gst/parse/grammar.y:
* gst/parse/parse.l:
* tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
(GST_START_TEST), (parse_suite):
Fix some of the leaks exposed by extending the parse-launch testsuite,
and move the 3 I can't figure out into a separate test that won't run
the pipelines unless the appropriate line is uncommented.
2006-07-27 13:26:27 +00:00
Wim Taymans
c7853c7629 gst/gstcaps.c: Fix useless assert, a uint is always positive.
Original commit message from CVS:
* gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
Fix useless assert, a uint is always positive.
* gst/gststructure.c: (gst_structure_nth_field_name),
(gst_structure_foreach), (gst_structure_map_in_place):
Check input arguments for public functions to avoid obvious crashes.
* plugins/elements/gstfakesink.c: (gst_fake_sink_render):
* plugins/elements/gstfakesink.h:
Do less useless typechecking.
2006-07-27 11:00:21 +00:00
Jan Schmidt
4c30bdfb0e gst/gstquery.h: Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN - rates are a gdouble
Original commit message from CVS:
* gst/gstquery.h:
Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
rates are a gdouble
2006-07-26 22:59:19 +00:00
Stefan Kost
4e6ddbfc50 gst/gstregistry.c: Move big documentation comment into class section header, so that it appears in the API docs.
Original commit message from CVS:
* gst/gstregistry.c:
Move big documentation comment into class section header, so that it
appears in the API docs.
2006-07-26 20:30:55 +00:00
Jan Schmidt
8ae16e5b4c gst/gststructure.*: Add API for setting values into structures without performing a quark lookup, if the appropriate ...
Original commit message from CVS:
* gst/gststructure.c: (gst_structure_id_set),
(gst_structure_id_set_valist):
* gst/gststructure.h:
Add API for setting values into structures without performing
a quark lookup, if the appropriate quark is already known.
API: gst_structure_id_set
API: gst_structure_id_set_valist
* gst/parse/grammar.y:
* gst/parse/parse.l:
Remove some dead code shown by the coverage information.
Don't throw a critical g_warning when encountering a syntax error,
just warn and let the normal error path handle it.
* plugins/elements/gstelements.c:
Bump the rank of filesink up to PRIMARY so that it is preferred over
gnomevfssink for file:// sink uri's
* tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
(GST_START_TEST), (run_delayed_test),
(gst_parse_test_element_base_init),
(gst_parse_test_element_class_init), (gst_parse_test_element_init),
(gst_parse_test_element_change_state),
(gst_register_parse_element), (parse_suite):
Beef up the tests for parse syntax to check that more error cases
fail as they are supposed to. Increases the test coverage a bit.
2006-07-26 17:04:45 +00:00
Tim-Philipp Müller
f0879c8e68 docs/manual/basics-elements.xml: Fix gst_element_link() example.
Original commit message from CVS:
* docs/manual/basics-elements.xml:
Fix gst_element_link() example.
* gst/gstutils.c:
Mention in API docs that one should usually gst_bin_add()
elements to a bin or pipeline before doing the linking.
2006-07-26 11:43:23 +00:00
Wim Taymans
c75651326f gst/gstbuffer.c: Avoid function call for known types by keeping the buffer and subbuffer GType global.
Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
(gst_subbuffer_get_type), (gst_buffer_create_sub):
Avoid function call for known types by keeping the buffer and
subbuffer GType global.
* plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
Random silly optimisations in read() path.
2006-07-26 10:39:58 +00:00
Stefan Kost
090e2e64f0 gst/gstinfo.h: Move the Win32 version from gst-plugins-good/gst/avi/avidemux.c to here.
Original commit message from CVS:
* gst/gstinfo.h:
Move the Win32 version from gst-plugins-good/gst/avi/avidemux.c to
here.
2006-07-25 13:06:14 +00:00
Tim-Philipp Müller
82cf674653 gst/gsttaglist.c: Allow more than one GST_TAG_IMAGE per taglist.
Original commit message from CVS:
* gst/gsttaglist.c: (_gst_tag_initialize):
Allow more than one GST_TAG_IMAGE per taglist.
2006-07-24 16:33:31 +00:00
Thomas Vander Stichele
0d79923b07 gst/gstminiobject.c: update docs
Original commit message from CVS:
* gst/gstminiobject.c:
update docs
* plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
(gst_fd_src_create):
log recurring events at LOG level
add more debug for when the fd gets set
2006-07-24 07:40:13 +00:00
Stefan Kost
9b55d9b316 gst/gstparse.c: Also remove reentrance checks if flex is MT save (#348179)
Original commit message from CVS:
* gst/gstparse.c: (gst_parse_launch):
Also remove reentrance checks if flex is MT save (#348179)
Fix my empty ChangeLog entry below
2006-07-21 18:52:30 +00:00
Stefan Kost
4cb08fa3f2 Original commit message from CVS:
* configure.ac:
* gst/gstparse.c: (gst_parse_launch):
2006-07-21 13:11:33 +00:00
Wim Taymans
c345ebb06a gst/gstparse.c: Protect recursive calls to _parse with a recursive mutex and busy flag.
Original commit message from CVS:
* gst/gstparse.c: (gst_parse_launch):
Protect recursive calls to _parse with a recursive mutex
and busy flag.
2006-07-21 10:40:25 +00:00
Stefan Kost
04ed9e8f34 gst/gstparse.c: Do not hange on recursive uasge of gst_parse_launch()
Original commit message from CVS:
* gst/gstparse.c: (gst_parse_launch):
Do not hange on recursive uasge of gst_parse_launch()
2006-07-20 20:02:55 +00:00
Tim-Philipp Müller
95563518f4 gst/gsttaglist.c: Add some more docs, comments and FIXME 0.11s here and there and also fix some typos.
Original commit message from CVS:
* gst/gsttaglist.c:
Add some more docs, comments and FIXME 0.11s here and there
and  also fix some typos.
2006-07-20 16:10:17 +00:00
Tim-Philipp Müller
2544f6279e gst/gstsegment.h: Convert tabs to spaces for better readability.
Original commit message from CVS:
* gst/gstsegment.h:
Convert tabs to spaces for better readability.
2006-07-20 10:50:20 +00:00
Tim-Philipp Müller
5014b37cd3 Fix typos (#348000).
Original commit message from CVS:
* docs/pwg/advanced-scheduling.xml:
* gst/gstpad.c:
Fix typos (#348000).
2006-07-19 12:40:54 +00:00
Stefan Kost
41bad82bfa make --disable-index work (#342564)
Original commit message from CVS:
* gst/gstregistry.h:
* gst/gstregistryxml.c: (load_feature),
(gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
* win32/common/config.h:
make --disable-index work (#342564)
2006-07-18 19:01:25 +00:00
Peter Kjellerstedt
c491702400 gst/: The attached patch adds two missing defines to gsttrace.h when tracing is disabled. It also corrects one exist...
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis dot com>
* gst/Makefile.am:
* gst/gsttrace.h:
The attached patch adds two missing defines to gsttrace.h when tracing
is disabled.  It also corrects one existing define.
Fixes #347756.
2006-07-18 09:42:31 +00:00
Wim Taymans
c0a3f9e697 Add two functions to check and change the SIGSEGV behaviour when loading plugins.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
* gst/gst.h:
* gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
Add two functions to check and change the SIGSEGV behaviour
when loading plugins.
Don't mess with the SIGSEGV handler when we were told not to.
Fixes #347794.
API: gst_segtrap_is_enabled
API: gst_segtrap_set_enabled
2006-07-17 17:40:52 +00:00
Antoine Tremblay
147c3d0ef6 gst/gstutils.c: Free iterator when done (#347311).
Original commit message from CVS:
Patch by: Antoine Tremblay <hexa00 at gmail com>
* gst/gstutils.c: (gst_element_unlink):
Free iterator when done (#347311).
* tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
And add a test case for this.
2006-07-14 16:20:18 +00:00
Thomas Vander Stichele
62ff66028c gst/Makefile.am: do not install a .c file in the header directory
Original commit message from CVS:
* gst/Makefile.am:
do not install a .c file in the header directory
2006-07-13 13:57:33 +00:00
Edward Hervey
2f9ca83c94 gst/gstghostpad.c: GhostPad no longer implicitely use the padtemplates of the targets.
Original commit message from CVS:
* gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
GhostPad no longer implicitely use the padtemplates of the targets.
Fixes #347384
2006-07-13 10:47:00 +00:00
Jan Schmidt
7e61004213 Make GstValueArray comparison be order dependent as designed.
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_compare_list),
(gst_value_compare_array), (_gst_value_initialize):
* tests/check/gst/gstvalue.c: (GST_START_TEST):
Make GstValueArray comparison be order dependent as designed.
Add checks for value lists and value array comparisons.
Fixes #347221
2006-07-11 20:14:20 +00:00
Edward Hervey
4f9d5adb40 gst/gstbin.c: (de)activate src pads before calling state_change on the childs.
Original commit message from CVS:
* gst/gstbin.c: (activate_pads),
(iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
(gst_bin_change_state_func):
(de)activate src pads before calling state_change on the childs.
This is to avoid the case where a src ghostpad is blocked (holding the
stream lock), which would block the deactivation of the ghostpad's
target pad.
* gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
(gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
(gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
(gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
(gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
(gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
(gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
(gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
(gst_proxy_pad_dispose), (gst_proxy_pad_init),
(gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
(gst_ghost_pad_class_init),
(gst_ghost_pad_internal_do_activate_push),
(gst_ghost_pad_internal_do_activate_pull),
(gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
(gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
(gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
(gst_ghost_pad_new), (gst_ghost_pad_set_target):
GhostPads now create their internal GstProxyPad at creation (and not
when they're linked, as it was being done previously).
The internal and target pads are linked straight away.
The data will also travel through the other pad in order to make
pad blocking and probes non-hackish (the probe/block now really happens
on the GhostPad and not on the target).
* gst/gstpad.c: (gst_pad_set_blocked_async),
(gst_pad_link_prepare), (gst_pad_push_event):
Remove previous ghostpad cruft.
* gst/gstutils.c: (gst_pad_add_data_probe),
(gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
(gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
(gst_pad_remove_buffer_probe):
Remove previous ghost pad cruft.
Added more detailed debug statements.
* tests/check/gst/gstghostpad.c: (GST_START_TEST):
Fix the testsuite for refcounting changes.
The comments about who has references were correct, but the refcount
being checked wasn't the same (!?!).
2006-07-11 16:20:09 +00:00
Stefan Kost
c687975a3c More docs for configuration options, add docs to gtk-doc.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstconfig.h.in:
More docs for configuration options, add docs to gtk-doc.
2006-07-10 19:35:32 +00:00
Stefan Kost
c78bf00ce1 Fix build when disabling tracing (fixes #344016). Also start to document the defines that disable the sub-systems.
Original commit message from CVS:
* gst/Makefile.am:
* gst/gstconfig.h.in:
* win32/common/config.h:
Fix build when disabling tracing (fixes #344016). Also start to document
the defines that disable the sub-systems.
2006-07-10 18:27:40 +00:00
Edward Hervey
a33eea0c67 gst/gst.c: let's make valgrind happy...
Original commit message from CVS:
* gst/gst.c: (ensure_current_registry_forking):
let's make valgrind happy...
2006-07-10 09:42:20 +00:00
Wim Taymans
8b23eed267 gst/gstelement.c: Better pad activation code: Reset the collect value too on resync.
Original commit message from CVS:
* gst/gstelement.c: (activate_pads),
(iterator_activate_fold_with_resync), (gst_element_pads_activate):
Better pad activation code: Reset the collect value too on resync.
Add some comments.
2006-07-09 16:56:48 +00:00
Wim Taymans
9d81fe82c7 gst/gstpad.c: Use some more macros where it makes sense.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
(gst_pad_activate_push):
Use some more macros where it makes sense.
Allow pad mode switching instead of asserting. When a pad
is activated in one mode and we activate it in another,
deactivate it first before activating it in a different mode.
Fixes #329198.
2006-07-09 13:26:06 +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
ea60952f06 gst/gstobject.c: Random micro-optimisation: don't use a hash table with strings as keys and the usual strdup/strcmp i...
Original commit message from CVS:
* gst/gstobject.c: (gst_object_set_name_default),
(gst_object_set_name):
Random micro-optimisation: don't use a hash table
with strings as keys and the usual strdup/strcmp
involved, but rather just use the GQuark of the
type name as key, since it needs to be looked up
anyway to get the type name string.
* tests/check/gst/gstobject.c: (GST_START_TEST):
Fix various leaks.
2006-07-07 17:16:26 +00:00
Tim-Philipp Müller
99f16655f4 gst/gstbin.c: Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
Original commit message from CVS:
* gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
(gst_bin_iterate_all_by_interface):
Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
GTypes are gulongs and thus the top 4 bytes might be cut
off on some platforms when doing GPOINTER_TO_INT, leading
to invalid GTypes and bad things happening.
Also add a check to make sure the type passed in is really
an interface type.
2006-07-07 15:42:08 +00:00
Wim Taymans
167554ec77 gst/gstmessage.h: Use a valid int for the _MESSAGE_ANY enum value to avoid compiler warnings.
Original commit message from CVS:
* gst/gstmessage.h:
Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
warnings.
2006-07-06 16:17:20 +00:00
Wim Taymans
d990412218 gst/gstpad.*: Lots of comments and docs added to the pad functions.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
(gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
(gst_pad_pull_range):
* gst/gstpad.h:
Lots of comments and docs added to the pad functions.
Flesh out the expected behaviour of the get_range() functions.
2006-07-06 15:21:46 +00:00
Wim Taymans
15d8500f57 gst/: Remove comma at end of enumerator list.
Original commit message from CVS:
* gst/gstbus.h:
* gst/gstclock.h:
* gst/gstevent.h:
* gst/gstiterator.h:
* gst/gstpad.h:
* gst/gstplugin.h:
* gst/gsttask.h:
Remove comma at end of enumerator list.
2006-07-06 09:21:03 +00:00
Wim Taymans
09f47d182f gst/gstregistryxml.c: Avoid strdup. (will happen in libxml, but hey!)
Original commit message from CVS:
* gst/gstregistryxml.c: (read_string):
Avoid strdup. (will happen in libxml, but hey!)
* gst/gsturi.c:
Add some more docs.
2006-07-05 18:17:01 +00:00
Wim Taymans
fa9bb7929e No point in checking if the size of the subbuffer > 0, the code handles it correclty as demonstrated by unit test.
Original commit message from CVS:
* gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
* tests/check/gst/gstbuffer.c: (GST_START_TEST),
(gst_buffer_suite):
No point in checking if the size of the subbuffer > 0, the
code handles it correclty as demonstrated by unit test.
Also add a unit test for the zero sized _new_and_alloc and
_copy. Fixes #346663.
2006-07-05 17:09:18 +00:00
Wim Taymans
8fbd33910c gst/: Use GSlice when the glib we build against is >= 2.10
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
(gst_caps_unref), (gst_static_caps_get),
(gst_caps_append_structure):
* gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
Use GSlice when the glib we build against is >= 2.10
2006-07-03 16:57:54 +00:00
Wim Taymans
a888719a87 gst/gstelement.c: Small cleanup in pad activation code.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_pads_activate):
Small cleanup in pad activation code.
2006-07-03 16:46:07 +00:00
Peter Kjellerstedt
c01188cb00 The attached patch will make the inclusion of gettext.h unconditional in gst/gst-i18n-app.h and gst/gst-i18n-lib.h, a...
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis dot com>
* gst/gst-i18n-app.h:
* gst/gst-i18n-lib.h:
* tools/gst-inspect.c: (print_signal_info):
The attached patch will make the inclusion of gettext.h unconditional in
gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
libintl.h in tools/gst-inspect.c.
This allows use of --disable-nls again and fixes #344642.
2006-07-03 14:14:48 +00:00
Edward Hervey
4999836f48 gst/gstpad.c: Implement pad blocking on events according to part-block.txt.
Original commit message from CVS:
* gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
Implement pad blocking on events according to part-block.txt.
More comments on behaviour.
* tests/check/gst/gstevent.c: (test_event):
Send event to peer pad of blocked pad (else it will block).
2006-07-03 10:30:49 +00:00
Thomas Vander Stichele
6b33231aa7 whitespace/doc fixes
Original commit message from CVS:
whitespace/doc fixes
2006-07-02 21:52:57 +00:00
Thomas Vander Stichele
939af8c2f8 gst/gstcaps.c: remove gst_caps_simplify; it was not declared and not used and deprecated in 0.8
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_remove_and_get_structure):
remove gst_caps_simplify; it was not declared and not used
and deprecated in 0.8
2006-07-02 14:37:10 +00:00
Thomas Vander Stichele
5d47eca524 gst/gstcaps.c: whitespace fixes
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_compare_structures):
whitespace fixes
* tests/check/gst/gstbuffer.c: (GST_START_TEST):
* tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
add more tests
2006-07-02 12:54:03 +00:00
Thomas Vander Stichele
50dc8ab313 ignore more
Original commit message from CVS:
ignore more
2006-07-02 12:52:09 +00:00
Thomas Vander Stichele
3c3bbc87d4 configure.ac: set CFLAGS and friends to -O0 if gcov is being used add GCOV LIBS
Original commit message from CVS:
* configure.ac:
set CFLAGS and friends to -O0 if gcov is being used
add GCOV LIBS
* gst/Makefile.am:
* libs/gst/base/Makefile.am:
* libs/gst/check/Makefile.am:
* libs/gst/controller/Makefile.am:
* libs/gst/dataprotocol/Makefile.am:
* libs/gst/net/Makefile.am:
* plugins/elements/Makefile.am:
* plugins/indexers/Makefile.am:
add makefile rules to generate gcov data and clean up
* tests/check/Makefile.am:
add a coverage target that generates an html overview
of coverage data
2006-07-01 23:26:06 +00:00
Tim-Philipp Müller
565199efa8 gst/: Fix deserialisation from XML. Set parent manually instead of using gst_bin_add(), since gst_bin_add() will unli...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_restore_thyself):
* gst/gstxml.c: (gst_xml_make_element):
Fix deserialisation from XML. Set parent manually
instead of using gst_bin_add(), since gst_bin_add()
will unlink all pads of the element being added.
Fixes #341667.
2006-06-30 13:17:46 +00:00
Peter Kjellerstedt
3800e5ac9c gst/gst.c: Fix missing g_strdup() and double free when using the
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
Fix missing g_strdup() and double free when using the
--gst-plugin-load command line option (#346097).
2006-06-28 15:19:08 +00:00
Tim-Philipp Müller
541eba03a4 gst/gstinfo.c: Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
Original commit message from CVS:
* gst/gstinfo.c:
Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
* libs/gst/net/gstnetclientclock.c:
* libs/gst/net/gstnettimeprovider.c:
Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
2006-06-23 13:16:46 +00:00
Edward Hervey
1f5a5c6bbe gst/gstelement.c: We need to deactivate src pads first and then sink pads.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_pads_activate):
We need to deactivate src pads first and then sink pads.
The reason is the src pads might be blocking while holding the streaming
lock, so we need to deactivate them first so that deactivating the sink
pads doesn't block (since it will require the streaming lock).
2006-06-22 17:09:13 +00:00
Wim Taymans
ccb2e93a3a gst/gstcaps.c: Fix crasher when passed NULL. Doc clarification.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_replace):
Fix crasher when passed NULL. Doc clarification.
Optimize for the trivial case.
* gst/gstpipeline.c: (gst_pipeline_change_state):
Small cleanups.
* libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
Small documentation cleanup.
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_buffer_alloc):
Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
is what we need and it avoids a whole lot of redundant
refcount operations.
2006-06-22 13:51:19 +00:00
Tim-Philipp Müller
f312986266 gst/gstbus.c: Fix some typos, make docs more explicit.
Original commit message from CVS:
* gst/gstbus.c: (gst_bus_class_init):
Fix some typos, make docs more explicit.
2006-06-21 10:01:58 +00:00
Wim Taymans
44547817c6 gst/gstbin.c: Make it clear with a FIXME and a real define what the #if 0 previously disabled.
Original commit message from CVS:
* gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
Make it clear with a FIXME and a real define what the #if 0
previously disabled.
2006-06-14 10:34:14 +00:00
Tim-Philipp Müller
3c3956907e gst/gst.c: If the fork()'ed child process can't write the updated registry cache file to disk for some reason, make i...
Original commit message from CVS:
* gst/gst.c: (scan_and_update_registry), (init_post):
If the fork()'ed child process can't write the updated registry cache
file to disk for some reason, make it exit with a failure exit code,
so that the parent can then re-scan the plugins itself and update the
registry structures in memory and work with that (rather than failing
when creating elements because seemingly no plugins are available).
Refactor registry scanning code into separate function for this and
also separate fork() and non-fork() code paths. Fixes #344748.
2006-06-13 16:41:37 +00:00
Tim-Philipp Müller
d50e3a7951 gst/gstregistryxml.c: Fix silly bug that prevented us from creating ~/.gstreamer-0.10 and writing the registry in one...
Original commit message from CVS:
* gst/gstregistryxml.c: (gst_registry_xml_write_cache):
Fix silly bug that prevented us from creating
~/.gstreamer-0.10 and writing the registry in one
go (the first call to g_mkstemp() would overwrite the
placeholder in the template string, so the second call
to g_mkstemp() after creating the missing directory
would then error out with 'invalid argument').
2006-06-13 13:30:46 +00:00
Edward Hervey
0b680571ab gst/gst.c: Free string.
Original commit message from CVS:
* gst/gst.c: (init_post):
Free string.
2006-06-13 11:17:02 +00:00
Thomas Vander Stichele
5855b0ef94 gst/: remove GLib 2.6 compatibility code
Original commit message from CVS:

* gst/glib-compat-private.h:
* gst/glib-compat.c:
* gst/glib-compat.h:
* gst/gstvalue.c: (gst_value_serialize_flags):
remove GLib 2.6 compatibility code
2006-06-13 08:20:24 +00:00
Tim-Philipp Müller
7e1530dda1 gst/parse/Makefile.am: Fix build with 'make -j N' even more (#340016).
Original commit message from CVS:
* gst/parse/Makefile.am:
Fix build with 'make -j N' even more (#340016).
2006-06-12 16:50:09 +00:00
Wim Taymans
237c3cd57a gst/gstsegment.c: Use G_UNLIKELY to help the compiler a bit.
Original commit message from CVS:
* gst/gstsegment.c: (gst_segment_set_duration),
(gst_segment_set_last_stop), (gst_segment_set_seek),
(gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
(gst_segment_to_running_time), (gst_segment_clip):
Use G_UNLIKELY to help the compiler a bit.
2006-06-12 09:29:49 +00:00
Stefan Kost
eb006ba645 gst/: constify quark registration strings. Fixes #344115
Original commit message from CVS:
Patch by: Stefan Kost <ensonic at sonicpulse dot de>
* gst/gstevent.c: (gst_event_get_type):
* gst/gstmessage.c:
* gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
(gst_pad_push):
constify quark registration strings. Fixes #344115
Avoid unneeded type checking is _pad_push() by internally
calling gst_pad_chain_unchecked().
2006-06-12 09:28:35 +00:00
Wim Taymans
0dc1fb9c67 gst/gstbuffer.c: Init _type for consistency.
Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
(_gst_buffer_copy), (gst_buffer_is_metadata_writable),
(gst_subbuffer_finalize), (gst_buffer_create_sub),
(gst_buffer_is_span_fast), (gst_buffer_span):
Init _type for consistency.
Use _FLAGS macro to avoid type check.
Avoid unneeded type checks in subbufer code.
2006-06-12 09:23:43 +00:00
Wim Taymans
259eecdabc gst/: Use _CAST macros to avoid unneeded type checking.
Original commit message from CVS:
* gst/gst.c: (gst_debug_help):
* gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
* gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
(gst_plugin_feature_list_free):
* gst/gstregistry.c: (gst_registry_add_plugin),
(gst_registry_add_feature), (gst_registry_plugin_filter),
(gst_registry_feature_filter), (gst_registry_find_plugin),
(gst_registry_find_feature), (gst_registry_get_plugin_list),
(gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
* gst/gstregistryxml.c: (load_feature),
(gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
* gst/gstminiobject.c: (gst_mini_object_unref),
(gst_mini_object_replace), (gst_value_mini_object_free),
(gst_value_mini_object_copy):
Use _CAST macros to avoid unneeded type checking.
Added some more G_UNLIKELY.
2006-06-12 09:17:44 +00:00
Wim Taymans
bc1bdfabab gst/gstbuffer.h: Avoid unneeded type checking.
Original commit message from CVS:
* gst/gstbuffer.h:
Avoid unneeded type checking.
API: GST_BUFFER_IS_DISCONT
* gst/gstminiobject.h:
Avoid type check in flag accessor.
* gst/gstelementfactory.h:
* gst/gstplugin.h:
* gst/gstpluginfeature.h:
Add _CAST macros.
API: GST_ELEMENT_FACTORY_CAST
API: GST_PLUGIN_CAST
API: GST_PLUGIN_FEATURE_CAST
2006-06-12 09:11:44 +00:00
Wim Taymans
8b87693a69 gst/gstobject.c: Add G_UNLIKELY in type registration.
Original commit message from CVS:
* gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
(gst_object_unref):
Add G_UNLIKELY in type registration.
Avoid type check in _ref/_unref since that is also
done in glib.
2006-06-12 09:06:01 +00:00
Wim Taymans
7e972ee6b9 Add G_UNLIKELY in type registration.
Original commit message from CVS:
* gst/gsterror.c: (gst_g_error_get_type):
* gst/gstpadtemplate.c: (gst_pad_template_get_type),
(gst_static_pad_template_get_type):
* gst/gsttaglist.c: (gst_tag_list_get_type):
* gst/gsttagsetter.c: (gst_tag_setter_get_type):
* gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
* gst/gsturi.c: (gst_uri_handler_get_type):
* gst/gstvalue.c: (gst_date_get_type):
* gst/gstxml.c: (gst_xml_get_type):
* libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
(gst_base_sink_preroll_object), (gst_base_sink_get_position):
* libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
Add G_UNLIKELY in type registration.
2006-06-12 08:55:21 +00:00
Wim Taymans
7334cbd200 gst/gstinfo.*: Add some G_[UN]LIKELY.
Original commit message from CVS:
* gst/gstinfo.c: (gst_debug_set_active),
(gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
* gst/gstinfo.h:
Add some G_[UN]LIKELY.
Maintain __gst_debug_min to avoid formatting the arguments of
debug messages that will be dropped anyway to avoid a lot of
overhead from the debugging system.
2006-06-12 08:47:16 +00:00