Commit graph

3644 commits

Author SHA1 Message Date
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