Commit graph

4059 commits

Author SHA1 Message Date
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
Ross Burton
04d58371e2 gst/gsterror.*: Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
Original commit message from CVS:
* gst/gsterror.c: (_gst_resource_errors_init):
* gst/gsterror.h:
Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
patch by: Ross Burton <ross at burtonini dot com>).
2006-03-04 13:54:26 +00:00
Jan Schmidt
47304efe10 gst/gst.c: Add a check and output a g_warning when GStreamer is built against GLib 2.6 but running against 2.8 or hig...
Original commit message from CVS:
* gst/gst.c:
Add a check and output a g_warning when GStreamer is built
against GLib 2.6 but running against 2.8 or higher, and vice
versa. (Closes: #323542)
2006-03-03 16:58:51 +00:00
Jan Schmidt
88806ceb90 gst/parse/parse.l: Commit patch for parse_launch syntax from #331255. Removes support for quoted strings and mimetype...
Original commit message from CVS:
* gst/parse/parse.l:
Commit patch for parse_launch syntax from #331255. Removes
support for quoted strings and mimetypes when writing filtered
caps. See the bug report for more details - I'm pretty sure this
obscure feature is not in use by _anyone_ anywhere.

With this simple change, the size of the gstreamer.so here
drops from 2193KB to 1565KB.
2006-03-03 15:32:30 +00:00
Michael Smith
961886779d gst/gstregistryxml.c: Asserting on a failure to read part of the registry is Not Cool.
Original commit message from CVS:
* gst/gstregistryxml.c: (load_feature):
Asserting on a failure to read part of the registry is Not Cool.
Just log a warning and return NULL (which is already handled)
2006-03-02 11:04:58 +00:00
Wim Taymans
a19398105c gst/gstbin.c: Help the compiler a bit with type registration.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
Help the compiler a bit with type registration.
Use existing forward cod path instead of duplicating it when
handling a message.

* gst/gstbus.c: (gst_bus_get_type):
* gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
* gst/gstchildproxy.c: (gst_child_proxy_get_type):
* gst/gstclock.c: (gst_clock_get_type):
* gst/gstelement.c: (gst_element_get_type),
* gst/gstelementfactory.c: (gst_element_factory_get_type):
* gst/gstindexfactory.c: (gst_index_factory_get_type):
* gst/gstminiobject.c: (gst_mini_object_get_type):
* gst/gstpad.c: (gst_pad_get_type):
* gst/gstsegment.c: (gst_segment_get_type):
* gst/gststructure.c: (gst_structure_get_type):
* gst/gstsystemclock.c: (gst_system_clock_get_type):
* gst/gsttask.c: (gst_task_get_type), (gst_task_join):
* gst/gstvalue.c:
Help compiler with type registration.

* plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
Small doc update.
2006-02-28 10:52:02 +00:00
Tim-Philipp Müller
50388c09c6 gst/gstcaps.c: Use the REFCOUNTING category for caps refcounting.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
Use the REFCOUNTING category for caps refcounting.
2006-02-27 11:01:06 +00:00
Tim-Philipp Müller
ae0d1ee4a9 gst/gstutils.c: Docs enhancement: make it crystal clear what the gst_pad_add_*_probe() callbacks should look like.
Original commit message from CVS:
* gst/gstutils.c:
Docs enhancement: make it crystal clear what the
gst_pad_add_*_probe() callbacks should look like.
2006-02-24 16:54:27 +00:00
Jan Schmidt
e2cca3d699 gst/: Make things work with --disable-parse as they do with
Original commit message from CVS:
* gst/Makefile.am:
* gst/gstparse.h:
* gst/gstutils.c:
* gst/gstutils.h:
Make things work with --disable-parse as they do with
--disable-load-save - the symbols involved disappear, but the
header is still installed and GST_DISABLE_PARSE is included via
gstconfig.h
2006-02-20 23:34:40 +00:00
Julien Moutte
52cfed6470 gst/: Make those function act on the ghostpad target when it's a ghostpad. (Closes #331727)
Original commit message from CVS:


* gst/gstpad.c: (gst_pad_set_blocked_async):
* 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): Make those function act on the
ghostpad target when it's a ghostpad. (Closes #331727)
------------------------------------------------------
2006-02-20 15:07:33 +00:00
Jan Schmidt
a54323429c docs/random/release: Move the current documentation of how to do a release to the top of the file.
Original commit message from CVS:
* docs/random/release:
Move the current documentation of how to do a release to the top
of the file.

* gst/gstbin.c: (gst_bin_class_init),
(gst_bin_handle_message_func):
Allow multiple state-recalculation threads. (Closes #328873)
2006-02-20 12:26:50 +00:00
Julien Moutte
34a3b80747 gst/gstinfo.h: Add GST_STR_NULL to the second string.
Original commit message from CVS:
2006-02-19  Julien MOUTTE  <julien@moutte.net>

* gst/gstinfo.h: Add GST_STR_NULL to the second string.
* gst/gstpad.c: (gst_pad_set_event_function),
(gst_pad_set_query_function), (gst_pad_set_query_type_function),
(gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
2 strings. You can't use the STR_NULL macro on that.
2006-02-19 12:25:01 +00:00
Sébastien Moutte
3eb3b1c742 gst/gstpad.c: (gst_pad_set_getcaps_function)
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_set_event_function),
(gst_pad_set_query_function), (gst_pad_set_query_type_function),
(gst_pad_set_getcaps_function)
* gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
So now, we can use --gst-debug-level=5 on Windows
* win32/common/libgstcontroller.def:
Added export of gst_controller_init
* win32/vs6/libgstcontroller.dsp:
Fixed Release post build configuration
2006-02-19 12:00:38 +00:00
Wim Taymans
63245ea1bb Fix padtemplate docs, fixes #328805.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstpadtemplate.c:
* gst/gstpadtemplate.h:
Fix padtemplate docs, fixes #328805.
2006-02-14 18:26:19 +00:00
Torsten Schoenfeld
6ebad92626 gst/gstregistry.c: Protect default registry with lock and ref/sink it.
Original commit message from CVS:
* gst/gstregistry.c: (gst_registry_get_default),
(_gst_registry_cleanup):
Protect default registry with lock and ref/sink it.
Fixes #324818, patch by Torsten Schoenfeld.
2006-02-14 16:15:05 +00:00
Wim Taymans
c1b135b4a3 Docs fixes.
Original commit message from CVS:
* gst/gstbuffer.c:
* gst/gstquery.c: (gst_query_list_add_format),
(gst_query_set_formatsv), (gst_query_parse_formats_length),
(gst_query_parse_formats_nth):
* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
Docs fixes.
2006-02-14 13:07:10 +00:00
Wim Taymans
2fbeada812 docs/gst/gstreamer-sections.txt: Reworked query docs.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
Reworked query docs.

* gst/gstquery.c: (gst_query_new_formats),
(gst_query_list_add_format), (gst_query_set_formats),
(gst_query_set_formatsv), (gst_query_parse_formats_length),
(gst_query_parse_formats_nth):
* gst/gstquery.h:
Flesh out formats query, added some new methods.
Fix part of #324398.

* tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
Added query creation tests.
2006-02-14 12:07:16 +00:00
Jan Schmidt
43fc573b56 gst/gstpad.c: Add a default fixation for fraction lists.
Original commit message from CVS:
* gst/gstpad.c: (fixate_value):
Add a default fixation for fraction lists.
2006-02-14 11:38:50 +00:00
Wim Taymans
2681eaea50 gst/gsttask.*: Detect and warn for obvious deadlocks. fixes #320340
Original commit message from CVS:
* gst/gsttask.c: (gst_task_init), (gst_task_func),
(gst_task_set_lock), (gst_task_start), (gst_task_pause),
(gst_task_join):
* gst/gsttask.h:
Detect and warn for obvious deadlocks. fixes #320340
Fix error case where lock was not released.

* tests/check/Makefile.am:
* tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
(task_func), (gst_element_suite), (main):
Add task check.
2006-02-13 17:03:23 +00:00
Wim Taymans
f1d62ae3f3 Add new functions to docs.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstbus.c:
Add new functions to docs.
2006-02-13 13:57:29 +00:00
Wim Taymans
b37766658e docs/design/part-TODO.txt: Updated TODO list, basesrc supports seeking to non-bytes formats.
Original commit message from CVS:
* docs/design/part-TODO.txt:
Updated TODO list, basesrc supports seeking to non-bytes
formats.

* docs/design/part-element-sink.txt:
Update docs.

* gst/gstbin.c: (bin_replace_message),
(gst_bin_handle_message_func):
* gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
* gst/gstevent.c: (gst_event_finalize):
* gst/gstpad.c: (gst_pad_event_default_dispatch),
(gst_pad_send_event):
Use shiny new _TYPE_NAME macros.

* libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
Move debug statement up.

* gst/gstelement.c: (gst_element_set_locked_state):
Add some debugging.
2006-02-13 11:52:43 +00:00
Tim-Philipp Müller
2ca3c26ed3 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME macros (#330906). Also, document the already existing
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstmessage.h:
* gst/gstquery.h:
New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
macros (#330906). Also, document the already existing
GST_QUERY_TYPE macro.
2006-02-13 11:19:32 +00:00
Wim Taymans
0d8a01f595 gst/gstpad.c: Correctly check flushing and emit probes. fixes #330125
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_send_event):
Correctly check flushing and emit probes. fixes #330125
2006-02-13 09:59:03 +00:00
Andy Wingo
da506847ca gst/gstbus.c (gst_bus_class_init): Declare our private data structure.
Original commit message from CVS:
2006-02-10  Andy Wingo  <wingo@pobox.com>

* gst/gstbus.c (gst_bus_class_init): Declare our private data
structure.
(gst_bus_init): Cache the location of the private data in the
instance structure.
(gst_bus_enable_sync_message_emission)
(gst_bus_disable_sync_message_emission): Implement new public
functions.
(gst_bus_post): Emit the sync-message signal if the user asked for
it. Fixes #330684.

* gst/gstbus.h (GstBus): Use a padding pointer to cache the
location of the bus-private structuure.
(gst_bus_enable_sync_message_emission)
(gst_bus_disable_sync_message_emission): New public functions.
2006-02-10 16:04:59 +00:00
Andy Wingo
55ff7942ee libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only update last_stop if we're in TIME format and the timest...
Original commit message from CVS:
2006-02-07  Andy Wingo  <wingo@pobox.com>

* libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
update last_stop if we're in TIME format and the timestamp is
valid.

* libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
* libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
* libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
If we get a new newsegment with a different format, adapt
accordingly.

* gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
of 0. Not a problem, really.
2006-02-07 15:49:40 +00:00
Thomas Vander Stichele
3f51c6bf65 doc sub80 fixes
Original commit message from CVS:
doc sub80 fixes
2006-02-06 15:25:26 +00:00
Wim Taymans
e2e2bda0d3 gst/gstelement.c: Fixed #326576, been running this for quite some time with no regressions at all.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_continue_state),
(gst_element_set_state_func), (gst_element_change_state):
Fixed #326576, been running this for quite some time with
no regressions at all.
2006-02-02 13:58:12 +00:00
Wim Taymans
0a52de57d7 gst/gstsegment.c: No reason to refuse to clip when start == -1
Original commit message from CVS:
* gst/gstsegment.c: (gst_segment_clip):
No reason to refuse to clip when start == -1
2006-02-02 11:59:27 +00:00
Tim-Philipp Müller
cefc46ad7e Add new API: gst_parse_bin_from_description() and gst_bin_find_unconnected_pad() (#329069).
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstutils.c: (element_find_unconnected_pad),
(gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
* gst/gstutils.h:
Add new API: gst_parse_bin_from_description() and
gst_bin_find_unconnected_pad() (#329069).
2006-02-02 09:51:18 +00:00
Wim Taymans
b6192a81bd gst/gstbin.c: Don't cache duration messages if we're not going to use or free them.
Original commit message from CVS:
* gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
Don't cache duration messages if we're not going to use or
free them.
2006-01-31 18:46:15 +00:00
Stefan Kost
dad303a342 docs/: more dparam docs
Original commit message from CVS:
* docs/manual/advanced-dparams.xml:
* docs/pwg/advanced-dparams.xml:
more dparam docs
* gst/gstindex.c:
fix docs
* libs/gst/controller/lib.c: (gst_controller_init):
init just once
2006-01-31 16:56:28 +00:00
Thomas Vander Stichele
93d14f9c64 gst/gstelement.c: also show file/line/func if no additional debug was given
Original commit message from CVS:

* gst/gstelement.c: (gst_element_message_full):
also show file/line/func if no additional debug was given
2006-01-31 10:16:49 +00:00
Julien Moutte
a365129ba7 gst/gstghostpad.c: Set pad functions unconditionally. Fixes #329105.
Original commit message from CVS:
2006-01-29  Julien MOUTTE  <julien@moutte.net>

* gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
Set pad functions unconditionally. Fixes #329105.
2006-01-29 17:37:08 +00:00
Jan Schmidt
1559c57a8e gst/gstutils.c: Don't leak pad references.
Original commit message from CVS:
* gst/gstutils.c: (gst_element_unlink_pads):
Don't leak pad references.

* tests/check/elements/fakesink.c: (GST_START_TEST):
* tests/check/generic/sinks.c: (GST_START_TEST):
* tests/check/generic/states.c: (GST_START_TEST):
* tests/check/gst/gstbin.c: (GST_START_TEST):
* tests/check/gst/gstcaps.c: (GST_START_TEST):
* tests/check/gst/gstelement.c: (GST_START_TEST):
* tests/check/gst/gstghostpad.c: (GST_START_TEST):
* tests/check/gst/gstiterator.c: (GST_START_TEST):
* tests/check/gst/gstvalue.c: (GST_START_TEST):
Fix a bunch of leaks. Make generic/sinks.c
use a bit less cpu by slowing the buffer rate
between fakesrc and fakesink.
2006-01-28 00:59:37 +00:00
Stefan Kost
a53172d79d doc fixes, to link to function, just write gst_cool_function(), don't prefix with '#'
Original commit message from CVS:
* gst/gstcaps.c:
* gst/gstelement.c: (gst_element_send_event):
* gst/gstevent.c:
* gst/gstinfo.c:
* gst/gstiterator.c:
* gst/gstiterator.h:
* gst/gstpad.c: (gst_pad_send_event):
* gst/gststructure.c:
* gst/gsturi.c:
* gst/gstutils.c:
* gst/gstvalue.c:
* libs/gst/base/gstadapter.c:
doc fixes, to link to function, just write gst_cool_function(), don't
prefix with '#'
2006-01-27 22:34:51 +00:00
Jan Schmidt
6ef1fd2c53 gst/gstbin.c: Clean up references to the clock provider when disposed or when handling a clock-lost message from it.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
(gst_bin_remove_func), (gst_bin_handle_message_func),
(bin_query_duration_fold), (bin_query_generic_fold):
Clean up references to the clock provider when disposed or when
handling a clock-lost message from it.

Unref sinks when performing a query via gst_iterator_fold, as the
gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)

* gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
(gst_clock_set_master):
Drop our reference to the master clock, if any, when we are disposed.

* gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
Chain up in dispose.
2006-01-27 01:48:37 +00:00
Stefan Kost
b352cee4f7 added code for downstream events, reviewed docs in gstevent.c
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
(gst_bin_iterate_sources), (gst_bin_send_event):
* gst/gstbin.h:
* gst/gstelement.c: (gst_element_send_event):
* gst/gstevent.c:
* gst/gstpad.c: (gst_pad_send_event):
added code for downstream events, reviewed docs in gstevent.c
2006-01-26 06:57:14 +00:00
Wim Taymans
213c508b5c gst/gstsystemclock.c: A clock entry that is scheduled for the exact time of the clock is still in time.
Original commit message from CVS:
* gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
A clock entry that is scheduled for the exact time of the
clock is still in time.

* libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_do_sync):
Add some more debug info.
2006-01-24 16:23:17 +00:00
Thomas Vander Stichele
0e08e35ec2 docs/random/release: update notes
Original commit message from CVS:

* docs/random/release:
update notes
* gst/gstbin.c: (gst_bin_init):
* gst/gstbus.c: (gst_bus_new):
* gst/gstbus.h:
* gst/gstpipeline.c: (gst_pipeline_init):
use gst_bus_new(), improve logging, fix docs
* win32/common/config.h:
update for cvs build
2006-01-20 19:01:59 +00:00
Tim-Philipp Müller
d21b9afd54 Add gst_event_replace() (#327001)
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstevent.h:
Add gst_event_replace() (#327001)
2006-01-20 11:46:03 +00:00
Wim Taymans
ae957681a7 gst/gstpad.c: Make it actually compile too..
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
Make it actually compile too..
2006-01-20 09:56:38 +00:00
Wim Taymans
b5b28e2e39 gst/gstcaps.c: Clarify behaviour of _is_equal() when passing NULL parameters.
Original commit message from CVS:
* gst/gstcaps.c:
Clarify behaviour of _is_equal() when passing NULL parameters.

* gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
(gst_pad_set_caps):
Cleanups. Don't unref NULL caps.
When setting the same caps, protect caps of the pad with
proper lock.
Use full functionality of _is_equal() when comparing caps.
2006-01-20 09:53:24 +00:00
Edward Hervey
b5c4ad28c1 gst/gstelement.c: When activating, do src pads first, then sink pads.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_pads_activate):
When activating, do src pads first, then sink pads.
When de-activating, do sink pads first, then src pads.
2006-01-19 18:06:18 +00:00
Jan Schmidt
14816cdb49 gst/gstevent.c: Fix docs typo
Original commit message from CVS:
* gst/gstevent.c:
Fix docs typo

* plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
(gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
Do some refactoring. Doesn't actually change functionality,
but makes landing the DRAIN event easier later.
2006-01-19 13:30:31 +00:00
Tim-Philipp Müller
da80e6167e gst/gstbin.c: Guard gst_object_unref call against a NULL object (dispose can theoretically be called multiple times).
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_dispose):
Guard gst_object_unref call against a NULL object (dispose
can theoretically be called multiple times).
2006-01-18 18:56:44 +00:00
Wim Taymans
c33121174b gst/: Added some more debug info.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_element_set_state):
* gst/gstclock.c: (gst_clock_id_wait):
Added some more debug info.

* libs/gst/base/gstadapter.c:
Added more docs.

* libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_do_sync), (gst_base_sink_chain):
Added some comments.
2006-01-18 18:01:54 +00:00
Christian Schaller
e7021f7395 add MPL and Properietart to list of licenses
Original commit message from CVS:
add MPL and Properietart to list of licenses
2006-01-18 11:44:55 +00:00
Torsten Schoenfeld
bbcfe40af4 gst/gstindex.h (gst_index_add_associationv): Add to header. The symbol was exported before, it appears this was just ...
Original commit message from CVS:
2006-01-18  Andy Wingo  <wingo@pobox.com>

* gst/gstindex.h (gst_index_add_associationv): Add to header. The
symbol was exported before, it appears this was just an oversight.
Fixes #168703.
Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>

* gst/gstindex.c (gst_index_add_associationv): Changed int in
prototype to gint. OK since this prototype was not in the header.
2006-01-18 09:42:12 +00:00
Andy Wingo
77cb34fd81 gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the registry while we remove plugins.
Original commit message from CVS:
2006-01-17  Andy Wingo  <wingo@pobox.com>

* gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
registry while we remove plugins.

* tools/gst-inspect.c (print_element_info): Don't unref the
factory arg, that should be the responsibility of whatever code
received the ref. Fixes a double-free when called from
print_element_list via gst-inspect-0.10 -a. Fixes #327324.
(main): Unref the factory if we have one.
(print_element_list): No change -- relies on the
plugin_feature_list_free to free the list of features.
2006-01-17 12:53:07 +00:00
Jan Schmidt
0c0d5462a2 Replace gst_buffer_(make|is)_metadata_writable patch now that the release is out.
Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
(gst_buffer_make_metadata_writable):
* gst/gstbuffer.h:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_prepare_output_buf):
* plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
* tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
Replace gst_buffer_(make|is)_metadata_writable patch now
that the release is out.
2006-01-17 12:14:20 +00:00
Andy Wingo
851fe9f09b gst/gstregistry.c: Reflow design comment. Update so as to speak in the present tense without reference to versions.
Original commit message from CVS:
2006-01-17  Andy Wingo  <wingo@pobox.com>

* gst/gstregistry.c: Reflow design comment. Update so as to speak
in the present tense without reference to versions.

* gst/gstregistry.c (gst_registry_add_plugin)
(gst_registry_remove_plugin, gst_registry_remove_feature)
(gst_registry_find_feature, gst_registry_get_feature_list)
(gst_registry_get_plugin_list, gst_registry_lookup_feature)
(gst_registry_lookup, gst_registry_scan_path)
(_gst_registry_remove_cache_plugins)
(gst_registry_get_feature_list_by_plugin): Add argument
validation.
2006-01-17 12:08:43 +00:00
Jan Schmidt
6876d64a29 Back out patch until after the release.
Original commit message from CVS:
* gst/gstbuffer.c:
* gst/gstbuffer.h:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_prepare_output_buf):
* plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
* tests/check/gst/gstbuffer.c: (gst_test_suite):
Back out patch until after the release.
2006-01-16 15:42:08 +00:00
Jan Schmidt
06b99ec3ae gst/gstminiobject.c: Spelling fix in docs.
Original commit message from CVS:
* gst/gstminiobject.c:
Spelling fix in docs.
* ChangeLog - remove conflict indicator
2006-01-16 14:37:54 +00:00
Jan Schmidt
c7506c8b0a gst/gstbuffer.*: Add gst_buffer_(is|make)_metadata_writable as analogues of gst_buffer_(is|make)_writable.
Original commit message from CVS:
Reviewed By: Andy Wingo

* gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
(gst_buffer_make_metadata_writable):
* gst/gstbuffer.h:
Add gst_buffer_(is|make)_metadata_writable as analogues of
gst_buffer_(is|make)_writable.

* libs/gst/base/gstbasetransform.c:
(gst_base_transform_prepare_output_buf):
* plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
Use name gst_buffer_(is|make)_metadata_writable functions.

* tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
Test gst_buffer_(is|make)_metadata_writable

(Closes: #324162)
2006-01-16 14:32:33 +00:00
Sébastien Moutte
3c5c1d29ea libs/gst/base/gstbasesink.c: *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
Original commit message from CVS:
* libs/gst/base/gstbasesink.c:
*cur = (now - base) * basesink->segment.abs_rate + time; replaced by
*cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
* win32/common/config.h:
added some defines GST_MAJORMINOR and HOST_CPU
* win32/common/libgstbase.def:
* win32/common/libgstreamer.def:
added some exported functions
2006-01-12 22:04:58 +00:00
Jan Schmidt
3b1dfa5fec gst/gstbuffer.c: gst_buffer_span should copy the timestamp of the first buffer if they were both originally overlappi...
Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_span):
gst_buffer_span should copy the timestamp of the first buffer
if they were both originally overlapping subbuffers of the
same parent, using the same logic as the 'slow copy' case.
2006-01-12 16:07:50 +00:00
Stefan Kost
08501e5b3a docs/random/ensonic/media-device-daemon.txt: more ideas (dbus)
Original commit message from CVS:
* docs/random/ensonic/media-device-daemon.txt:
more ideas (dbus)
* gst/gstbuffer.c:
fix doc example, add clarification
* tools/gst-launch.1.in:
add initial info about GST_PLUGIN_PATH, needs more work
2006-01-11 19:18:27 +00:00
Thomas Vander Stichele
2dedb46c7e gst/gstvalue.c: make the G_TYPE_DATE instantiation work if debug is disabled
Original commit message from CVS:

