Commit graph

3815 commits

Author SHA1 Message Date
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
Thomas Vander Stichele
593503cb8c gst/gst.c: move pid declaration to declaration block
Original commit message from CVS:
* gst/gst.c: (init_post):
move pid declaration to declaration block
2006-06-10 11:51:58 +00:00
Thomas Vander Stichele
789d5bb4e0 gst/gst.c: use _exit() instead of exit() in our forked child; this ensures that none of the registered exit handlers ...
Original commit message from CVS:
* gst/gst.c: (init_post):
use _exit() instead of exit() in our forked child; this ensures
that none of the registered exit handlers from whatever is using
GStreamer get executed.  This fixes gnome-mixer-applet failing
to load, because ORBit would shut down.
Spotted by: Edward Hervey  <edward@fluendo.com>
Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
Fixes #344474
2006-06-10 11:47:42 +00:00
Wim Taymans
72f76c26cf Fix leak spotted by coverity checker. Fixes #343827
Original commit message from CVS:
* gst/gstindex.c: (gst_index_gtype_resolver):
* tools/gst-xmlinspect.c: (print_plugin_info):
Fix leak spotted by coverity checker. Fixes #343827
Fix another other leak found by paolo borelli.
2006-06-07 08:38:30 +00:00
Thomas Vander Stichele
c7a428219b width respectationizing
Original commit message from CVS:
width respectationizing
2006-06-06 14:16:33 +00:00
Michael Smith
d1d2e509d1 gst/gstsegment.h: Don't use c++-style comments, fixes #343929
Original commit message from CVS:
* gst/gstsegment.h:
Don't use c++-style comments, fixes #343929
2006-06-06 13:11:03 +00:00
Thomas Vander Stichele
e8c5250570 whitespace/width fixes
Original commit message from CVS:
whitespace/width fixes
2006-06-06 09:47:40 +00:00
Thomas Vander Stichele
5178830021 whitespace fixes
Original commit message from CVS:
whitespace fixes
2006-06-06 08:50:40 +00:00
Thomas Vander Stichele
c6cca566a2 remove an extra space
Original commit message from CVS:
remove an extra space
2006-06-06 08:50:25 +00:00
Edward Hervey
8bcc0b9e87 gst/gst.c: plugin_paths is not used if we build without registry support.
Original commit message from CVS:
* gst/gst.c:
plugin_paths is not used if we build without registry support.
* gst/gstsegment.c: (gst_segment_copy):
_copy() was always returning NULL...
2006-06-05 13:05:37 +00:00
Edward Hervey
3f3e6f0258 gst/gstsegment.c: _copy() was always returning NULL...
Original commit message from CVS:
* gst/gstsegment.c: (gst_segment_copy):
_copy() was always returning NULL...
2006-06-05 12:55:58 +00:00
Thomas Vander Stichele
98b69a8c0d debug change
Original commit message from CVS:
debug change
2006-06-02 09:13:56 +00:00
Stefan Kost
86b5887cd7 gst/gsttagsetter.h: Can't cast ifaces to a class
Original commit message from CVS:
* gst/gsttagsetter.h:
Can't cast ifaces to a class
* libs/gst/net/gstnetclientclock.h:
* libs/gst/net/gstnettimeprovider.h:
* plugins/elements/gstfakesink.h:
* plugins/elements/gstfakesrc.h:
* plugins/elements/gstfdsink.h:
* plugins/elements/gstfdsrc.h:
* plugins/elements/gstfilesink.h:
* plugins/elements/gstfilesrc.h:
* plugins/elements/gstidentity.h:
* plugins/elements/gstqueue.h:
* plugins/elements/gsttee.h:
* plugins/indexers/gstfileindex.c:
* plugins/indexers/gstmemindex.c:
* tests/old/examples/plugins/example.h:
Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2006-06-01 18:22:14 +00:00
Sébastien Moutte
c82c4f93f0 gst/gst.c: set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
Original commit message from CVS:
* gst/gst.c:
set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
* win32/common/libgstbase.def:
export gst_collect_pads_set_flushing
* win32/common/libgstreamer.def:
export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
gst_value_fraction_multiply
* win32/vs6/gst_inspect.dsp:
add a link to intl.lib
2006-05-30 20:25:03 +00:00
Wim Taymans
2a51528a41 gst/gstelement.c: Clarify the use of _release_request_pad() and _get_request_pad() a bit better.
Original commit message from CVS:
* gst/gstelement.c:
Clarify the use of _release_request_pad() and
_get_request_pad() a bit better.
* libs/gst/base/gstadapter.c: (gst_adapter_peek),
(gst_adapter_take_buffer):
Fix some doc and comment typos.
2006-05-30 15:53:40 +00:00
Jan Schmidt
2e168d69ce gst/gstsystemclock.c: Add debug that can be enabled using a #define at the top of the file, for dumping stats about h...
Original commit message from CVS:
* gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
Add debug that can be enabled using a #define at the top of the file,
for dumping stats about how late/early we were when waking up from
waiting on the clock.
2006-05-30 12:04:29 +00:00
Tim-Philipp Müller
5fba3f8c44 API: add GST_TAG_PREVIEW_IMAGE (#343341).
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttaglist.c: (_gst_tag_initialize):
* gst/gsttaglist.h:
API: add GST_TAG_PREVIEW_IMAGE (#343341).
2006-05-30 10:12:02 +00:00
Tim-Philipp Müller
1c30940f57 gst/gst.c: Don't scan registry paths passed via --gst-plugin--path immediately (will crash, because absolutely nothin...
Original commit message from CVS:
* gst/gst.c: (add_path_func), (init_post):
Don't scan registry paths passed via --gst-plugin--path immediately
(will crash, because absolutely nothing is set up and no types are
registered etc.); do this later in init_post(). Fixes #343057.
2006-05-29 11:52:50 +00:00
Thomas Vander Stichele
dd0456fe1c gst/gst.c: if we have fork, fork while reading/rebuilding the registry so the parent doesn't take the hit of having a...
Original commit message from CVS:

* gst/gst.c: (init_post):
if we have fork, fork while reading/rebuilding the registry
so the parent doesn't take the hit of having all plugins loaded
in memory.  Fixes #342777.
* configure.ac:
Check if we have fork()
* win32/common/config.h.in:
no fork() on win32
2006-05-28 09:09:03 +00:00
Jan Schmidt
8bf748a28e gst/gstvalue.c: Handle NULL input and output pointers silently as a failed conversion, rather than g_warnings.
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_deserialize_fraction):
Handle NULL input and output pointers silently as a failed conversion,
rather than g_warnings.
2006-05-26 09:19:24 +00:00
Thomas Vander Stichele
649045a64b doc indent fix
Original commit message from CVS:
doc indent fix
2006-05-24 09:00:47 +00:00
Wim Taymans
8bec13ec53 gst/gstpad.*: Added _CUSTOM error and success GstFlowReturn that can be used be elements internally.
Original commit message from CVS:
* gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
* gst/gstpad.h:
Added _CUSTOM error and success GstFlowReturn that can be
used be elements internally.
Added macro to check for SUCCESS flowreturns.
API: GST_FLOW_CUSTOM_SUCCESS
API: GST_FLOW_CUSTOM_ERROR
API: GST_FLOW_IS_SUCCESS
* tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
Added check for GstFlowReturn sanity.
2006-05-23 11:13:51 +00:00
Jan Schmidt
53f023528f gst/gstpad.c: Short-circuit gst_pad_set_caps if setting the existing caps pointer again, and avoid printing debug and...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_set_caps):
Short-circuit gst_pad_set_caps if setting the existing
caps pointer again, and avoid printing debug and
reffing/unreffing the caps.
* plugins/elements/gstqueue.c: (gst_queue_push_one):
There's actually no need to set the caps before pushing -
the acceptcaps method will handle it anyway.
2006-05-19 13:46:10 +00:00
Tim-Philipp Müller
120ba1596b API: add gst_element_seek_simple() (#342238).
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* win32/common/libgstreamer.def:
* gst/gstutils.c: (gst_element_seek_simple):
* gst/gstutils.h:
API: add gst_element_seek_simple() (#342238).
2006-05-19 10:29:07 +00:00
Edward Hervey
d28f3fe4be gst/gsttypefind.*: Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets registered for GstTypeFind p...
Original commit message from CVS:
* gst/gsttypefind.c: (gst_type_find_get_type):
* gst/gsttypefind.h:
Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
registered for GstTypeFind pointers. This allows wrapping the structure
in bindings (i.e. gst-python).
2006-05-18 14:25:00 +00:00
Tim-Philipp Müller
38c16420e8 gst/gsttagsetter.c: Docs additions and fixes (see #339918).
Original commit message from CVS:
* gst/gsttagsetter.c:
Docs additions and fixes (see #339918).
2006-05-18 14:01:03 +00:00
Jan Schmidt
5b6611acdd gst/gstregistryxml.c: Allow empty strings for some of the plugin fields so we don't drop valid plugin entries that we...
Original commit message from CVS:
* gst/gstregistryxml.c: (read_string), (load_pad_template),
(load_feature), (load_plugin):
Allow empty strings for some of the plugin fields so we don't
drop valid plugin entries that were written out correctly.
2006-05-17 14:01:33 +00:00
Sébastien Moutte
31a3c51ccf gst/gstregistryxml.c: Use g_remove and g_rename instead of remove and rename that don't handle utf8 characters. renam...
Original commit message from CVS:
* gst/gstregistryxml.c: (gst_registry_xml_write_cache):
Use g_remove and g_rename instead of remove and rename that don't
handle utf8 characters. rename was failing for users who had specific
characters in their name then the registry was built at each gstreamer init.
* win32/vs6/gst_inspect.dsp:
* win32/vs6/gst_launch.dsp:
* win32/vs6/libgstbase.dsp:
* win32/vs6/libgstcoreelements.dsp:
* win32/vs6/libgstreamer.dsp:
Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG build
of libgstreamer and clean unused libraries in project links settings.
2006-05-17 13:40:20 +00:00
Tim-Philipp Müller
1fa79bc05f gst/gstobject.h: Add cast to make compiler happy - refcount variable was a gint in GstObject but is a guint in GObjec...
Original commit message from CVS:
* gst/gstobject.h:
Add cast to make compiler happy - refcount variable was a gint
in GstObject but is a guint in GObject and g_atomic_int_get()
wants a gint *.
2006-05-15 08:16:09 +00:00
Thomas Vander Stichele
02587befa4 fix parallel make
Original commit message from CVS:
fix parallel make
2006-05-14 23:23:56 +00:00
Thomas Vander Stichele
ed06a655b7 whitespace fixes
Original commit message from CVS:
whitespace fixes
2006-05-14 21:16:58 +00:00
Tim-Philipp Müller
d619a982a8 Minor docs fixes.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstevent.c:
* gst/gstevent.h:
* gst/gstmessage.h:
Minor docs fixes.
2006-05-14 19:25:51 +00:00
Michael Smith
b71fd2f4f6 gst/gstplugin.c: If an so file has no plugin entry point, unload the module.
Original commit message from CVS:
* gst/gstplugin.c: (gst_plugin_load_file):
If an so file has no plugin entry point, unload the module.
2006-05-12 09:28:22 +00:00
Stefan Kost
dc3d1df8ec G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
Original commit message from CVS:
* gst/gstclock.c: (gst_clock_class_init):
* gst/gstindex.c: (gst_index_class_init):
* gst/gstobject.c: (gst_object_class_init):
* gst/gstpad.c: (gst_pad_class_init):
* gst/gstpipeline.c: (gst_pipeline_class_init):
* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_class_init):
* libs/gst/net/gstnetclientclock.c:
(gst_net_client_clock_class_init):
* libs/gst/net/gstnettimeprovider.c:
(gst_net_time_provider_class_init):
* plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
* plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
* plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
* plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
* plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
* plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
* plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
* plugins/elements/gstidentity.c: (gst_identity_class_init):
* plugins/elements/gsttee.c: (gst_tee_class_init):
* tests/old/examples/plugins/example.c: (gst_example_class_init):
* tests/old/testsuite/threads/signals.c: (gst_test_class_init):
G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
2006-05-11 18:10:34 +00:00
Wim Taymans
c4e715f316 gst/gstbuffer.c: Register subbufer along with the buffer type so that it does not accidentally gets registered from N...
Original commit message from CVS:
* gst/gstbuffer.c: (_gst_buffer_initialize):
Register subbufer along with the buffer type so that
it does not accidentally gets registered from N
different streaming threads in a non threadsafe way.
2006-05-11 10:35:14 +00:00
Tim-Philipp Müller
f2cee82949 gst/: Make gtk-doc generate docs for our inlined gst_buffer_ref(), gst_event_ref() and gst_message_ref() functions ag...
Original commit message from CVS:
* gst/gstbuffer.h:
* gst/gstevent.h:
* gst/gstmessage.h:
Make gtk-doc generate docs for our inlined gst_buffer_ref(),
gst_event_ref() and gst_message_ref() functions again
(ugly hack, please do fix if there's a better way besides
overrides.txt, which doesn't seem to work).
2006-05-10 16:44:15 +00:00
Thomas Vander Stichele
46de58b721 gst/gstvalue.c: fix a leak if no flags are set
Original commit message from CVS:

* gst/gstvalue.c: (gst_value_serialize_flags):
fix a leak if no flags are set
* tests/check/gst/gstvalue.c: (GST_START_TEST):
fix leak in tests
2006-05-10 15:38:53 +00:00
Thomas Vander Stichele
ed809d41b9 gst/gststructure.c: add some comments rename a method so that it actually says what it does better
Original commit message from CVS:

* gst/gststructure.c: (gst_structure_gtype_from_abbr),
(gst_structure_parse_value):
add some comments
rename a method so that it actually says what it does better
2006-05-10 14:12:14 +00:00
Thomas Vander Stichele
b4e05d624b gst/: make sure some essential types used by events are registered as part of gst_init()
Original commit message from CVS:
* gst/gstevent.c: (_gst_event_initialize):
* gst/gstformat.c: (_gst_format_initialize):
make sure some essential types used by events are registered
as part of gst_init()
* gst/gstvalue.c: (gst_value_serialize_flags):
if no flags are set, serialize them to a value that represents NONE
so that deserializing them works
* tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
add tests for serialization and deserialization of flags
2006-05-10 14:05:46 +00:00
Edward Hervey
9d420cbf26 gst/gstinterface.h: GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
Original commit message from CVS:
* gst/gstinterface.h:
GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
GInterface type checking.
They were previously using non-defined macros.
2006-05-10 10:26:55 +00:00
Thomas Vander Stichele
b38fcba51b doc whitespace fixes
Original commit message from CVS:
doc whitespace fixes
2006-05-09 19:14:55 +00:00
Tim-Philipp Müller
273937c27e Const-ify GEnumValue arrays.
Original commit message from CVS:
* gst/gstindex.c: (gst_index_resolver_get_type):
* plugins/elements/gstfakesink.c:
(gst_fake_sink_state_error_get_type):
* plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
(gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
* plugins/elements/gstqueue.c: (queue_leaky_get_type):
Const-ify GEnumValue arrays.
2006-05-09 17:58:35 +00:00
Tim-Philipp Müller
6e44ba3958 gst/gstbuffer.c: gst_buffer_make_metadata_writable() should maintain the buffer flags (those that make sense at least...
Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
gst_buffer_make_metadata_writable() should maintain the
buffer flags (those that make sense at least) (see #340859).
2006-05-09 12:01:32 +00:00
Tim-Philipp Müller
e375bac9f2 gst/gsttaglist.*: API: add GST_TAG_IMAGE tag (#340721).
Original commit message from CVS:
* gst/gsttaglist.c: (_gst_tag_initialize):
* gst/gsttaglist.h:
API: add GST_TAG_IMAGE tag (#340721).
2006-05-09 10:02:51 +00:00
Wim Taymans
5d495664bc gst/gstquery.c: Added some docs for the segment query.
Original commit message from CVS:
* gst/gstquery.c:
Added some docs for the segment query.
2006-05-08 17:12:08 +00:00
Thomas Vander Stichele
38d144fcb3 whitespace, comment, doc fixup
Original commit message from CVS:
whitespace, comment, doc fixup
2006-05-08 15:53:12 +00:00
Thomas Vander Stichele
ac7251e67b gst/gsterror.c: Add a missing error string.
Original commit message from CVS:

* gst/gsterror.c: (_gst_stream_errors_init):
Add a missing error string.
2006-05-08 15:52:28 +00:00
Wim Taymans
b9dbb55105 docs/design/part-overview.txt: Make upsteam/downstream concepts more clear.
Original commit message from CVS:
* docs/design/part-overview.txt:
Make upsteam/downstream concepts more clear.
Give an example of serialized/non-serialized events.
* docs/design/part-events.txt:
* docs/design/part-streams.txt:
Mention applied_rate.
* docs/design/part-trickmodes.txt:
Mention applied rate, flesh out some more use cases.
* gst/gstevent.c: (gst_event_new_new_segment),
(gst_event_parse_new_segment), (gst_event_new_new_segment_full),
(gst_event_parse_new_segment_full), (gst_event_new_tag),
(gst_event_parse_tag), (gst_event_new_buffer_size),
(gst_event_parse_buffer_size), (gst_event_new_qos),
(gst_event_parse_qos), (gst_event_parse_seek),
(gst_event_new_navigation):
* gst/gstevent.h:
Add applied_rate field to NEWSEGMENT event.
API: gst_event_new_new_segment_full()
API: gst_event_parse_new_segment_full()
* gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
(gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
(gst_segment_to_stream_time), (gst_segment_to_running_time):
* gst/gstsegment.h:
Add applied_rate to GstSegment structure.
Make calculation of stream_time and running_time more correct
wrt rate/applied_rate.
Add some more docs.
API: GstSegment::applied_rate field
API: gst_segment_set_newsegment_full();
* libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
(gst_base_sink_get_sync_times), (gst_base_sink_get_position):
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_sink_eventfunc),
(gst_base_transform_handle_buffer):
Parse and use applied_rate in the GstSegment field.
* tests/check/gst/gstevent.c: (GST_START_TEST):
Add check for applied_rate field.
* tests/check/gst/gstsegment.c: (GST_START_TEST),
(gstsegments_suite):
Add more checks for various GstSegment operations.
2006-05-08 09:52:33 +00:00
Stefan Kost
4322a015c1 gst/gstcaps.c: Docs about how to print caps for debug purposes.
Original commit message from CVS:
* gst/gstcaps.c:
Docs about how to print caps for debug purposes.
* gst/gstpadtemplate.c: (gst_static_pad_template_get):
use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
2006-05-07 19:57:48 +00:00
Stefan Kost
57cc3ab3aa gst/gstelement.c: use full enum names and preprend a '%' in docs strings to make recent gtk-doc turn that into a link
Original commit message from CVS:
* gst/gstelement.c:
use full enum names and preprend a '%' in docs strings to make recent
gtk-doc turn that into a link
2006-05-06 21:45:27 +00:00
Wim Taymans
e37e5f4215 gst/: Add note about refcounting and miniobject/buffer writeability to docs. Fixes #340604
Original commit message from CVS:
* gst/gstbuffer.h:
* gst/gstminiobject.c:
Add note about refcounting and miniobject/buffer writeability
to docs. Fixes #340604
* gst/gstelementfactory.h:
Added some explanation about @klass.
2006-05-05 14:27:31 +00:00
Maciej Katafiasz
2f67d7fc87 Small typo in docs (#340625)
Original commit message from CVS:
Small typo in docs (#340625)
2006-05-05 12:53:33 +00:00
Tim-Philipp Müller
2a543782d0 gst/parse/Makefile.am: Make 'make -j' proof (see #340698).
Original commit message from CVS:
* gst/parse/Makefile.am:
Make 'make -j' proof (see #340698).
2006-05-05 09:01:52 +00:00
Wim Taymans
ef7f163300 gst/: Remove pre glib2.8 compatibility, fixes #340508
Original commit message from CVS:
* gst/glib-compat.c:
* gst/gst.c: (init_pre):
* gst/gstobject.c: (gst_object_init), (gst_object_ref),
(gst_object_unref), (gst_object_replace), (gst_object_dispose),
(gst_object_dispatch_properties_changed):
* gst/gstobject.h:
* gst/gstregistryxml.c: (gst_registry_xml_read_cache):
* gst/gststructure.c: (gst_structure_set_valist):
* gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
Remove pre glib2.8 compatibility, fixes #340508
2006-05-05 08:17:22 +00:00
Tim-Philipp Müller
f48364f5ff gst/gsttaglist.h: Mention type of tags in doc blurbs.
Original commit message from CVS:
* gst/gsttaglist.h:
Mention type of tags in doc blurbs.
2006-05-04 18:14:31 +00:00
Jan Schmidt
eaf6361f23 gst/gstpad.c: Restore acceptcaps checking behaviour now that good plugins have been released.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
(gst_pad_configure_src), (gst_pad_push):
Restore acceptcaps checking behaviour now that good plugins have
been released.
2006-05-04 16:34:20 +00:00
James Andrewartha
5deab8d3c3 Make sure gstprivate.h and/or config.h are always included first, otherwise some of our defines (like _FILE_OFFSET_BI...
Original commit message from CVS:
Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
* gst/gst.c:
* gst/gstbus.c:
* gst/gstclock.c:
* gst/gstevent.c:
* gst/gstformat.c:
* gst/gstmessage.c:
* gst/gstparse.c:
* gst/gstquery.c:
* gst/gstutils.c:
* gst/parse/Makefile.am:
* libs/gst/base/gstadapter.c:
* libs/gst/base/gstbasesrc.c:
* libs/gst/base/gstpushsrc.c:
* libs/gst/base/gsttypefindhelper.c:
* plugins/elements/gstfakesrc.c:
* plugins/elements/gstidentity.c:
Make sure gstprivate.h and/or config.h are
always included first, otherwise some of our
defines (like _FILE_OFFSET_BITS) might be
redefined in the system headers. Fixes build
on opensolaris (#340016).
2006-05-04 15:20:14 +00:00
Stefan Kost
13c4169d9d gst/: only write out registry if it has changed, fixes #338339
Original commit message from CVS:
* gst/gst.c:
* gst/gstregistry.c: (gst_registry_scan_path_level),
(gst_registry_scan_path):
* gst/gstregistry.h:
only write out registry if it has changed, fixes #338339
2006-04-28 20:47:23 +00:00
Stefan Kost
e90fcdbc80 make GstElementDetails const
Original commit message from CVS:
* gst/gstbin.c:
* gst/gstpipeline.c:
* plugins/elements/gstcapsfilter.c:
* plugins/elements/gstfakesink.c:
* plugins/elements/gstfakesrc.c:
* plugins/elements/gstfdsink.c:
* plugins/elements/gstfdsrc.c:
* plugins/elements/gstfilesink.c:
* plugins/elements/gstfilesrc.c:
* plugins/elements/gstidentity.c:
* plugins/elements/gstqueue.c:
* plugins/elements/gsttee.c:
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_handle_event):
make GstElementDetails const
2006-04-28 18:55:17 +00:00
Stefan Kost
ef6f8ef784 gst/gstutils.c: cleanup double code
Original commit message from CVS:
* gst/gstutils.c: (gst_element_link_pads):
cleanup double code
2006-04-28 17:52:13 +00:00
Wim Taymans
14a89b387e gst/gstutils.c: Added some more docs.
Original commit message from CVS:
* gst/gstutils.c: (push_and_ref):
Added some more docs.
Fix refcount issue whith gst_element_found_tags() helper
function. Fixes #338335
* tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
Added testsuite for gst_element_found_tags().
2006-04-28 15:48:50 +00:00
Michael Smith
530851afcf gst/gstvalue.c: Avoid NULL dereference when trying to serialize flags containing invalid values.
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_serialize_flags):
Avoid NULL dereference when trying to serialize flags containing
invalid values.
2006-04-28 13:51:00 +00:00
Thomas Vander Stichele
8a8227aacf small doc fix
Original commit message from CVS:
small doc fix
2006-04-28 13:44:20 +00:00
Wim Taymans
1089154f2a gst/gstvalue.c: Don't try to serialize a GValue with a NULL buffer.
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_serialize_buffer),
(gst_value_deserialize_buffer):
Don't try to serialize a GValue with a NULL buffer.
Fixes #339821.
* tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
Added check for serialisation of NULL buffers.
2006-04-28 13:13:23 +00:00
Wim Taymans
520c15d134 gst/gstminiobject.c: Taking a NULL miniobject is valid, fix the case where we try to unref the NULL miniobject.
Original commit message from CVS:
* gst/gstminiobject.c: (gst_value_take_mini_object):
Taking a NULL miniobject is valid, fix the case where
we try to unref the NULL miniobject.
2006-04-28 13:10:07 +00:00
Stefan Kost
185188ab13 gst/gstbin.c: Update docs.
Original commit message from CVS:
Patch by: Stefan Kost <ensonic at sonicpulse dot de>
* gst/gstbin.c: (gst_bin_handle_message_func):
Update docs.
Don't leak bin refcount when a state recalc is
in progress and we delay another one #339808.
2006-04-28 13:04:07 +00:00
Wim Taymans
e49702c21f gst/: Fix internal data flow errors. Fixes #338711.
Original commit message from CVS:

patch by: Wim Taymans

* gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
(gst_pad_configure_src), (gst_pad_push):
* gst/gstpipeline.c: (gst_pipeline_init):
Fix internal data flow errors.  Fixes #338711.
2006-04-22 21:34:23 +00:00
Wim Taymans
05aa66eb42 gst/gstelementfactory.c: Some cleanups.
Original commit message from CVS:
* gst/gstelementfactory.c: (gst_element_register),
(gst_element_factory_create), (gst_element_factory_make):
Some cleanups.
Fixed a FIXME.
Updated docs (Fixes #131079)
* gst/gstpluginfeature.c: (gst_plugin_feature_load):
Small cleanups.
* tests/check/gst/gstelement.c: (GST_START_TEST),
(gst_element_suite):
Added testcase for elementfactory class field.
2006-04-11 11:47:39 +00:00
Wim Taymans
c2d86926f5 gst/gstsegment.c: Added some more docs.
Original commit message from CVS:
* gst/gstsegment.c:
Added some more docs.
* libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
(gst_base_sink_reset_qos):
Calculate more accurate rate values.
2006-04-10 10:46:44 +00:00
Sébastien Moutte
78ee95a508 gst/gst_private.h: add a new #ifdef to use __declspec(dllimport) only for other modules and not for gstreamer core
Original commit message from CVS:
* gst/gst_private.h:
add a new #ifdef to use __declspec(dllimport) only for
other modules and not for gstreamer core
* gst/gstbasesink.c: (gst_base_sink_perform_qos):
use gst_guint64_to_gdouble for conversion
* win32/common/libgstreamer.def:
add new exported functions
* win32/vs6/gst_inspect.dsp:
* win32/vs6/gst_launch.dsp:
* win32/vs6/libgstbase.dsp:
* win32/vs6/libgstcontroller.dsp:
* win32/vs6/libgstcoreelements.dsp:
* win32/vs6/libgstdataprotocol.dsp:
* win32/vs6/libgstnet.dsp:
update project files
2006-04-09 16:57:34 +00:00
Stefan Kost
77a5695718 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
Original commit message from CVS:
* gst/gstbuffer.c: (gst_subbuffer_class_init):
* gst/gstclock.c: (gst_clock_class_init):
* gst/gstelement.c: (gst_element_class_init):
* gst/gstindex.c: (gst_index_class_init):
* gst/gstindexfactory.c: (gst_index_factory_class_init):
* gst/gstobject.c: (gst_object_class_init),
(gst_signal_object_class_init):
* gst/gstpad.c: (gst_pad_class_init):
* gst/gstpadtemplate.c: (gst_pad_template_class_init):
* gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
* gst/gstregistry.c: (gst_registry_class_init):
* gst/gstsystemclock.c: (gst_system_clock_class_init):
* gst/gsttask.c: (gst_task_class_init):
* gst/gstxml.c: (gst_xml_class_init):
* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
(gst_base_src_loop):
* libs/gst/controller/gstcontroller.c:
(_gst_controller_class_init):
* plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
* plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
* plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
* tests/old/examples/plugins/example.c: (gst_example_class_init):
* tests/old/testsuite/threads/signals.c: (gst_test_class_init):
Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2006-04-08 20:57:31 +00:00
Tim-Philipp Müller
ed95eff8a1 gst/gstpad.c: Must set peer pads before calling the link function, otherwise a task started from a link function migh...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_link):
Must set peer pads before calling the link function, otherwise
a task started from a link function might get a flow-not-linked
result when trying to push because the other thread where the
linking happens hasn't had a chance to set the peers yet. This
might happen for example when a queue gets linked to a downstream
element, as queue starts a streaming task when its source pad
gets linked. Happens in real life when playing back flac/musepack
files in playbin (#332390).
2006-04-08 18:11:56 +00:00
Stefan Kost
7e2286d79c Fix broken GObject macros
Original commit message from CVS:
* gst/gstindex.h:
* gst/gstxml.h:
* libs/gst/base/gstadapter.h:
* libs/gst/base/gstbasesink.h:
* libs/gst/base/gstbasesrc.h:
* libs/gst/base/gstbasetransform.h:
* libs/gst/base/gstcollectpads.h:
* libs/gst/base/gstpushsrc.h:
Fix broken GObject macros
2006-04-08 18:05:16 +00:00
Wim Taymans
9a897acec0 gst/gstbus.c: Small documentation clarification about the signal watch.
Original commit message from CVS:
* gst/gstbus.c:
Small documentation clarification about the signal watch.
* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
(gst_base_sink_wait_clock), (gst_base_sink_do_sync),
(gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
(gst_base_sink_do_render_stats), (gst_base_sink_render_object),
(gst_base_sink_get_position_last),
(gst_base_sink_get_position_paused), (gst_base_sink_change_state):
Convert and store timestamps in stream time and running time, the
raw timestamps are not usefull, also document this better.
Use different window sizes for good and bad QoS observations so
we react to badness a little quicker.
Keep track of the amount of rendered and dropped buffers.
Send QoS timestamps in running time.
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_sink_eventfunc),
(gst_base_transform_handle_buffer):
Compare QoS timestamps against running time.
2006-04-07 14:02:12 +00:00
Tim-Philipp Müller
4f4f75c190 gst/gstpad.c: Typo fixes in docs.
Original commit message from CVS:
* gst/gstpad.c:
Typo fixes in docs.
2006-04-06 15:46:04 +00:00
Michael Smith
6c40c7595e gst/gstpad.c: Use g_value_get_object() instead of g_value_dup_gst_object(), to avoid double-reffing the pad template ...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_set_property):
Use g_value_get_object() instead of g_value_dup_gst_object(),
to avoid double-reffing the pad template (which we then sink,
so this worked previously if (and only if) the pad template
was floating.

* gst/gstpadtemplate.c: (gst_pad_template_init),
(gst_pad_template_pad_created):
Never return floating references to pad templates, create
them as initially-sunken.

Document an extra function (and make this stop sinking our
pad template, since that is now guaranteed to do nothing,
since we created it sunken).

* gst/gstghostpad.c:
Fix docs typo.
2006-04-06 15:07:12 +00:00
Tim-Philipp Müller
a0d6437c15 gst/gstinfo.c: Add some newlines.
Original commit message from CVS:
* gst/gstinfo.c: (__gst_in_valgrind):
Add some newlines.
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_chain):
Don't leak buffer caps.
2006-04-06 11:27:24 +00:00
Michael Smith
5fc678a6a7 gst/parse/grammar.y: Fix a leak in parse-launch for any source-or-sink named element references used.
Original commit message from CVS:
* gst/parse/grammar.y:
Fix a leak in parse-launch for any source-or-sink named element
references used.

* tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
Unref the pipeline if it exists after we've failed parsing.
2006-04-06 10:38:54 +00:00
Michael Smith
96d945bc58 gst/gstpipeline.c: When we create a pipeline bus, initially create it in flushing mode.
Original commit message from CVS:
* gst/gstpipeline.c: (gst_pipeline_init):
When we create a pipeline bus, initially create it in flushing mode.
Fixes leaks in at least one test, and makes a new pipeline work the
same as one that has gone to READY and then back to NULL.

* gst/gstelement.c:
Typo fix in docs.
2006-04-05 15:46:00 +00:00
Michael Smith
add30e0328 gst/gstquery.c: Fix leaking GValues in queries, as shown by valgrind/testsuite.
Original commit message from CVS:
* gst/gstquery.c: (gst_query_set_formats),
(gst_query_set_formatsv):
Fix leaking GValues in queries, as shown by valgrind/testsuite.
2006-04-05 13:18:29 +00:00
Zaheer Abbas Merali
248a70724d gst/gstinfo.c: Use printf instead of
Original commit message from CVS:
2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

* gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
VALGRIND_PRINTF
2006-04-05 10:31:20 +00:00
Andy Wingo
75b96e0efd gst/gstpad.c (gst_pad_set_blocked_async): More debug. libs/gst/base/gstbasetransform.c
Original commit message from CVS:
2006-04-05  Andy Wingo  <wingo@pobox.com>

* gst/gstpad.c (gst_pad_set_blocked_async): More debug.

* libs/gst/base/gstbasetransform.c
(gst_base_transform_sink_eventfunc): When resetting our segment on
FLUSH_STOP, also update the flag saying we haven't seen a
newsegment.
2006-04-05 10:26:29 +00:00
Paolo Borelli
0f2b215959 gst/gstplugin.c: minor clean-ups: G_DEFINE_TYPE already takes care of the parent_class stuff, no need to do it twice....
Original commit message from CVS:
Patch by: Paolo Borelli  <pborelli at katamail dot com>
* gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
(gst_plugin_check_license):
minor clean-ups: G_DEFINE_TYPE already takes care of the
parent_class stuff, no need to do it twice. Mark array of
license strings as constant. (#337103)
2006-04-04 18:02:07 +00:00
Jan Schmidt
fb8ad07b59 Documentation updates. Make BaseSink and BaseSrc docs contain the class structure so that people can actually see the...
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* gst/gsttaglist.c:
* libs/gst/base/gstbasesink.c:
* libs/gst/base/gstbasesink.h:
* libs/gst/base/gstbasesrc.c:
* libs/gst/base/gstbasesrc.h:
Documentation updates. Make BaseSink and BaseSrc docs contain the
class structure so that people can actually see the prototypes for
virtual functions they're supposed to be overriding.
2006-04-04 14:58:50 +00:00
Michael Smith
bb5f49a2da Fix typo in docs.
Original commit message from CVS:
Fix typo in docs.
2006-04-03 17:05:31 +00:00
Thomas Vander Stichele
f5bf786c85 configure.ac: use new AS_VERSION and AS_NANO macros
Original commit message from CVS:

* configure.ac:
use new AS_VERSION and AS_NANO macros
* gst/gst-i18n-lib.h:
* gst/gst.c:
* gst/gsterror.c:
* gst/gstversion.h.in:
* win32/common/config.h:
* win32/common/config.h.in:
update accordingly
2006-04-01 09:41:43 +00:00
Wim Taymans
9c9290f52f Small documentation updates and additions.
Original commit message from CVS:
* docs/design/part-qos.txt:
* gst/gstclock.c:
Small documentation updates and additions.
2006-03-29 13:45:15 +00:00
Stefan Kost
a7004ec5a2 gst/gstelement.c: Little clarification in the docs
Original commit message from CVS:
* gst/gstelement.c:
Little clarification in the docs
2006-03-24 10:44:17 +00:00
Tim-Philipp Müller
18132911b4 API: add some new utility functions:
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstutils.c: (gst_pad_query_peer_position),
(gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
* gst/gstutils.h:
API: add some new utility functions:
- gst_pad_query_peer_position
- gst_pad_query_peer_duration
- gst_pad_query_peer_convert
2006-03-23 18:45:02 +00:00
Tim-Philipp Müller
a1e4bb5d04 gst/gstregistryxml.c: If compiling against GLib-2.8 or newer, try to read the registry file using GMappedFile first b...
Original commit message from CVS:
* gst/gstregistryxml.c: (gst_registry_xml_read_cache):
If compiling against GLib-2.8 or newer, try to read the
registry file using GMappedFile first before falling back
to fopen() + fread() (#332151).
2006-03-23 11:54:51 +00:00
Wim Taymans
2c2fdbf7da gst/gstinfo.c: Disable debugging unless explicitly activated.
Original commit message from CVS:
* gst/gstinfo.c: (gst_debug_set_active),
(gst_debug_category_set_threshold):
Disable debugging unless explicitly activated.
Fixes #335480.
2006-03-22 18:25:04 +00:00
Wim Taymans
0e984d3026 gst/gstelement.c: Cleanup the error case.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_set_locked_state),
(gst_element_dispose):
Cleanup the error case.
* gst/gstobject.c: (gst_object_dispose):
print a critical when some object was disposed with
a parent, also revive the object since it might
crash the parent.
2006-03-22 13:10:16 +00:00
Thomas Vander Stichele
94cb0d62f0 gst/Makefile.am
Original commit message from CVS:

* gst/Makefile.am
* tests/examples/Makefile.am:
fix --disable-parse build
2006-03-21 17:25:22 +00:00
Tim-Philipp Müller
1f1dfef0dc gst/gststructure.c: Make sure that string fields in structures/taglists contain valid UTF-8 - we don't want to pass r...
Original commit message from CVS:
* gst/gststructure.c: (gst_structure_id_set_value):
Make sure that string fields in structures/taglists
contain valid UTF-8 - we don't want to pass rubbish to
applications because of a buggy plugin (cp. #334167).
2006-03-21 14:24:41 +00:00
Edward Hervey
ac377b0cdc Series of fixes for dereferenced pointers that gcc 4.1 complains about.
Original commit message from CVS:
reviewed by: <delete if not using a buddy>
* gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
(gst_bin_handle_message_func):
* gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
* gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
(gst_element_set_bus_func):
* gst/gstghostpad.c: (gst_proxy_pad_dispose):
* gst/gstminiobject.c: (gst_value_set_mini_object),
(gst_value_take_mini_object):
* gst/gstpad.c: (gst_pad_set_pad_template):
* gst/gstpipeline.c: (gst_pipeline_dispose),
(gst_pipeline_use_clock), (gst_pipeline_auto_clock):
* libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
(gst_collect_pads_chain):
* libs/gst/net/gstnettimeprovider.c:
(gst_net_time_provider_set_property):
Series of fixes for dereferenced pointers that gcc 4.1 complains about.
It's in fact all issues with gst_*object_replace().
2006-03-21 14:14:49 +00:00
Edward Hervey
067db77499 gst/: gst_[buffer|event|message]_ref() macros are replaced by a static inline functions because gcc-4.1 will about if...
Original commit message from CVS:
* gst/gstbuffer.h:
* gst/gstevent.h:
* gst/gstmessage.h:
gst_[buffer|event|message]_ref() macros are replaced by a static
inline functions because gcc-4.1 will about if the return value
isn't used.
* tests/check/gst/gstevent.c: (event_probe):
gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2006-03-21 13:50:52 +00:00
Jan Schmidt
3bf7e221ad gst/gstutils.h: Add G_UNLIKELY to our boilerplate to optimise the 'already registered the type' case. (Closes: #33519...
Original commit message from CVS:
* gst/gstutils.h:
Add G_UNLIKELY to our boilerplate to optimise the 'already registered
the type' case. (Closes: #335195 for now). In the future, when we
depend on GLib 2.10, we could also intern the type name using
g_intern_static_string()
2006-03-20 16:45:15 +00:00
Wim Taymans
f35fc7a902 gst/gstbin.c: Position query should also take max of all streams.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_handle_message_func),
(bin_query_max_init), (bin_query_position_fold),
(bin_query_position_done), (gst_bin_query):
Position query should also take max of all streams.
2006-03-20 10:56:08 +00:00
Sébastien Moutte
93ff4560cc gst/gst_private.h: add win32 specific import decoration(__declspec(dllimport)) for all extern GstDebugCategory * vari...
Original commit message from CVS:
* gst/gst_private.h:
add win32 specific import decoration(__declspec(dllimport))
for all extern GstDebugCategory * variables
* win32/common/libgstbase.def:
* win32/common/libgstcontroller.def:
* win32/common/libgstreamer.def:
Add some exports, remove empty lines
* win32/common/libgstdataprotocol.def:
* win32/common/libgstdataprotocol.dsp:
* win32/common/libgstnet.def:
* win32/common/libgstnet.dsp:
new project files and exportation files added
2006-03-19 21:39:21 +00:00
Wim Taymans
c815b879fe gst/gstpad.c: Don't leak buffers, caps and pads on negotiation errors.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
(gst_pad_push):
Don't leak buffers, caps and pads on negotiation errors.
2006-03-17 19:27:51 +00:00
Jan Schmidt
f4987a5399 gst/gstpad.c: Don't pound the cpu to pieces by checking get_caps when accept_caps is called with the same caps as the...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
(gst_pad_push):
Don't pound the cpu to pieces by checking get_caps when accept_caps
is called with the same caps as the pad already has.
Use GST_DEBUG_OBJECT when outputting caps change information.
2006-03-16 10:18:27 +00:00
Wim Taymans
126088c311 gst/gstclock.c: Fix docs.
Original commit message from CVS:
* gst/gstclock.c: (gst_clock_class_init):
Fix docs.
2006-03-15 20:17:40 +00:00
Jan Schmidt
30643217ba gst/gstbuffer.h: Documentation fix.
Original commit message from CVS:
* gst/gstbuffer.h:
Documentation fix.

* gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
(gst_pad_accept_caps), (gst_pad_configure_sink),
(gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
Make the default acceptcaps behaviour be to check the requested
caps against the gst_pad_get_caps output.

Ensure that gst_pad_accept_caps is used to check caps when a pad
doesn't have a setcaps function, so that pads automatically refuse
caps that they don't allow in their pad template. (Fixes #332986)

When a buffer with attached caps is pushed, ensure that the source
pad receives those caps even if the element didn't call
gst_pad_set_caps first.
2006-03-15 16:29:02 +00:00
Wim Taymans
8c3e91c8ea gst/gstclock.c: Marked the stats property as unimplemented so people don't get wild ideas.
Original commit message from CVS:
* gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
Marked the stats property as unimplemented so people don't get
wild ideas.
Add debug message when regression goes wrong.
Added some more docs.
2006-03-14 19:28:20 +00:00
Wim Taymans
c8456d4371 gst/gstsegment.c: Return correct return type in case of errors.
Original commit message from CVS:
* gst/gstsegment.c: (gst_segment_to_stream_time):
Return correct return type in case of errors.
2006-03-14 19:26:17 +00:00
Wim Taymans
34e8d485cc gst/gstformat.c: Don't segfault on invalid formats.
Original commit message from CVS:
* gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
Don't segfault on invalid formats.
2006-03-14 19:16:45 +00:00
Tim-Philipp Müller
e2b2ce11f1 gst/gstpipeline.c: Add 'Since: 0.10.5' to gtk-doc blurb for added property.
Original commit message from CVS:
* gst/gstpipeline.c: (gst_pipeline_class_init):
Add 'Since: 0.10.5' to gtk-doc blurb for added property.
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_handle_event):
Don't try to typefind empty streams.
2006-03-14 16:32:58 +00:00
Wim Taymans
e9c4493586 gst/gstpipeline.c: Don't deadlock when reading properties.
Original commit message from CVS:
* gst/gstpipeline.c: (gst_pipeline_set_property),
(gst_pipeline_get_property), (do_pipeline_seek),
(gst_pipeline_change_state), (gst_pipeline_set_delay),
(gst_pipeline_get_delay):
Don't deadlock when reading properties.
2006-03-13 15:17:45 +00:00
Wim Taymans
ccb9d70195 gst/: Added QOS debug category
Original commit message from CVS:
* gst/gst_private.h:
* gst/gstinfo.c: (_gst_debug_init):
Added QOS debug category
2006-03-13 11:08:28 +00:00
Wim Taymans
429ebfff2c Documentation updates.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
* gst/gstbin.h:
* gst/gstbus.c: (gst_bus_class_init):
* gst/gstbus.h:
* gst/gstclock.c:
* gst/gstelement.c: (gst_element_set_locked_state):
* gst/gstsegment.c:
Documentation updates.
* gst/gstpipeline.c: (gst_pipeline_get_type),
(gst_pipeline_class_init), (gst_pipeline_init),
(gst_pipeline_dispose), (gst_pipeline_set_property),
(gst_pipeline_get_property), (do_pipeline_seek),
(gst_pipeline_send_event), (gst_pipeline_change_state),
(gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
(gst_pipeline_get_delay):
* gst/gstpipeline.h:
Added methods for setting the delay.
API: gst_pipeline_set_delay
API: gst_pipeline_get_delay
Add pipeline debug category
Various cleanups.
Updated docs.
Don't reset stream time when seek failed.
2006-03-13 11:04:38 +00:00
Julien Moutte
ff2e4288ed gst/gsttaglist.c: Fix rubbish docs that are encouraging us to leak strings...
Original commit message from CVS:
2006-03-12  Julien MOUTTE  <julien@moutte.net>

* gst/gsttaglist.c: Fix rubbish docs that are encouraging
us to leak strings...
2006-03-12 20:44:46 +00:00
Tim-Philipp Müller
61ce17d6f3 gst/gstclock.h: Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need to cast the input to GstClockTime before comp...
Original commit message from CVS:
* gst/gstclock.h:
Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
to cast the input to GstClockTime before comparing with
another GstClockTime value.
2006-03-10 23:44:00 +00:00
Tim-Philipp Müller
3bced21cea Add new API: gst_pipeline_set_auto_flush_bus() and gst_pipeline_get_auto_flush_bus() to disable automatic flushing of...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstpipeline.c: (gst_pipeline_class_init),
(gst_pipeline_init), (gst_pipeline_set_property),
(gst_pipeline_get_property), (gst_pipeline_change_state),
(gst_pipeline_set_auto_flush_bus),
(gst_pipeline_get_auto_flush_bus):
* gst/gstpipeline.h:
Add new API: gst_pipeline_set_auto_flush_bus() and
gst_pipeline_get_auto_flush_bus() to disable automatic
flushing of the pipeline's GstBus when going from READY
to NULL state (#332045).
2006-03-09 16:53:05 +00:00
Tim-Philipp Müller
09bc0d93af Add new API: gst_uri_has_protocol() (#333779).
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsturi.c: (gst_uri_has_protocol):
* gst/gsturi.h:
Add new API: gst_uri_has_protocol() (#333779).
2006-03-09 12:08:54 +00:00
Wim Taymans
99a61247bc gst/gstclock.*: Review docs.
Original commit message from CVS:
* gst/gstclock.c: (gst_clock_entry_new),
(gst_clock_id_compare_func), (gst_clock_id_wait),
(gst_clock_id_wait_async), (gst_clock_id_unschedule),
(gst_clock_init), (gst_clock_get_internal_time),
(gst_clock_set_master), (do_linear_regression),
(gst_clock_add_observation), (gst_clock_set_property):
* gst/gstclock.h:
Review docs.
Small cleanups.
Fix a possible segfault when the window-size is made smaller.
Calculate jitter before performing the clock wait. Ideally
the clock implementation should calculate jitter but we need
API breakage for that.
* gst/gstsystemclock.c: (gst_system_clock_init):
Docs review.
* libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
Remove leftover else
* tests/check/gst/gstsystemclock.c: (GST_START_TEST),
(gst_systemclock_suite):
Added check to test GST_CLOCK_DIFF.
2006-03-09 11:45:14 +00:00
Michael Smith
81cc6d92ba gst/: Rewrite registry-saving to avoid race conditions and check for failed writes.
Original commit message from CVS:
* gst/gstregistry.h:
* gst/gstregistryxml.c: (gst_registry_save),
(gst_registry_save_escaped), (gst_registry_xml_save_caps),
(gst_registry_xml_save_pad_template),
(gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
(gst_registry_xml_write_cache):
Rewrite registry-saving to avoid race conditions and check for
failed writes.
2006-03-08 12:57:37 +00:00
Wim Taymans
7a88e2a762 docs/libs/gstreamer-libs-sections.txt: Added basesink new methods.
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
Added basesink new methods.
* gst/gstevent.c:
* gst/gstevent.h:
Docs updates. Flesh out the QoS docs.
* libs/gst/base/gstadapter.c:
Small doc clarification about ownership and flushing.
* libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
(gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
(gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
(gst_base_sink_get_property), (gst_base_sink_do_sync):
* libs/gst/base/gstbasesink.h:
Added new methods to allow subclass to control max-lateness
and sync.
Generate very basic QoS events based on last sync observation.
Updated docs, fix typo, added some QoS blurb.
* libs/gst/base/gstbasesrc.c:
Remove obsolete _get_state() calls from docs.
2006-03-07 16:21:02 +00:00
Wim Taymans
37d77aaeee Small documentation fixes.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstbuffer.h:
* gst/gstvalue.c:
* libs/gst/base/gstbasetransform.h:
Small documentation fixes.
2006-03-07 15:08:57 +00:00
Tim-Philipp Müller
a4957224a8 gst/gstvalue.c: Document thread-unsafety of gst_value_register_foo_func() when used at the same time as gst_value_foo...
Original commit message from CVS:
* gst/gstvalue.c:
Document thread-unsafety of gst_value_register_foo_func()
when used at the same time as gst_value_foo() (#322628).
2006-03-07 11:47:24 +00:00
Michael Smith
bed06b24d8 gst/gstmessage.c: When copying a message, set the parent_refcount of the enclosed structure to point at the copy, not...
Original commit message from CVS:
* gst/gstmessage.c: (_gst_message_copy):
When copying a message, set the parent_refcount of the enclosed
structure to point at the copy, not the original message.
2006-03-06 14:51:36 +00:00
Christophe Fergeau
dde0d169b5 gst/gstutils.h: Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
Original commit message from CVS:
* gst/gstutils.h:
Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
usable in c++ code (#333417; patch by: Christophe Fergeau)
2006-03-06 14:46:31 +00:00
Thomas Vander Stichele
06fcb64c77 gst/gstclock.h: Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
Original commit message from CVS:

* gst/gstclock.h:
Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
2006-03-06 14:34:49 +00:00
Tim-Philipp Müller
be5f17ca17 gst/gsterror.h: Fix some minor docs errors.
Original commit message from CVS:
* gst/gsterror.h:
Fix some minor docs errors.
2006-03-04 14:45:40 +00:00