* gst/gstvalue.c: (_gst_value_initialize):
make the G_TYPE_DATE instantiation work if debug is disabled
2006-01-07 10:04:36 +00:00
Tim-Philipp Müller
53040a8d23 gst/gstmessage.c: Don't crash when return location for error/warning debug string is NULL; add fact that return locat...
Original commit message from CVS:
* gst/gstmessage.c: (gst_message_parse_tag),
(gst_message_parse_error), (gst_message_parse_warning):
Don't crash when return location for error/warning debug
string is NULL; add fact that return locations can be
NULL to docs where appropriate.
2006-01-06 17:16:40 +00:00
Wim Taymans
80d706f806 gst/gstplugin.c: Replace strdup by g_strdup as suggested by Ser-ver.
Original commit message from CVS:
* gst/gstplugin.c: (gst_plugin_load_file):
Replace strdup by g_strdup as suggested by Ser-ver.
2006-01-05 10:43:02 +00:00
Tim-Philipp Müller
76da1081b6 gst/gstutils.h: Add prototype for _get_type() function to GST_BOILERPLATE_FULL macro, so that gcc doesn't complain if...
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
* gst/gstutils.h:
Add prototype for _get_type() function to GST_BOILERPLATE_FULL
macro, so that gcc doesn't complain if the -Wmissing-prototypes
compiler switch is being used (#325429).
2006-01-02 20:26:06 +00:00
Tim-Philipp Müller
f3b5a1952c gst/gstbin.c: Disable duration query caching in bins until it gets fixed (see #324807).
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_query):
Disable duration query caching in bins until it gets
fixed (see #324807).
2005-12-29 16:47:27 +00:00
Tim-Philipp Müller
aee739e875 gst/gst.c: Init tags stuff and some other things before loading any static plugins (there may be other static plugins...
Original commit message from CVS:
* gst/gst.c: (init_post):
Init tags stuff and some other things before loading
any static plugins (there may be other static plugins
than just the GStreamer ones, and they may want to
register their own tags or formats or whatever, and
preferably without segfaulting).
* plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
Print at least a warning in the debug logs if we drop a
query just because we don't know how to adjust the value
in the particular format.
2005-12-27 12:11:19 +00:00
Edward Hervey
bd97cc0541 gst/gstcaps.*: Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
Original commit message from CVS:
* gst/gstcaps.c: (gst_static_caps_get_type):
* gst/gstcaps.h:
Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
* gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
* gst/gstpadtemplate.h:
Added gpointer GType for GstStaticPadTemplate so we can wrap them in
bindings.
2005-12-20 11:12:53 +00:00
Stefan Kost
e6a78b9709 gst/: change some char* into char[]
Original commit message from CVS:
* gst/gst.c:
* gst/gst_private.h:
change some char* into char[]
2005-12-16 21:59:12 +00:00
Wim Taymans
ab0fa35575 gst/gstregistryxml.c: Cleanups.
Original commit message from CVS:
* gst/gstregistryxml.c: (load_feature):
Cleanups.
Don't use g_object_unref on GstObjects so that we avoid
leaks on unsafe glibs.
2005-12-16 19:24:24 +00:00
Wim Taymans
0a12d6a308 gst/gstbin.c: Small doc updates.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_recalc_state):
Small doc updates.
2005-12-16 18:20:58 +00:00
Thomas Vander Stichele
9b87fae395 gst/gst.c: make the registry cache file HOST_CPU-dependent
Original commit message from CVS:

* gst/gst.c: (init_post):
make the registry cache file HOST_CPU-dependent
2005-12-16 17:34:19 +00:00
Tim-Philipp Müller
8ea948df92 gst/gstminiobject.c: Fix lcopy for mini objects, the mini object needs to be ref'ed.
Original commit message from CVS:
* gst/gstminiobject.c: (gst_value_mini_object_lcopy):
Fix lcopy for mini objects, the mini object needs to be ref'ed.
* tests/check/gst/gstminiobject.c: (my_foo_init),
(my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
(test_value_collection), (gst_mini_object_suite):
Add test to ensure refcounts end up as expected when passing
GstMiniObjects through g_object_get() and g_object_set().
2005-12-15 12:22:38 +00:00
Jan Schmidt
bcdfacaf5d gst/gstpad.c: Don't allow activation of a srcpad in pull_range if it has no getrange function.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
Don't allow activation of a srcpad in pull_range if it has no
getrange function.
Change some debug statements to be a little clearer

* plugins/elements/gsttypefindelement.c:
(gst_type_find_handle_src_query):
Check that we have a peer before executing queries thereupon.

* tests/examples/metadata/read-metadata.c: (message_loop):
Use gst_bus_pop instead of gst_bus_poll when we just want it to
immediately return us any available message with 0 timeout.
2005-12-14 10:09:35 +00:00
Michael Smith
83a815e648 gst/gsttypefindfactory.c: Don't unref factories after calling them.
Original commit message from CVS:
* gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
Don't unref factories after calling them.
* libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_chain):
Free lists of factories after using them. Fixing typefinding memory
leaks.
2005-12-12 19:09:49 +00:00
Stefan Kost
86deff7b5b gst/gstpluginfeature.c: more meaningful debug output
Original commit message from CVS:
* gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
(gst_plugin_feature_load):
more meaningful debug output
* configure.ac:
* tests/Makefile.am:
* tests/old/examples/Makefile.am:
make make distcheck happy again
2005-12-12 18:12:13 +00:00
Wim Taymans
8666c1597d gst/gstsegment.c: Added more documentation.
Original commit message from CVS:
* gst/gstsegment.c: (gst_segment_init),
(gst_segment_set_last_stop), (gst_segment_set_seek),
(gst_segment_set_newsegment), (gst_segment_to_stream_time),
(gst_segment_to_running_time):
Added more documentation.
Make sure the last_pos value is updated properly.
Make sure to_stream_time and to_running_time don't
operate on wrong values.

* tests/check/gst/gstsegment.c: (GST_START_TEST):
Update check.
2005-12-12 12:48:35 +00:00
Thomas Vander Stichele
ef7dedbfc8 gst/gstvalue.c: floor is not needed, F is always positive; this obviates the need for adding -lm when building withou...
Original commit message from CVS:

* gst/gstvalue.c: (gst_value_transform_double_fraction):
floor is not needed, F is always positive; this obviates the
need for adding -lm when building without libxml
2005-12-12 10:59:12 +00:00
Wim Taymans
d16ce65df7 gst/gstbuffer.c: Small docs update.
Original commit message from CVS:
* gst/gstbuffer.c:
Small docs update.

* gst/gstcaps.c: (gst_caps_is_equal):
Don't assert on NULL <--> X. Fixes #323260

* gst/gstminiobject.c: (gst_mini_object_replace):
If we're doing atomic operations, we might just as well use
the proper way to get an atomic pointer.

* libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
Clean up debugging.
2005-12-07 15:16:43 +00:00
Michael Smith
4e8cd3c843 gst/parse/grammar.y: Remove handling of { } for threads.
Original commit message from CVS:
* gst/parse/grammar.y:
Remove handling of { } for threads.
2005-12-07 11:52:05 +00:00
Thomas Vander Stichele
288f61d21f expand tabs
Original commit message from CVS:
expand tabs
2005-12-06 19:29:15 +00:00
Thomas Vander Stichele
ccd5fa2866 remove deprecation guard from docstring
Original commit message from CVS:
remove deprecation guard from docstring
2005-12-05 14:14:02 +00:00
Thomas Vander Stichele
4477b7090b fix docs
Original commit message from CVS:
fix docs
2005-12-05 13:06:37 +00:00
Wim Taymans
4f28ca8331 libs/gst/base/gstbasetransform.c (gst_base_transform_prepare_output_buf)
Original commit message from CVS:
2005-12-05  Andy Wingo  <wingo@pobox.com>

patch by: Wim Taymans <wim@fluendo.com>

* libs/gst/base/gstbasetransform.c
(gst_base_transform_prepare_output_buf)
(gst_base_transform_buffer_alloc):
* plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
alloc_buffer_and_set_caps.

* gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
set_caps on the source pad.
(gst_pad_alloc_buffer_and_set_caps): New function, does what
alloc_buffer used to do. Fixes #322874.

* docs/gst/gstreamer-sections.txt:
* docs/design/part-negotiation.txt:
* docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
changes.
2005-12-05 13:01:35 +00:00
Wim Taymans
0aa5cea288 Back out previous code changes, leave doc updates, file bugs instead.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_is_equal):
* plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
(gst_fake_src_create):
Back out previous code changes, leave doc updates, file bugs
instead.
2005-12-05 10:59:17 +00:00
Wim Taymans
39e0ac7465 gst/gstcaps.c: Comparing NULL against !NULL yields different caps, not a failure.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_is_equal):
Comparing NULL against !NULL yields different caps, not a
failure.
2005-12-05 10:22:55 +00:00
Wim Taymans
9d8037eed8 gst/gstpipeline.c: Fix small typo in docs.
Original commit message from CVS:
* gst/gstpipeline.c:
Fix small typo in docs.
2005-12-05 10:18:27 +00:00
Thomas Vander Stichele
9def80ce05 gst/gst.c (init_post): remove hard-coded 0.9 location for registries/plugins with a MAJORMINOR one.
Original commit message from CVS:
2005-12-05  Andy Wingo  <wingo@pobox.com>

patch by: Thomas Vander Stichele  <thomas at apestaart dot org>

* gst/gst.c (init_post): remove hard-coded 0.9 location for
registries/plugins with a MAJORMINOR one.
(plugin_desc): Rename library from gstcoreleements to
staticelements. Fixes #323222.
2005-12-05 09:53:54 +00:00
Thomas Vander Stichele
057de1f845 add tests that seem to show that the guint64/gdouble conversions are correct.
Original commit message from CVS:
* gst/gstutils.c: (gst_util_guint64_to_gdouble),
(gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
* gst/gstutils.h:
* tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
add tests that seem to show that the guint64/gdouble conversions
are correct.
2005-12-04 09:57:11 +00:00
Wim Taymans
381742562f gst/: Fix docs again.
Original commit message from CVS:
* gst/gstregistry.c: (gst_registry_add_path):
* gst/gstregistry.h:
* gst/gstregistryxml.c:
Fix docs again.
Removed old code from gstregistryxml.c
2005-12-02 12:34:47 +00:00
Wim Taymans
db2b4d916c gst/gstutils.c: Small cleanup.
Original commit message from CVS:
* gst/gstutils.c: (gst_util_uint64_scale_int64),
(gst_util_uint64_scale_int):
Small cleanup.

* libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
Add debug log line.

* libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
Add FIXME.
2005-12-02 11:36:50 +00:00
Michael Smith
b32059fdc6 gst/gst.c: Escape a % to make gtkdoc happier; bug 322958.
Original commit message from CVS:
* gst/gst.c:
Escape a % to make gtkdoc happier; bug 322958.
2005-12-01 23:57:07 +00:00
Andy Wingo
a5820445bf gst/gstevent.h (struct _GstEvent): Meant to remove the extra padding here before, but it missed the commit.
Original commit message from CVS:
2005-12-01  Andy Wingo  <wingo@pobox.com>

* gst/gstevent.h (struct _GstEvent): Meant to remove the extra
padding here before, but it missed the commit.
2005-12-01 12:00:56 +00:00
Thomas Vander Stichele
9c28102415 fix the docs build
Original commit message from CVS:
fix the docs build
2005-11-30 19:36:54 +00:00
Thomas Vander Stichele
870761131b various fixes to make
Original commit message from CVS:

* configure.ac:
* gst/Makefile.am:
* gst/gst.c:
* gst/gstplugin.h:
* gst/gstregistry.h:
* tests/benchmarks/complexity.c:
* tests/benchmarks/mass-elements.c:
* tests/check/Makefile.am:
* tools/Makefile.am:
* tools/gst-inspect.c:
* tools/gst-xmlinspect.c:
various fixes to make
--disable-nls --disable-registry --disable-loadsave           --disable-parse --disable-gst-debug
work and get the core .so down to 360444 bytes after stripping
2005-11-30 19:01:53 +00:00
Thomas Vander Stichele
9055674a03 add some explicit casts update dsp files; also installs the debug build in \gstreamer\debug to separate it from the n...
Original commit message from CVS:
add some explicit casts
update dsp files; also installs the debug build in \gstreamer\debug to separate it from the non-debug build
2005-11-30 10:13:54 +00:00
Thomas Vander Stichele
6802a8b4ba docs/gst/gstreamer-sections.txt: remove double entries from the docs
Original commit message from CVS:

* docs/gst/gstreamer-sections.txt:
remove double entries from the docs
* gst/gst_private.h:
* gst/gstinfo.c: (_gst_debug_init):
remove the THREAD debug category
* gst/Makefile.am:
* gst/gstqueue.c:
* gst/gstqueue.h:
* docs/gst/gstreamer.types:
* plugins/elements/gstqueue.c: (gst_queue_get_type),
(gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
completely move queue and fix up debugging categories
2005-11-30 09:59:04 +00:00
Thomas Vander Stichele
aa56b376a7 gst/gstclock.c: remove crack non-portable handrolled DEBUG macro
Original commit message from CVS:
2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>

* gst/gstclock.c: (do_linear_regression):
remove crack non-portable handrolled DEBUG macro
2005-11-30 09:18:15 +00:00
Edward Hervey
0db5df88fc gst/: Fix memory leak in GstTypeFindFactory.
Original commit message from CVS:
* gst/gsttypefind.c: (gst_type_find_register):
* gst/gsttypefind.h:
* gst/gsttypefindfactory.c: (gst_type_find_factory_init),
(gst_type_find_factory_dispose):
* gst/gsttypefindfactory.h:
Fix memory leak in GstTypeFindFactory.
2005-11-29 23:56:20 +00:00
Thomas Vander Stichele
2011345b96 move queue from core to the elements plugin ç
Original commit message from CVS:

* gst/gst.c:
* plugins/elements/Makefile.am:
* plugins/elements/gstelements.c:
* plugins/elements/gstqueue.c:
move queue from core to the elements plugin

ç
2005-11-29 19:47:00 +00:00
Andy Wingo
a08a8d8fea libs/gst/base/: en-LARGE the padding.
Original commit message from CVS:
2005-11-29  Andy Wingo  <wingo@pobox.com>

* libs/gst/base/gstbasetransform.h:
* libs/gst/base/gstbasesrc.h:
* libs/gst/base/gstbasesink.h: en-LARGE the padding.

* gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
of pointers by which to pad very extensible base classes (like the
ones in libs/gst/base).
2005-11-29 19:37:49 +00:00
Thomas Vander Stichele
a0c4c4812c CVS surgery + support to move base, check, and net out of gst and into libs/gst
Original commit message from CVS:
CVS surgery + support to move base, check, and net out of gst
and into libs/gst
2005-11-29 19:12:30 +00:00
Andy Wingo
65ce5ed080 gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
Original commit message from CVS:
2005-11-29  Andy Wingo  <wingo@pobox.com>

* gst/gstevent.h (struct _GstEvent): Only one pointer of padding.

* gst/gststructure.h (struct _GstStructure): Only one pointer of
padding.

* gst/gstquery.h (struct _GstQuery): Only one pointer of padding.

* gst/gstpluginfeature.h: Remove a comment in PluginFeature.

* gst/gstplugin.h (struct _GstPluginClass): Add some padding.

* gst/gstobject.h: (struct _GstObject): Only one pointer of
padding; reduces object size by about 30%. We don't expect
anything else to go into gstobject.

* gst/gstminiobject.h (struct _GstMiniObject)
(struct _GstMiniObjectClass): Only one pointer of padding; the
payload is only a pointer and two ints anyway. For the class there
are only two methods as well.

* gst/gstelement.h (struct _GstElementClass): Removed
the state_changed signal callback, it is not used.
2005-11-29 18:57:59 +00:00
Thomas Vander Stichele
9389a2f8b3 check/Makefile.am: look in the right place for elements, a lot more chance of success
Original commit message from CVS:

* check/Makefile.am:
look in the right place for elements, a lot more chance of
success
* gst/Makefile.am:
remove indexers and elements subdirs
* plugins/Makefile.am:
make indexers conditional
2005-11-29 18:14:35 +00:00
Thomas Vander Stichele
8c96632081 remove moved dirs
Original commit message from CVS:
remove moved dirs
2005-11-29 18:03:52 +00:00
Thomas Vander Stichele
233e55299e remove empty dirs
Original commit message from CVS:
remove empty dirs
2005-11-29 18:02:45 +00:00
Andy Wingo
41f439b0a1 Rename gstnet-tempname to gstnet. Fixes #322257.
Original commit message from CVS:
2005-11-29  Andy Wingo  <wingo@pobox.com>

* check/Makefile.am:
* pkgconfig/gstreamer-net-uninstalled.pc.in:
* pkgconfig/gstreamer-net.pc.in:
* gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
#322257.
2005-11-29 17:47:06 +00:00
Thomas Vander Stichele
3ea45adb90 gst/gstevent.*: fix #320529 - clean up new_segment API and structure.
Original commit message from CVS:

* gst/gstevent.c: (gst_event_new_new_segment),
(gst_event_parse_new_segment):
* gst/gstevent.h:
fix #320529 - clean up new_segment API and structure.
Let's hope everyone was using the methods, and not the structure.
2005-11-29 17:23:56 +00:00
Edward Hervey
c4d1ffa5c7 gst/base/gstbasesink.c: Properly handle non GST_FORMAT_TIME segment
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_event), (gst_base_sink_do_sync),
(gst_base_sink_activate_pull), (gst_base_sink_change_state):
Properly handle non GST_FORMAT_TIME segment
* gst/elements/gstidentity.c: (gst_identity_transform_ip):
Properly handle non GST_FORMAT_TIME segment
* gst/gstsegment.c:
This function is valid if the accumulator is 0 and the format
is different from the requested format.
2005-11-29 17:13:44 +00:00
Jan Schmidt
aff648ab66 gst/base/gstbasetransform.c: Treat a pad alloc with new caps the same as if we were not negotiated, in order to allow...
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
Treat a pad alloc with new caps the same as if we were not
negotiated, in order to allow a changing upstream output
to produce a new format of data.
2005-11-29 15:12:22 +00:00
Edward Hervey
33a15d5e67 gst/base/gstbasetransform.c: The event virtual method is now properly implemented, with a default handler
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_class_init),
(gst_base_transform_event), (gst_base_transform_eventfunc):
The event virtual method is now properly implemented, with a default
handler
Sub classes should call the parent_class event method. They should
return FALSE if they had a problem handling the given event, or don't
want GstBaseTransform to send that even downstream
* gst/elements/gstidentity.c: (gst_identity_class_init),
(gst_identity_init), (gst_identity_event),
(gst_identity_transform_ip), (gst_identity_set_property),
(gst_identity_get_property):
* gst/elements/gstidentity.h:
Added the single-segment boolean property.
If set to TRUE, it will output a single segment of data, starting from
0, will eat up all incoming newsegment, and modify the timestamp of the
buffers accordingly
2005-11-29 14:47:07 +00:00
Tim-Philipp Müller
696cf53af5 gst/gstghostpad.c: Don't ref NULL target pad (#322751). Improve docs.
Original commit message from CVS:
* gst/gstghostpad.c: (gst_proxy_pad_get_target):
Don't ref NULL target pad (#322751). Improve docs.
2005-11-29 13:10:38 +00:00
Michael Smith
9bc0e85dce gst/gstregistryxml.c: Don't crash if we failed to load a feature from a plugin.
Original commit message from CVS:
* gst/gstregistryxml.c: (load_plugin):
Don't crash if we failed to load a feature from a plugin.
2005-11-29 11:07:54 +00:00
Thomas Vander Stichele
eaf17081ca Makefile.am: don't run checks if we don't have check
Original commit message from CVS:
* Makefile.am:
don't run checks if we don't have check
* common/check.mak:
remove the registry when running make torture
* docs/gst/gstreamer-sections.txt:
remove second multiply
* gst/gstqueue.c: (gst_queue_loop):
fix a compile warning when disabling debug
2005-11-28 19:58:56 +00:00
Jan Schmidt
9f5ea35423 gst/gstinfo.h: Hey! Let's print the pad name if the pointer != NULL instead of when it == NULL :-)
Original commit message from CVS:
* gst/gstinfo.h:
Hey! Let's print the pad name if the pointer != NULL instead
of when it == NULL :-)
2005-11-28 19:43:27 +00:00
Wim Taymans
2dc0ef57fd check/gst/gstutils.c: Updated check, add some scaling accuracy checking code.
Original commit message from CVS:
* check/gst/gstutils.c: (GST_START_TEST):
Updated check, add some scaling accuracy checking code.

* gst/gstutils.c: (gst_util_div128_64),
(gst_util_uint64_scale_int64), (gst_util_uint64_scale),
(gst_util_uint64_scale_int):
Fix 6 times faster division code. Optimize for common
1/1 and less common X/1 cases.
2005-11-28 18:44:11 +00:00
Thomas Vander Stichele
597335c574 doc updates
Original commit message from CVS:
doc updates
2005-11-28 17:59:25 +00:00
Wim Taymans
870d272630 check/gst/gstutils.c: More checks.
Original commit message from CVS:
* check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
More checks.

* gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
(do_linear_regression), (gst_clock_add_observation):
Cleanups.
Release lock when the clock cannot be slaved.
Catch the case where the regression returned an invalid denominator.

* gst/gstutils.c: (gst_util_div128_64_iterate),
(gst_util_div128_64), (gst_util_uint64_scale_int64),
(gst_util_uint64_scale), (gst_util_uint64_scale_int):
Add protentially more performant non-iterative 128/64 divide function
that unfortunatly does not work yet.
Shortcut the trivial 0/X = 0 case.
Remove the warnings on overflow.
2005-11-28 16:05:35 +00:00
Thomas Vander Stichele
faa56ab3a8 gst/gstplugin.c: everything causing a plugin not to load should be at least a WARNING
Original commit message from CVS:
* gst/gstplugin.c: (gst_plugin_register_func):
everything causing a plugin not to load should be at least a WARNING
2005-11-28 14:18:22 +00:00
Thomas Vander Stichele
275498ed35 log caps
Original commit message from CVS:
log caps
2005-11-28 14:02:54 +00:00
Thomas Vander Stichele
b3ac5a0f4e fix docs
Original commit message from CVS:
fix docs
2005-11-28 14:01:52 +00:00
Andy Wingo
3cf09efb92 gst/gstpad.c (fixate_value): Use array functions for arrays.
Original commit message from CVS:
2005-11-28  Andy Wingo  <wingo@pobox.com>

* gst/gstpad.c (fixate_value): Use array functions for arrays.
2005-11-28 10:04:45 +00:00
Thomas Vander Stichele
9e3259dd14 gst/Makefile.am: don't try and build net if we don't even have <sys/socket.h>
Original commit message from CVS:
* gst/Makefile.am:
don't try and build net if we don't even have <sys/socket.h>
2005-11-28 08:20:48 +00:00
Jan Schmidt
84279849a8 check/: Add tests for fdsrc seekability
Original commit message from CVS:
* check/Makefile.am:
* check/elements/fdsrc.c: (event_func), (setup_fdsrc),
(cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
Add tests for fdsrc seekability

* gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
(gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
(gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
(gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
* gst/elements/gstfdsrc.h:
fdsrc should not be a 'live' source.
Implement seeking on seekable fd's.

* gst/gstquery.c: (gst_query_new_seeking),
(gst_query_parse_seeking):
* gst/gstquery.h:
Implement SEEKING query functions:
*_new_seeking and *_parse_seeking
2005-11-27 22:50:09 +00:00
Stefan Kost
7b347681d5 gst/gstelement.c: don't loop forever
Original commit message from CVS:
* gst/gstelement.c: (gst_element_dispose):
don't loop forever
* gst/gstiterator.c:
* gst/gststructure.c:
doc fixes
* libs/gst/controller/gstcontroller.c:
(gst_controlled_property_set_interpolation_mode):
* libs/gst/controller/gstcontroller.h:
* libs/gst/controller/gstinterpolation.c:
(interpolate_none_get_enum_value_array):
support controlling enums
2005-11-27 22:43:08 +00:00
Tim-Philipp Müller
676421cf07 gst/gstvalue.c: Improve documentation for gst_value_union().
Original commit message from CVS:
* gst/gstvalue.c:
Improve documentation for gst_value_union().
* gst/gstvalue.h:
Change return value for union, intersect and subtract functions
from gint to gboolean.
2005-11-27 19:52:49 +00:00
Tim-Philipp Müller
abaf6b22f1 gst/gstvalue.*: Use gint, gdouble and gchar in our API instead of int, double and char (and make usage in gstvalue.c ...
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_serialize_any_list),
(gst_value_transform_any_list_string),
(gst_value_deserialize_list), (gst_value_deserialize_array),
(gst_value_set_int_range), (gst_value_deserialize_int_range),
(gst_value_set_double_range), (gst_value_deserialize_double_range),
(gst_value_set_fraction_range_full),
(gst_value_deserialize_fraction_range),
(gst_value_deserialize_caps), (gst_value_deserialize_buffer),
(gst_value_deserialize_boolean),
(gst_value_deserialize_int_helper), (gst_value_deserialize_double),
(gst_value_serialize_float), (gst_value_deserialize_float),
(gst_string_wrap), (gst_value_deserialize_string),
(gst_value_deserialize_enum), (gst_value_deserialize_flags),
(gst_value_union_int_range_int_range),
(gst_value_intersect_int_range_int_range),
(gst_value_intersect_double_range_double_range),
(gst_value_create_new_range), (gst_value_subtract_int_range_int),
(gst_value_subtract_int_range_int_range),
(gst_value_subtract_double_double_range),
(gst_value_subtract_double_range_double_range),
(gst_value_deserialize_fraction):
* gst/gstvalue.h:
Use gint, gdouble and gchar in our API instead of int, double and
char (and make usage in gstvalue.c more consistent).
2005-11-27 18:11:02 +00:00
Thomas Vander Stichele
d65ec49ee9 add undefined for core
Original commit message from CVS:
add undefined for core
2005-11-27 17:05:38 +00:00
Thomas Vander Stichele
f496f75765 update LDFLAGS use some more
Original commit message from CVS:

* configure.ac:
* gst/Makefile.am:
* gst/base/Makefile.am:
* gst/check/Makefile.am:
* gst/elements/Makefile.am:
* gst/net/Makefile.am:
update LDFLAGS use some more
2005-11-27 15:15:35 +00:00
Edward Hervey
8a5411d0be gst/gstpluginfeature.c: This shouldn't issue a g_warning since it returns NULL if it couldn't find the plugin, and al...
Original commit message from CVS:
* gst/gstpluginfeature.c: (gst_plugin_feature_load):
This shouldn't issue a g_warning since it returns NULL if it
couldn't find the plugin, and all functions using this behave
properly on a NULL return. Switching to a GST_WARNING.
2005-11-26 11:28:32 +00:00
Jan Schmidt
4b3455b7a8 gst/gstbin.c: Don't leak clock messages.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_handle_message_func):
Don't leak clock messages.
2005-11-25 17:06:36 +00:00
Wim Taymans
7386cce105 gst/gstutils.c: Optimisations, remove unneeded vars.
Original commit message from CVS:
* gst/gstutils.c: (gst_util_uint64_scale_int64),
(gst_util_uint64_scale_int):
Optimisations, remove unneeded vars.
2005-11-25 11:38:38 +00:00
Wim Taymans
fb7302fc41 check/gst/gstutils.c: Added more checks for the high precision uint64 cases.
Original commit message from CVS:
* check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
Added more checks for the high precision uint64 cases.

* gst/gstutils.c: (gst_util_uint64_scale_int64),
(gst_util_uint64_scale), (gst_util_uint64_scale_int):
Implement high precission (guint64 * guint64) / guint64.
2005-11-25 00:02:05 +00:00
Wim Taymans
d0c276b717 gst/base/gstbasesrc.c: Fix wrong percentage query.
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_query):
Fix wrong percentage query.

* gst/gstutils.c: (gst_util_uint64_scale),
(gst_util_uint64_scale_int):
Add some more common cases that can be handled
efficiently to _scale.
2005-11-24 19:06:58 +00:00
Thomas Vander Stichele
888bf79853 check/gst/gstminiobject.c: don't use check calls from threads; check probably isn't threadsafe and using a lock to ma...
Original commit message from CVS:

* check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
(gst_mini_object_suite):
don't use check calls from threads; check probably isn't
threadsafe and using a lock to make it threadsafe would
defeat the purpose of this check
* gst/check/gstcheck.c:
* gst/check/gstcheck.h:
use GST_DEBUG some more
2005-11-24 18:40:58 +00:00
Wim Taymans
6ceca6153b gst/gstutils.c: Chain trivial case to _scale_int.
Original commit message from CVS:
* gst/gstutils.c: (gst_util_uint64_scale),
(gst_util_uint64_scale_int):
Chain trivial case to _scale_int.
2005-11-24 18:03:15 +00:00
Wim Taymans
fbf5f16d69 check/gst/gstutils.c: Added test for scaling.
Original commit message from CVS:
* check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
Added test for scaling.

* gst/gstclock.h:
Small doc fix.

* gst/gstutils.c: (gst_util_uint64_scale_int):
Implemented high precision scaling code.
2005-11-24 17:44:57 +00:00
Stefan Kost
9cd1643368 gst/gstinfo.h: do not crash on pad==NULL
Original commit message from CVS:
* gst/gstinfo.h:
do not crash on pad==NULL
2005-11-24 16:56:28 +00:00
Michael Smith
836eb1dd02 gst/base/gstbasesink.c: Unlock the PREROLL_LOCK in a failure case.
Original commit message from CVS:
2005-11-24  Michael Smith <msmith@fluendo.com>

* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
Unlock the PREROLL_LOCK in a failure case.
2005-11-24 12:44:25 +00:00
Wim Taymans
a9f7f7b7b6 Doc fixes.
Original commit message from CVS:
Doc fixes.
2005-11-24 09:44:07 +00:00
Wim Taymans
ca6f8f5387 Doc updates.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/glib-compat.c:
* gst/gsttagsetter.c:
* gst/gstvalue.c:
* gst/net/gstnetclientclock.c:
* gst/net/gstnettimepacket.h:
Doc updates.
2005-11-23 16:10:38 +00:00
Thomas Vander Stichele
3dfcce5a99 remove mentions of sinesrc
Original commit message from CVS:
remove mentions of sinesrc
2005-11-23 15:49:06 +00:00
Michael Smith
f1819a7a28 docs/gst/gstreamer-sections.txt: Update for new API and API changes.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
Update for new API and API changes.
* gst/gstobject.h:
Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
* gst/gstvalue.c:
Documentation typo fix.
* gst/net/gstnettimepacket.c:
Documentation fixes for arguments.
2005-11-23 14:52:31 +00:00
Jan Schmidt
cfc78f21ec API Changes.
Original commit message from CVS:
* gst/gststructure.c: (gst_structure_get_fraction),
(gst_structure_parse_value),
(gst_structure_fixate_field_nearest_fraction):
* gst/gststructure.h:
* gst/gstutils.c: (gst_util_uint64_scale_int):
* gst/gstutils.h:
* scripts/update-funcnames:
API Changes.
Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
Make gst_structure_fixate_field_nearest_fraction take a numerator
and denominator argument instead of a GValue
add gst_structure_get_fraction helper function.
2005-11-23 13:22:21 +00:00
Wim Taymans
9e0575c379 docs/design/part-TODO.txt: Update TODO.
Original commit message from CVS:
* docs/design/part-TODO.txt:
Update TODO.

* gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
* gst/net/gstnetclientclock.h:
Use parent fields for timeout and window_size.
2005-11-23 13:14:46 +00:00
Christian Schaller
269d554be4 add missing cvsignores so CVS shuts up
Original commit message from CVS:
add missing cvsignores so CVS shuts up
2005-11-23 12:39:36 +00:00
Andy Wingo
da72aaa235 check/net/gstnetclientclock.c (test_functioning): Adjust to rate_num/rate_denom change.
Original commit message from CVS:
2005-11-23  Andy Wingo  <wingo@pobox.com>

* check/net/gstnetclientclock.c (test_functioning): Adjust to
rate_num/rate_denom change.

* gst/net/gstnetclientclock.c
(gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
OBJECT_LOCK. Don't call add_observation with the lock.

* gst/gstclock.c (gst_clock_init): Initialize the rate as a
fraction.
(gst_clock_adjust_unlocked): Adjust using uint64_scale and the
rate fraction.
(gst_clock_set_calibration, gst_clock_get_calibration): Change to
deal with rate as a fraction whose numerator and denominator are
GstClockTime values.
(gst_clock_set_master): Only use the OBJECT_LOCK to set the
master; the other fields are protected by the SLAVE_LOCK.
(do_linear_regression): Note that this must be called with the
SLAVE_LOCK.
(gst_clock_add_observation): Take the SLAVE_LOCK, not the
OBJECT_LOCK. Call set_calibration instead of touching the
variables directly.
(gst_clock_set_property, gst_clock_get_property): Protect
master/slave parameters with the SLAVE_LOCK.

* gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
note that all of the instance variables that add_observation and
the set_master functions use are protected by that lock and not
the OBJECT_LOCK.
(GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.

* gst/gstclock.c (gst_clock_add_observation): No longer requires
the caller to take the object lock.
2005-11-23 12:36:00 +00:00
Wim Taymans
79991c29b1 gst/gsterror.*: Add error for clock stuff.
Original commit message from CVS:
* gst/gsterror.c: (_gst_core_errors_init):
* gst/gsterror.h:
Add error for clock stuff.

* gst/gstpipeline.c: (gst_pipeline_change_state),
(gst_pipeline_set_clock):
Post clock error when clock cannot be used in a pipeline.
2005-11-23 11:22:39 +00:00
Stefan Kost
df00e2ede5 docs/gst/gstreamer-sections.txt: make two symbols from gstinfo private for the docs
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
make two symbols from gstinfo private for the docs
* gst/base/gstcollectpads.h:
* gst/gstutils.c:
fix doc typos, update docs
2005-11-23 11:05:37 +00:00
Wim Taymans
cf925ebb6f gst/base/gstbasesink.*: No need to store the clock, the parent element class already has it.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_class_init),
(gst_base_sink_wait), (gst_base_sink_do_sync),
(gst_base_sink_handle_event):
* gst/base/gstbasesink.h:
No need to store the clock, the parent element class already
has it.

* gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
Updates for clock_set returning a gboolean

* gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
(gst_clock_id_wait_async), (gst_clock_class_init),
(gst_clock_init), (gst_clock_finalize),
(gst_clock_get_internal_time), (gst_clock_get_time),
(gst_clock_slave_callback), (gst_clock_set_master),
(gst_clock_get_master), (do_linear_regression),
(gst_clock_add_observation), (gst_clock_set_property),
(gst_clock_get_property):
* gst/gstclock.h:
Implement master/slave. When setting a clock as a slave, a
periodic timeout is scheduled to sample master and slave times.
Then the slave clock is recalibrated to match offset and rate
of the master clock.
Update logging a bit.
Add flag so that a clock can state that is cannot be slaved to
another clock.

* gst/gstelement.c: (gst_element_set_clock):
* gst/gstelement.h:
The set_clock returns a gboolean for when an element cannot
deal with the selected clock in the pipeline.

* gst/gstpipeline.c: (gst_pipeline_change_state),
(gst_pipeline_set_clock):
* gst/gstpipeline.h:
Handle the case where the selected clock cannot be set on
the pipeline.

* gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
(gst_net_client_clock_init), (gst_net_client_clock_finalize),
(gst_net_client_clock_set_property),
(gst_net_client_clock_get_property),
(gst_net_client_clock_observe_times):
* gst/net/gstnetclientclock.h:
Use regression code in GstClock parent, remove duplicated
functionality.
2005-11-22 18:28:44 +00:00
Michael Smith
59ac39499a Add underscores
Original commit message from CVS:
Add underscores
2005-11-22 16:31:08 +00:00
Thomas Vander Stichele
54f5eb6c8a gst/: correctly fix GEnumValues so that nick is the short lowercase dashed tag
Original commit message from CVS:

* gst/elements/Makefile.am:
* gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
* gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
(gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
(gst_fake_src_init), (gst_fake_src_prepare_buffer),
(gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
* gst/elements/gstfakesrc.h:
* gst/gstqueue.c: (queue_leaky_get_type):
correctly fix GEnumValues so that nick is the short lowercase
dashed tag
* tools/gst-inspect.c: (print_element_properties_info):
also show the nick, since it's useful to use from parse_launch
syntax
Fixes #322139
2005-11-22 15:52:03 +00:00
Michael Smith
4a36e535e9 Add util method for scaling a clocktime by a fraction. Useful implementation is left as an exercise for the reader.
Original commit message from CVS:
* gst/gstutils.c: (gst_util_clocktime_scale):
* gst/gstutils.h:
* docs/gst/gstreamer-sections.txt:
Add util method for scaling a clocktime by a fraction. Useful
implementation is left as an exercise for the reader.
2005-11-22 15:15:53 +00:00
Jan Schmidt
2e248d331c gst/gstvalue.c: If needed, allocate storage in the destination value during collection.
Original commit message from CVS:

* gst/gstvalue.c: (gst_value_collect_fraction_range):
If needed, allocate storage in the destination value during
collection.
2005-11-22 14:29:10 +00:00
Edward Hervey
891d05bc03 Removed GstURI , closes bug #321061
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/Makefile.am:
* gst/gst.h:
* gst/gsturitype.c:
* gst/gsturitype.h:
* gst/gstutils.c: (gst_util_set_object_arg):
* tools/gst-compprep.c: (main):
* tools/gst-inspect.c: (print_element_properties_info):
Removed GstURI , closes bug #321061
2005-11-22 13:58:00 +00:00
Jan Schmidt
5f54f34216 Oops, broke automatic string type parsing.
Original commit message from CVS:
* check/gst/gststructure.c: (GST_START_TEST):
* gst/gststructure.c: (gst_structure_parse_value):
Oops, broke automatic string type parsing.
Add a test to catch it in future.
2005-11-22 13:14:51 +00:00
Andy Wingo
ba9fadac70 gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
Original commit message from CVS:
2005-11-22  Andy Wingo  <wingo@pobox.com>

* gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
(gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
Actually rename the function implementations. Grr.
2005-11-22 13:02:12 +00:00
Jan Schmidt
32538f9ed2 check/gst/capslist.h: Comment test cases
Original commit message from CVS:

* check/gst/capslist.h:
Comment test cases
* check/gst/gststructure.c: (GST_START_TEST),
(gst_structure_suite):
Test automatic value type detection in gst_structure_from_string.
* gst/gststructure.c: (gst_structure_parse_value):
Add fraction as a type we try and guess automatically in
caps/structure strings.
2005-11-22 12:35:42 +00:00
Torsten Schoenfeld
c9bce50d33 gst/gsttagsetter.*: (gst_tag_setter_merge_tags) (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values) (gst_tag_set...
Original commit message from CVS:
2005-11-22  Andy Wingo  <wingo@pobox.com>

patch by: Torsten Schoenfeld <kaffeetisch gmx de>

* gst/gsttagsetter.h:
* gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
(gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
(gst_tag_setter_add_tag_valist)
(gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
_add_values, _add_valist, and _add_valist_values. Since this is an
interface the function suffixes should be more explicit so
language binding don't end up with element.add_valist ->
gst_tag_setter_add_valist, for example. Fixes #322069.
2005-11-22 12:20:04 +00:00
Jan Schmidt
ba0d715dc8 check/gst/gstcaps.c: Extend caps string tests to check that a caps to string conversion is reversible and produces th...
Original commit message from CVS:
* check/gst/gstcaps.c: (GST_START_TEST):
Extend caps string tests to check that a caps to string
conversion is reversible and produces the same caps.

* gst/gststructure.c: (gst_structure_value_get_generic_type):
Output "fraction" as the generic type fraction range, so caps
serialisation and deserialisation works.
* check/gst/capslist.h:
* gst/gstvalue.c: (gst_value_deserialize_fraction):
Support 'MIN' and 'MAX' for deserialising fractions.
2005-11-22 11:56:01 +00:00
Michael Smith
48d1473e3d Minor doc fix.
Original commit message from CVS:
Minor doc fix.
2005-11-22 11:50:12 +00:00
Andy Wingo
19858fd9f0 gst/gstevent.h (gst_event_new_new_segment) (gst_event_parse_new_segment, gst_event_new_buffer_size)
Original commit message from CVS:
2005-11-22  Andy Wingo  <wingo@pobox.com>

* gst/gstevent.h (gst_event_new_new_segment)
(gst_event_parse_new_segment, gst_event_new_buffer_size)
(gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
Renamed from *_newsegment, *_buffersize, *_notarget.

* scripts/update-funcnames: New script, performs the changes
listed above.
2005-11-22 11:48:58 +00:00
Wim Taymans
e9606ada93 gst/base/gstbasesink.c: Make sure the GstFlowReturn is returned.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
Make sure the GstFlowReturn is returned.

* gst/gstbus.c: (gst_bus_add_signal_watch_full),
(gst_bus_add_signal_watch):
* gst/gstbus.h:
add gst_bus_add_signal_watch_full.

* gst/gstplugin.c: (gst_plugin_load_file):
Small style cleanup.
2005-11-22 11:25:01 +00:00
Jan Schmidt
97d08eb1a3 Fix subtraction.
Original commit message from CVS:
* check/gst/gstvalue.c: (GST_START_TEST):
* gst/gstvalue.c: (gst_value_fraction_subtract):
Fix subtraction.
2005-11-22 09:42:17 +00:00
Stefan Kost
f6afcd058c gst/gst.h: include "gstchildproxy.h"
Original commit message from CVS:
* gst/gst.h:
include "gstchildproxy.h"
* gst/gstchildproxy.h:
* libs/gst/controller/gstcontroller.h:
use G_GNUC_NULL_TERMINATED
2005-11-22 09:35:25 +00:00
Jan Schmidt
506aa94ce2 Implement fraction ranges and extend GstFraction to support arithmetic subtraction, as well as deserialization from i...
Original commit message from CVS:
* check/gst/capslist.h:
* check/gst/gstcaps.c: (GST_START_TEST):
* check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
* gst/gststructure.c: (gst_structure_parse_range),
(gst_structure_fixate_field_nearest_fraction):
* gst/gststructure.h:
* gst/gstvalue.c: (gst_value_init_fraction_range),
(gst_value_free_fraction_range), (gst_value_copy_fraction_range),
(gst_value_collect_fraction_range),
(gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
(gst_value_set_fraction_range_full),
(gst_value_get_fraction_range_min),
(gst_value_get_fraction_range_max),
(gst_value_serialize_fraction_range),
(gst_value_transform_fraction_range_string),
(gst_value_compare_fraction_range),
(gst_value_deserialize_fraction_range),
(gst_value_intersect_fraction_fraction_range),
(gst_value_intersect_fraction_range_fraction_range),
(gst_value_subtract_fraction_fraction_range),
(gst_value_subtract_fraction_range_fraction),
(gst_value_subtract_fraction_range_fraction_range),
(gst_value_collect_fraction), (gst_value_fraction_multiply),
(gst_value_fraction_subtract), (gst_value_deserialize_fraction),
(gst_value_transform_string_fraction), (_gst_value_initialize):
* gst/gstvalue.h:
Implement fraction ranges and extend GstFraction to support
arithmetic subtraction, as well as deserialization from integer
strings such as "100"
Add a testsuite as for int and double range set operations
2005-11-21 23:54:59 +00:00
Andy Wingo
f641e8a9fe gst/: Add glib-compat.h.
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* gst/gsttaglist.h:
* gst/gstcaps.h:
* gst/gststructure.h: Add glib-compat.h.
2005-11-21 19:58:23 +00:00
Wim Taymans
5252cefbed gst/gstbin.c: Fix for #321595
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_change_state_func):
Fix for #321595
2005-11-21 19:13:13 +00:00
Wim Taymans
1cbf6f7027 gst/gstsegment.h: And add a nice define too.
Original commit message from CVS:
* gst/gstsegment.h:
And add a nice define too.
2005-11-21 19:00:28 +00:00
Wim Taymans
5be62b88b8 gst/gstsegment.*: Make binding friendly.
Original commit message from CVS:
* gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
(gst_segment_new), (gst_segment_free), (gst_segment_init),
(gst_segment_set_duration), (gst_segment_set_last_stop),
(gst_segment_set_seek), (gst_segment_set_newsegment),
(gst_segment_to_stream_time), (gst_segment_to_running_time),
(gst_segment_clip):
* gst/gstsegment.h:
Make binding friendly.
2005-11-21 18:53:06 +00:00
Andy Wingo
fd6ca0191b gst/: Sprinkle NULL_TERMINATED to taste.
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* gst/gsttagsetter.h:
* gst/gsttaglist.h:
* gst/gststructure.h:
* gst/gstcaps.h:
* gst/gstutils.h: Sprinkle NULL_TERMINATED to taste.
2005-11-21 18:41:39 +00:00
Andy Wingo
102575f27e gst/gsterror.*: New error category.
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* gst/gsterror.c (_gst_core_errors_init):
* gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
category.
2005-11-21 18:27:26 +00:00
Andy Wingo
169841756a gst/Makefile.am (gst_headers): Add glib-compat.h. noinst the -private.
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* gst/Makefile.am (gst_headers): Add glib-compat.h.
(noinst_HEADERS): noinst the -private.
2005-11-21 18:16:00 +00:00
Michael Smith
468d8b8034 gst/: Remove unimplemented declarations for which we can see no sensible use.
Original commit message from CVS:
* gst/gstplugin.h:
* gst/gstregistry.h:
Remove unimplemented declarations for which we can see no sensible
use.
2005-11-21 18:10:13 +00:00
Andy Wingo
ef7787ed72 gst/gst.h: Include glib-compat.h.
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* gst/gst.h: Include glib-compat.h.

* gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.

* gst/glib-compat.c: Include the public and the private header.

* gst/glib-compat-private.h: Copied here from glib-compat.h.

* gst/gstvalue.c:
* gst/gstpad.c:
* gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2005-11-21 18:03:22 +00:00
Andy Wingo
153931fa86 check/gst/gstevent.c (create_custom_events): Check that
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* check/gst/gstevent.c (create_custom_events): Check that
FLUSH_STOP is serialized.

* check/elements/identity.c (event_func):
* check/elements/fakesrc.c (event_func): No stream lock, the core
takes it.

* gst/base/gstbasetransform.c (gst_base_transform_event): No more
stream lock taking, yay.

* gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
ensure that core takes the stream lock.

* gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
lock name change.

* gst/base/gstbasesink.c (gst_base_sink_event): No need to take
the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
it already. For the flush start we do take it though so we get the
right preroll state change messages.

* gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
the stream lock here, the core does it for us.

* gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
GST_STREAM_GET_LOCK.
(GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
(GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
(GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
(GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
(GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
(GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.

* gst/gstpad.c: Update for stream lock name change.

* gst/base/gstbasesink.c: Update for preroll lock name change.
2005-11-21 17:21:15 +00:00
Wim Taymans
e6bbe0ddb2 gst/: Convert Clock flags to object flags.
Original commit message from CVS:
* gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
(gst_clock_get_master):
* gst/gstclock.h:
* gst/gstsystemclock.c: (gst_system_clock_init):
Convert Clock flags to object flags.
Added methods to manage master/slave clocks.
2005-11-21 17:12:50 +00:00
Wim Taymans
a35882df1f More segment updates, replace code in plugins with segment helper functions.
Original commit message from CVS:
* check/gst/gstsegment.c: (GST_START_TEST):
* docs/design/part-TODO.txt:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_event), (gst_base_sink_do_sync),
(gst_base_sink_activate_pull), (gst_base_sink_get_position),
(gst_base_sink_query), (gst_base_sink_change_state):
* gst/base/gstbasesink.h:
* gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
(gst_base_src_default_newsegment),
(gst_base_src_configure_segment), (gst_base_src_do_seek),
(gst_base_src_get_range), (gst_base_src_loop),
(gst_base_src_change_state):
* gst/base/gstbasesrc.h:
* gst/base/gstbasetransform.c:
(gst_base_transform_prepare_output_buf),
(gst_base_transform_event), (gst_base_transform_change_state):
* gst/base/gstbasetransform.h:
* gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
(gst_collect_pads_event):
* gst/base/gstcollectpads.h:
* gst/elements/gstfakesrc.c: (gst_fake_src_init),
(gst_fake_src_create):
* gst/elements/gstfakesrc.h:
* gst/elements/gstidentity.c: (gst_identity_transform_ip):
* gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
(gst_segment_set_last_stop), (gst_segment_set_seek),
(gst_segment_set_newsegment), (gst_segment_to_stream_time),
(gst_segment_to_running_time), (gst_segment_clip):
* gst/gstsegment.h:
More segment updates, replace code in plugins with segment
helper functions.
2005-11-21 17:09:45 +00:00
Jan Schmidt
9409e07440 gst/elements/gstfdsrc.c: Don't ignore sscanf results
Original commit message from CVS:
* gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
Don't ignore sscanf results
2005-11-21 16:46:07 +00:00
Andy Wingo
ad7585d432 gst/gstpad.h (GST_IS_PAD_FAST): Removed.
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2005-11-21 16:41:16 +00:00
Andy Wingo
44c548b205 *.*: Ran scripts/update-macros. Oh yes. gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* *.h:
* *.c: Ran scripts/update-macros. Oh yes.

* gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
(GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
GST_GET_LOCK, etc.

* scripts/update-macros: New script. Run it on your files to
change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
well.
2005-11-21 16:34:26 +00:00
Stefan Kost
32d6280888 more docs fixes, add new api to the docs
Original commit message from CVS:
* docs/gst/Makefile.am:
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* docs/gst/gstreamer.types:
* gst/gstinfo.h:
more docs fixes, add new api to the docs
2005-11-21 15:47:09 +00:00
Andy Wingo
eb8cc5ab32 gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this state_broadcast call.
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
state_broadcast call.
2005-11-21 15:01:48 +00:00
Andy Wingo
7f0bef0423 gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2005-11-21 14:53:34 +00:00
Julien Moutte
9185b7092c gst/gstvalue.c: Fix wrong function calls for arrays.
Original commit message from CVS:
2005-11-21  Julien MOUTTE  <julien@moutte.net>

* gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
function calls for arrays.
2005-11-21 14:52:56 +00:00
Stefan Kost
b06c505f1c docs/random/ensonic/media-device-daemon.txt: wild idea, can this be done?
Original commit message from CVS:
* docs/random/ensonic/media-device-daemon.txt:
wild idea, can this be done?
* docs/gst/gstreamer-sections.txt:
* gst/gsterror.h:
* gst/gstfilter.c:
* gst/gstfilter.h:
* gst/gstplugin.h:
* gst/gstpluginfeature.c:
* gst/gsttrace.c:
* gst/gstvalue.c:
* gst/gstvalue.h:
doc fixes and additions
2005-11-21 14:50:22 +00:00
Andy Wingo
a8560f7b3b gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) (...
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
(GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
(GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
(GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
private to the basesrc implementation.
2005-11-21 14:41:26 +00:00
Andy Wingo
e53432c9bb gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on behalf of event function if necessary. It should no ...
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
behalf of event function if necessary. It should no longer be
necessary to take the stream lock in pad's event functions. Fixes
#320299.
2005-11-21 14:34:07 +00:00
Jan Schmidt
3e17fdcbf9 Rename gst_caps_structure_fixate_* to gst_structure_fixate_* (#322027)
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
(gst_structure_fixate_field_nearest_double),
(gst_structure_fixate_field_boolean):
* gst/gststructure.h:
* win32/common/libgstreamer.def:
* win32/gstreamer.def:

Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
(#322027)
2005-11-21 14:28:21 +00:00
Jan Schmidt
58acf5f046 gst/elements/gstfdsrc.*: Port fd:// URI handler from 0.8 to fdsrc
Original commit message from CVS:
* gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
(gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
(gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
(gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
(gst_fdsrc_uri_handler_init):
* gst/elements/gstfdsrc.h:
Port fd:// URI handler from 0.8 to fdsrc
2005-11-21 14:25:21 +00:00
Wim Taymans
29ea4a0bb0 More segment updates and more checks.
Original commit message from CVS:
* check/gst/gstsegment.c: (GST_START_TEST), (gstsegments_suite),
(main):
* gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
(gst_segment_set_last_stop), (gst_segment_set_seek),
(gst_segment_set_newsegment), (gst_segment_to_stream_time),
(gst_segment_to_running_time), (gst_segment_clip):
* gst/gstsegment.h:
More segment updates and more checks.
2005-11-21 13:26:51 +00:00
Tim-Philipp Müller
d1d6357de1 gst/gstvalue.*: Drop leading '%' from GST_FOURCC_FORMAT, thus making it consistent with our other format defines (#32...
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_transform_fourcc_string),
(gst_value_serialize_fourcc):
* gst/gstvalue.h:
Drop leading '%' from GST_FOURCC_FORMAT, thus making it
consistent with our other format defines (#320324).
2005-11-21 13:26:40 +00:00
Tim-Philipp Müller
5012a8fddc gst/gstvalue.c: Revert previous commit. Value lists are by definition not fixed, as they are a list of possible values.
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_is_fixed):
Revert previous commit. Value lists are by definition
not fixed, as they are a list of possible values.
2005-11-21 13:12:18 +00:00
Andy Wingo
e4b8378ba4 gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back during the stable series if we need it. Fixes #319178.
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
during the stable series if we need it. Fixes #319178.

* gst/gstevent.c (gst_event_new_filler): Removed.

* check/gst/gstevent.c: Update comment about filler events.
2005-11-21 13:03:36 +00:00
Tim-Philipp Müller
8759556717 gst/gstvalue.c: Should handle both value arrays and value lists.
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_is_fixed):
Should handle both value arrays and value lists.
2005-11-21 12:42:41 +00:00
Alessandro Dessina
9dc3c08477 gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array functions to access arrays. Fixes #321962.
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

patch by: Alessandro Dessina <alessandro nnva org>

* gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
functions to access arrays. Fixes #321962.
2005-11-21 12:27:01 +00:00
Tim-Philipp Müller
d5ce5ad5e8 docs/gst/gstreamer.types: gst_collectpads_get_type => gst_collect_pads_get_type.
Original commit message from CVS:
* docs/gst/gstreamer.types:
gst_collectpads_get_type => gst_collect_pads_get_type.
* gst/base/gstbasetransform.c:
Remove unused SIGNAL_HANDOFF enum.
2005-11-21 11:26:07 +00:00
Andy Wingo
33d5749b88 gst/gstevent.h (GstEventTypeFlags): New data type, the flags of the event type (upstream, downstream, serialized). Re...
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
the event type (upstream, downstream, serialized). Renamed
GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
(GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.

* gst/gstevent.c: Update for new CUSTOM event names.

* check/gst/gstevent.c: Update check for new CUSTOM event names.

* gst/gstevent.h:
* gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
bug #319392.
2005-11-21 11:06:42 +00:00
Tim-Philipp Müller
60c50e8f11 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document unimplemented functions as unimplemented (#320766).
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* win32/common/libgstbase.def:
* win32/libgstbase.def:
* gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
(gst_collect_pads_class_init), (gst_collect_pads_init),
(gst_collect_pads_finalize), (gst_collect_pads_new),
(gst_collect_pads_set_function), (gst_collect_pads_add_pad),
(gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
(gst_collect_pads_collect), (gst_collect_pads_collect_range),
(gst_collect_pads_start), (gst_collect_pads_stop),
(gst_collect_pads_peek), (gst_collect_pads_pop),
(gst_collect_pads_available), (gst_collect_pads_read),
(gst_collect_pads_flush), (gst_collect_pads_event),
(gst_collect_pads_chain):
* gst/base/gstcollectpads.h:
Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
unimplemented functions as unimplemented (#320766).
2005-11-21 11:00:03 +00:00
Tim-Philipp Müller
65ae960c53 gst/gstmessage.c: Improve docs for DURATION message (usage of duration parameter) (#320113)
Original commit message from CVS:
* gst/gstmessage.c:
Improve docs for DURATION message (usage of duration parameter)
(#320113)
2005-11-21 10:41:03 +00:00
Wim Taymans
2754334f05 Added segment helper structure and methods. Not fully implemented yet.
Original commit message from CVS:
* check/Makefile.am:
* check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
(main):
* gst/Makefile.am:
* gst/gst.h:
* gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
(gst_segment_set_seek), (gst_segment_set_newsegment),
(gst_segment_to_stream_time), (gst_segment_to_running_time),
(gst_segment_clip):
* gst/gstsegment.h:
Added segment helper structure and methods. Not fully implemented
yet.
Added segment check.
2005-11-20 19:11:09 +00:00
Jan Schmidt
c05ba2d666 check/gst/gstvalue.c: Add a deserialisation test for fractions
Original commit message from CVS:
* check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
Add a deserialisation test for fractions
* examples/metadata/read-metadata.c: (message_loop),
(make_pipeline), (main):
Fix up metadata reading sample.
* gst/base/gstbasesink.c: (gst_base_sink_do_sync):
Debug format fix
* gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
Don't try and fixate empty caps
* gst/gst_private.h:
Wrap in G_BEGIN_DECLS/G_END_DECLS
* gst/gstvalue.c: (gst_value_collect_fraction),
(gst_value_set_fraction), (gst_value_get_fraction_denominator),
(gst_value_transform_string_fraction),
(gst_value_compare_fraction):
Add some extra guards to ensure that we don't end up
with an invalid denominator of 0 in a gstfraction and
that fractions always get reduced.
2005-11-20 17:12:49 +00:00
Wim Taymans
10a32af38d Doc fixes.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstbuffer.h:
* gst/gstelement.c:
* gst/gstformat.c:
* gst/gstformat.h:
* gst/gstindex.h:
* gst/gstquery.c:
* gst/gstquery.h:
* gst/gstvalue.c:
Doc fixes.
2005-11-20 14:50:43 +00:00
Wim Taymans
deacfd8e89 Make a proper enum of the flag.
Original commit message from CVS:
* docs/design/part-TODO.txt:
* gst/gstcaps.h:
Make a proper enum of the flag.
2005-11-20 13:28:11 +00:00
Wim Taymans
8d46970ed8 Add type to quark and type to string conversions.
Original commit message from CVS:
* docs/design/part-TODO.txt:
* gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
(gst_format_to_quark), (gst_format_register):
* gst/gstformat.h:
* gst/gstquery.c: (_gst_query_initialize),
(gst_query_type_get_name), (gst_query_type_to_quark),
(gst_query_type_register):
* gst/gstquery.h:
Add type to quark and type to string conversions.
2005-11-19 18:57:00 +00:00
Andy Wingo
9192ae50e0 gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes #320097.
Original commit message from CVS:
2005-11-19  Andy Wingo  <wingo@pobox.com>

* gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
#320097.
2005-11-19 18:32:01 +00:00
Wim Taymans
5209b1b0a2 Make message handling overridable.
Original commit message from CVS:
* docs/design/part-TODO.txt:
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
(gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
(gst_bin_handle_message_func):
* gst/gstbin.h:
Make message handling overridable.
2005-11-19 18:28:40 +00:00
Andy Wingo
5061adaf5f gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
Original commit message from CVS:
2005-11-19  Andy Wingo  <wingo@pobox.com>

* gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2005-11-19 18:26:35 +00:00
Andy Wingo
f082cb34a4 gst/gstclock.*: Change resolution to be a GstClockTime.
Original commit message from CVS:
2005-11-19  Andy Wingo  <wingo@pobox.com>

* gst/gstclock.h:
* gst/gstclock.c (GstClock, GstClockClass): Change resolution to
be a GstClockTime.
(gst_clock_set_resolution, gst_clock_get_resolution): Resolution
is a GstClockTime. Fixes #321710.
2005-11-19 18:17:29 +00:00
Andy Wingo
c0b753f74f gst/gstclock.h (GstClock): Remove offset property. Add internal_calibration and external_calibration. Fix padding. Pa...
Original commit message from CVS:
2005-11-19  Andy Wingo  <wingo@pobox.com>

* gst/gstclock.h (GstClock): Remove offset property. Add
internal_calibration and external_calibration. Fix padding. Pad
also by GstClockTime so we don't run into problems.

* gst/gstclock.c (gst_clock_set_rate_offset): Remove.
(gst_clock_get_rate_offset): Remove.
(gst_clock_set_time_adjust): Remove. Fixes #321712.
2005-11-19 18:06:56 +00:00
Andy Wingo
5748aa1156 gst/gstutils.h: gst/gstutils.c (g_static_rec_cond_wait)
Original commit message from CVS:
2005-11-19  Andy Wingo  <wingo@pobox.com>

* gst/gstutils.h:
* gst/gstutils.c (g_static_rec_cond_wait)
(g_static_rec_cond_timed_wait): Removed, no longer needed.

* gst/gstbin.c: Remove terrible continue_state prototype.

* gst/gstelement.h (gst_element_continue_state): Make public.

* gst/gstelement.h:
* gst/gstelement.c (gst_element_commit_state): Removed, replaced
by continue_state. Fixes #319389.
2005-11-19 17:50:52 +00:00
Andy Wingo
4bccc99723 gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
Original commit message from CVS:
2005-11-19  Andy Wingo  <wingo@pobox.com>

* gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
Really fixes #168438. However I don't see anywhere where the
filter function is called... stupid GStreamer...
2005-11-19 17:28:58 +00:00
Andy Wingo
4a61de0e11 gst/gstindex.h (GstIndex): Add field for user_data_destroy. We don't have a dispose function, so it won't get called ...
Original commit message from CVS:
2005-11-19  Andy Wingo  <wingo@pobox.com>

* gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
don't have a dispose function, so it won't get called when the
object is unreffed, but oh well!

* gst/gstindex.c (gst_index_set_filter_full): New API function,
allows a destroy function to be set so user_data can be freed.
Fixes #168438.
(gst_index_set_filter): Call gst_index_set_filter_full.
2005-11-19 17:26:27 +00:00
Andy Wingo
77d95482f6 check/gst/gstvalue.c (test_string): Add test for bug #165650.
Original commit message from CVS:
2005-11-19  Andy Wingo  <wingo@pobox.com>

* check/gst/gstvalue.c (test_string): Add test for bug #165650.

* gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
string should produce an error, given the lack of a way to
represent NULL strings. Fixes #165650.
2005-11-19 17:08:23 +00:00
Andy Wingo
0ae103aff3 gst/gstvalue.h: gst/gstvalue.c (gst_value_array_append_value) (gst_value_array_prepend_value, gst_value_array_get_size)
Original commit message from CVS:
2005-11-19  Andy Wingo  <wingo@pobox.com>

* gst/gstvalue.h:
* gst/gstvalue.c (gst_value_array_append_value)
(gst_value_array_prepend_value, gst_value_array_get_size)
(gst_value_array_get_value): New API, copied from
gst_value_list_*, only operates on arrays.
(gst_value_list_append_value, gst_value_list_prepend_value)
(gst_value_list_concat, gst_value_list_get_size)
(gst_value_list_get_value): Only operate on lists. Fixes #156633.

* gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
init_list, because it works on both.
(copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
(gst_value_copy_list_or_array): Renamed from copy_list.
(gst_value_free_list_or_array): Renamed from free_list.
(gst_value_collect_list_or_array): Renamed from collect_list.
(gst_value_lcopy_list_or_array): Renamed from lcopy_list.
(gst_value_list_or_array_peek_pointer): Renamed from
list_peek_pointer.
(_gst_value_array_value_table, _gst_value_list_value_table):
Update value table functions.
(gst_value_compare_list_or_array): Renamed from compare_list.
2005-11-19 16:46:30 +00:00
Andy Wingo
ff1eca9d57 gsttaglist.h: Whoops, foreach function returns void. Also fix some constness.
Original commit message from CVS:
2005-11-19  Andy Wingo  <wingo@pobox.com>

* gsttaglist.h: Whoops, foreach function returns void. Also fix
some constness.
2005-11-19 16:05:11 +00:00
Andy Wingo
e89aaa7e30 gst/gsttaglist.*: Operates on a const
Original commit message from CVS:
2005-11-19  Andy Wingo  <wingo@pobox.com>

* gst/gsttaglist.c:
* gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
GstTagList*. Fixes #143472.

* gst/gststructure.h: Clarify what the foreach/map functions can
or can't do to their arguments.
2005-11-19 15:51:41 +00:00
Wim Taymans
3eb5b03dfd gst/gstclock.c: Doc and API fixes.
Original commit message from CVS:
* gst/gstclock.c: (gst_clock_set_calibration),
(gst_clock_get_calibration):
Doc and API fixes.
Callibration can be set with internal time equal to current
internal time too.
2005-11-18 19:21:50 +00:00
Thomas Vander Stichele
8e3ad00950 gst/gsterror.*: document
Original commit message from CVS:

* gst/gsterror.c:
* gst/gsterror.h:
document
2005-11-18 18:55:24 +00:00
Stefan Kost
dff771f1b7 gst/: docs fixes
Original commit message from CVS:
* gst/gstcaps.c:
* gst/gstghostpad.c:
* gst/gsttrace.c:
* gst/gstvalue.c:
* gst/gstvalue.h:
docs fixes
2005-11-18 16:04:28 +00:00
Andy Wingo
a1ac7b668a gst/net/gstnetclientclock.c: Turn off debugging.
Original commit message from CVS:
2005-11-18  Andy Wingo  <wingo@pobox.com>

* gst/net/gstnetclientclock.c: Turn off debugging.

* check/net/gstnetclientclock.c (test_functioning): Assert that the
times connverge somewhat. Can't make a real test.
2005-11-18 15:52:24 +00:00
Andy Wingo
fa09daa3d2 gst/net/gstnetclientclock.c (do_linear_regression): Use all integer arithmetic. Return the minimum of the domain, whi...
Original commit message from CVS:
2005-11-18  Andy Wingo  <wingo@pobox.com>

* gst/net/gstnetclientclock.c (do_linear_regression): Use all
integer arithmetic. Return the minimum of the domain, which can be
set as "internal" for gst_clock_set_calibration.
(gst_net_client_clock_observe_times): Call _set_calibration.
(gst_net_client_clock_new): Call _set_calibration instead of
rate_offset.

* check/net/gstnetclientclock.c (test_functioning): Use the right
adjustment api.

* gst/gstclock.h:
* gst/gstclock.c (gst_clock_get_calibration)
(gst_clock_set_calibration): New functions, obsolete the ones I
added yesterday. Doh. Precision issues mean we have to extrapolate
from a point in the more recent past than 1970.
(gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
obsolete.
(gst_clock_adjust_unlocked): Use the right calibration data.
2005-11-18 15:30:18 +00:00
Edward Hervey
d32702193e gst/base/gstbasesink.c: Also reset the ->current_* values in READY->PAUSED
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_change_state):
Also reset the ->current_* values in READY->PAUSED
2005-11-18 14:49:28 +00:00
Andy Wingo
24fc208196 gst/net/gstnetclientclock.c (gst_net_client_clock_thread): Whoops, check the right fd. Also add some debugging.
Original commit message from CVS:
2005-11-18  Andy Wingo  <wingo@pobox.com>

* gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
Whoops, check the right fd. Also add some debugging.
(gst_net_client_clock_observe_times): Adjust for int64 offset.
(do_linear_regression): Add a crapload of debugging. Subtract off
the minimum values from the input series to discard unneeded bits.
Use only int arithmetic. There is still double arithmetic when
calculating the intercept that needs fixing. Return boolean to
indicate success; FALSE would mean the domain or range is too
great. Still needs fixes.
2005-11-18 14:13:28 +00:00
Wim Taymans
d72c6e95ed gst/base/gstbasesink.c: For the current position in stream time, we need to subtract accumulated time.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_get_position):
For the current position in stream time, we need to subtract
accumulated time.

* gst/gstsystemclock.c: (gst_system_clock_async_thread):
Release lock before calling the callback function of async
entries.
2005-11-18 13:18:44 +00:00
Andy Wingo
d8b2273583 gst/net/gstnetclientclock.c (gst_net_client_clock_class_init): Port goes all the way to MAXUINT16.
Original commit message from CVS:
2005-11-18  Andy Wingo  <wingo@pobox.com>

* gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
Port goes all the way to MAXUINT16.

* gst/net/gstnettimeprovider.c: Make the port range the same as
for the kernel: 0 assigns, otherwise ports are less than
MAXUINT16.

* check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
port change.

* check/net/gstnetclientclock.c (test_functioning): Add the start
of another test.
2005-11-18 11:57:30 +00:00
Wim Taymans
02253f5807 gst/gstbin.*: Removing a clock provider from a bin, triggers a clock lost message so that a new clock will be selected.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
(gst_bin_remove_func), (bin_bus_handler):
* gst/gstbin.h:
Removing a clock provider from a bin, triggers a clock lost message
so that a new clock will be selected.
Adding a clock to a bin triggers a clock provider message.
Make sure we reselect a clock when we received a clock lost message.
Keep a reference to the element that provided the clock.
2005-11-18 11:03:10 +00:00
Andy Wingo
9188f69f3c gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust the clock initially so it produces values around the b...
Original commit message from CVS:
2005-11-18  Andy Wingo  <wingo@pobox.com>

* gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
the clock initially so it produces values around the base time.
(gst_net_client_clock_class_init): Typo fix.
(gst_net_client_clock_thread): Add note on when the socket gets
closed.
2005-11-18 10:54:55 +00:00
Wim Taymans
48d140df6f gst/net/gstnetclientclock.c: Free remote and local time arrays.
Original commit message from CVS:
* gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
Free remote and local time arrays.
2005-11-17 18:50:14 +00:00
Wim Taymans
363f1bfd4a gst/net/gstnetclientclock.c: Fix compilation, uninitialized vars and a forgotten continue.
Original commit message from CVS:
* gst/net/gstnetclientclock.c: (do_linear_regression),
(gst_net_client_clock_do_select), (gst_net_client_clock_thread):
Fix compilation, uninitialized vars and a forgotten continue.
2005-11-17 18:18:41 +00:00
Andy Wingo
d56b83f662 check/: Add a most minimal test for the net client clock. More to come later.
Original commit message from CVS:
2005-11-17  Andy Wingo  <wingo@pobox.com>

* check/Makefile.am (check_PROGRAMS):
* check/net/gstnetclientclock.c: Add a most minimal test for the
net client clock. More to come later.

* gst/net/gstnet.h:
* gst/net/Makefile.am: Add netclientclock.

* gst/net/gstnetclientclock.h:
* gst/net/gstnetclientclock.c: New files, implement an untested
GstClock that takes its time from a network time provider.
Implements the algorithm in network-clock.scm.

* tests/network-clock.scm (*window-size*): Rename from
*queue-length*.
* tests/network-clock.scm (network-time):
* tests/network-clock-utils.scm (q-push): Update callers.
2005-11-17 17:55:17 +00:00
Wim Taymans
40e4311d94 gst/gstbin.c: And unref the child too..
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_provide_clock_func),
(gst_bin_sort_iterator_new):
And unref the child too..
2005-11-17 16:02:48 +00:00
Wim Taymans
a1aa83c759 gst/gstbin.c: Refactor the sort iterator so it can be used while holding the
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
(gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
Refactor the sort iterator so it can be used while holding the
LOCK too.
Make clock selection select a clock closest to the source.
2005-11-17 14:51:11 +00:00
Michael Smith
3f80a0d393 gst/gstclock.*: Anonymous structs are a gcc (and some other compilers) extension, so don't use them. Since this is on...
Original commit message from CVS:
* gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
(gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
* gst/gstclock.h:
Anonymous structs are a gcc (and some other compilers) extension, so
don't use them. Since this is only for ABI-compatibility, and our
API/ABI freeze is over in a few days, this whole thing will only
last a few days, so don't bother trying to think up a meaningful
name for the struct.
2005-11-17 12:36:30 +00:00
Andy Wingo
c557e030a9 gst/gstclock.h (GstClock): Add rate and offset properties, preserving ABI stability. Add rate/offset accessors. Will ...
Original commit message from CVS:
2005-11-17  Andy Wingo  <wingo@pobox.com>

* gst/gstclock.h (GstClock): Add rate and offset properties,
preserving ABI stability. Add rate/offset accessors. Will file bug
for the freeze break.

* gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
and offset, trying to keep precision and avoiding
underflow/overflow.
(gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
functions. Make gst_clock_set_time_adjust obsolete.
(gst_clock_set_time_adjust): Note that this function is obsolete.
Will file bug soon.

* gst/base/gstbasetransform.h: Make the ABI-stability hack
greppable by using GST_PADDING-1+1.
2005-11-17 11:51:49 +00:00
Tim-Philipp Müller
3278ca54a7 gst/gstmessage.c: Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
* gst/gstmessage.c: (gst_message_parse_clock_lost):
Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
* gst/gstpadtemplate.h:
* gst/gstpluginfeature.h:
Don't use c++ style comments in headers (#321638).
2005-11-17 09:37:55 +00:00
Andy Wingo
b6db554627 gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free buffer.
Original commit message from CVS:
2005-11-16  Andy Wingo  <wingo@pobox.com>

* gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
buffer.
2005-11-16 18:37:57 +00:00
Andy Wingo
7d720ecb63 fix
Original commit message from CVS:
fix
2005-11-16 17:53:54 +00:00
Andy Wingo
fec8e1db7d gst/net/: Use the timepacket stuff in the provider, include it from gstnet.h, and add it to the build.
Original commit message from CVS:
2005-11-16  Andy Wingo  <wingo@pobox.com>

* gst/net/Makefile.am:
* gst/net/gstnet.h:
* gst/net/gstnettimeprovider.c:
* gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
provider, include it from gstnet.h, and add it to the build.

* gst/net/gstnettimepacket.h:
* gst/net/gstnettimepacket.c: New files, abstracts out the packet
sending and receiving.
2005-11-16 17:52:04 +00:00
Wim Taymans
578f2ae633 check/Makefile.am: Enable valgrind check.
Original commit message from CVS:
* check/Makefile.am:
Enable valgrind check.

* gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
(gst_fake_src_alloc_buffer):
Fix memleak.
2005-11-16 17:35:07 +00:00
Wim Taymans
f2646a0fc9 gst/net/gstnettimeprovider.c: Call parent finalize too.
Original commit message from CVS:
* gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
Call parent finalize too.
2005-11-16 17:22:36 +00:00
Wim Taymans
b9eaa6aebe check/Makefile.am: Enable valgrind check that should work fine now.
Original commit message from CVS:
* check/Makefile.am:
Enable valgrind check that should work fine now.

* gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
* gst/gstqueue.c: (gst_queue_init):
Fix memleaks in pad allocation.
2005-11-16 17:18:34 +00:00
Andy Wingo
4258474de2 gst/net/: New part of core to hold network elements and objects. Put in core because it exposes API that applications...
Original commit message from CVS:
2005-11-16  Andy Wingo  <wingo@pobox.com>

* gst/net/Makefile.am:
* gst/net/gstnet.h: New part of core to hold network elements and
objects. Put in core because it exposes API that applications want
to use. The library is named libgstnet-tempname right now because
of the existing libgstnet in gst-plugins-base. Solution is
probably to rename the one in plugins-base; will file a bug for
the freeze break.

* gst/net/gstnettimeprovider.c:
* gst/net/gstnettimeprovider.h: New object to export a GstClock's
get_time call over the network.

* configure.ac:
* gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.

* check/Makefile.am:
* check/net/gstnettimeprovider.c: A most minimal test suite. Will
get additions shortly.
2005-11-16 16:49:49 +00:00
Thomas Vander Stichele
533a6eacb0 gst/gstpad.*: add gst_pad_new_from_static_template functions
Original commit message from CVS:

* gst/gstpad.c: (gst_pad_new_from_static_template):
* gst/gstpad.h:
add gst_pad_new_from_static_template functions
* gst/check/gstcheck.c: (gst_check_setup_src_pad),
(gst_check_setup_sink_pad):
* gst/elements/gsttee.c: (gst_tee_init):
and use them
2005-11-16 16:09:49 +00:00
Wim Taymans
c96f128c88 gst/gstpad.c: Removed warning, it's not realy an error either.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_pause_task):
Removed warning, it's not realy an error either.
2005-11-16 16:06:06 +00:00
Wim Taymans
514648a970 gst/base/gstbasetransform.c: Check if the caps are NULL, this can happen if the element is shutting down and the pad ...
Original commit message from CVS:
* gst/base/gstbasetransform.c:
(gst_base_transform_prepare_output_buf),
(gst_base_transform_event):
Check if the caps are NULL, this can happen if the element
is shutting down and the pad caps are set to NULL.
2005-11-16 14:27:20 +00:00
Thomas Vander Stichele
ed4d1cee0e fix pad tempalte leak in tee
Original commit message from CVS:
fix pad tempalte leak in tee
2005-11-16 12:57:51 +00:00
Thomas Vander Stichele
d5497ccd53 gst/: use gst_object_ref when setting the pad template; this will trigger the pad template leaks on GLib 2.6 and the ...
Original commit message from CVS:

* gst/glib-compat.c: (g_value_dup_gst_object):
* gst/glib-compat.h:
* gst/gstpad.c: (gst_pad_set_property):
use gst_object_ref when setting the pad template; this will
trigger the pad template leaks on GLib 2.6 and the slaves
2005-11-16 12:40:18 +00:00
Thomas Vander Stichele
403099819f gst/: remove functions copied from GLib 2.6
Original commit message from CVS:

* gst/glib-compat.c: (gst_flags_get_first_value):
* gst/glib-compat.h:
* gst/gstregistryxml.c:
remove functions copied from GLib 2.6
2005-11-16 12:25:22 +00:00
Michael Smith
c7d92fc08e gst/Makefile.am: Don't link against VALGRIND_LIBS. That was always the wrong thing to do, but only breaks with newer ...
Original commit message from CVS:
* gst/Makefile.am:
Don't link against VALGRIND_LIBS. That was always the wrong thing to
do, but only breaks with newer valgrind versions. We're not a
valgrind tool, we have no link-time dependencies on libcoregrind.
2005-11-16 11:29:57 +00:00
Thomas Vander Stichele
f22d0bce47 gst/base/gstbasesrc.c: some debug changes
Original commit message from CVS:

* gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
some debug changes
* gst/gstmessage.h:
typo fixes
2005-11-16 11:06:07 +00:00
Thomas Vander Stichele
74546e0323 Revert all these unrefs, they don't even pass make check !
Original commit message from CVS:
Revert all these unrefs, they don't even pass make check !
2005-11-15 23:53:08 +00:00
Johan Dahlin
8a9bd6aac8 And gst_object_unref here too
Original commit message from CVS:
And gst_object_unref here too
2005-11-15 19:48:40 +00:00
Johan Dahlin
ba68a823c9 gst/: Free pad templates, fixes a couple of leaks.
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_init):
* gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
* gst/gstqueue.c: (gst_queue_init):
Free pad templates, fixes a couple of leaks.
2005-11-15 19:31:05 +00:00
Tim-Philipp Müller
57f0a5b232 gst/gstpad.c: GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
* gst/gstpad.c: (gst_pad_get_property):
GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
(#321452)
2005-11-15 19:24:46 +00:00
Wim Taymans
30bb9cee7e gst/gstevent.c: Small doc update.
Original commit message from CVS:
* gst/gstevent.c:
Small doc update.
2005-11-15 18:34:28 +00:00
Andy Wingo
2124c0fded gst/gstelement.c (gst_element_set_base_time): Add debugging.
Original commit message from CVS:
2005-11-15  Andy Wingo  <wingo@pobox.com>

* gst/gstelement.c (gst_element_set_base_time): Add debugging.

* gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
using GST_CLOCK_TIME_NONE to disable base time management.
(do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
time if it was NONE before.
(gst_pipeline_change_state): Only munge the base time if
stream_time != GST_CLOCK_TIME_NONE.

* check/gst/gstpipeline.c (test_base_time): Punt around the
problem of the probe not being called, because that's not the
issue I'm looking at. Add a check that setting stream_time to NONE
disables base time management.
2005-11-15 17:57:51 +00:00
Wim Taymans
b0233e7b7f gst/base/gstbasesink.c: segment_stop == -1 at startup.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_change_state):
segment_stop == -1 at startup.

* gst/base/gstbasetransform.c: (gst_base_transform_event),
(gst_base_transform_change_state):
Init segment values at start.
2005-11-15 17:18:10 +00:00
Wim Taymans
eb29555a92 gst/base/gstbasesink.c: 0 segment values are 0 in any format.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
0 segment values are 0 in any format.

* gst/base/gstbasetransform.c: (gst_base_transform_event):
* gst/base/gstbasetransform.h:
Parse newsegment correctly in basetransform

* gst/elements/gstidentity.c: (gst_identity_transform_ip):
Sync to clock using updated segment values.
2005-11-15 16:47:07 +00:00
Andy Wingo
7688db602f gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an error if the user selected "no clock" as the clocking me...
Original commit message from CVS:
2005-11-15  Andy Wingo  <wingo@pobox.com>

* gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
error if the user selected "no clock" as the clocking method.
2005-11-15 12:35:45 +00:00
Andy Wingo
58a5b2f5fa check/gst/gstpipeline.c (test_base_time): New test for buffer timestamps with live capture.
Original commit message from CVS:
2005-11-15  Andy Wingo  <wingo@pobox.com>

* check/gst/gstpipeline.c (test_base_time): New test for buffer
timestamps with live capture.

* gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
is 0 but we are a live source, timestamp the buffers using the
element's clock.
2005-11-15 12:29:07 +00:00