Commit graph

4192 commits

Author SHA1 Message Date
Sebastian Dröge
60526f8dd6 gst/gstminiobject.c: Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more friendly to subclasses and not ...
Original commit message from CVS:
* gst/gstminiobject.c:
Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
friendly to subclasses and not require them to know all internals
of their parent class.
2008-02-19 05:49:32 +00:00
Stefan Kost
f09aa1dd08 gst/gstbuffer.c: Copy selected buffer-flags when creating subbuffers.
Original commit message from CVS:
* gst/gstbuffer.c:
Copy selected buffer-flags when creating subbuffers.
Fixes #516395.
2008-02-15 12:33:00 +00:00
Sebastian Dröge
109511b55b Properly chain up finalize functions to the parent class.
Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
* gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
* gst/gstmessage.c: (gst_message_class_init),
(gst_message_finalize):
* gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
* plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
(gst_mmap_buffer_finalize):
Properly chain up finalize functions to the parent class.
2008-02-12 12:04:43 +00:00
Siavash Safi
fdd893cd17 gst/gstindex.*: Add new function with option to dispose of user_data in resolver.
Original commit message from CVS:
Patch by: Siavash Safi <siavash dot safi at gmail dot com>
* gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
(gst_index_set_resolver_full):
* gst/gstindex.h:
Add new function with option to dispose of user_data in resolver.
Actually call the dispose function when finalizing the object and not
just when changing the resolver/filter.
API: GstIndex::gst_index_set_resolver_full()
* docs/gst/gstreamer-sections.txt:
Add new function to docs. Fixes #515469.
2008-02-11 17:53:57 +00:00
Sebastian Dröge
0a5db2e479 gst/gstindex.c: Chain up finalize to the parent class. Fixes leaking the GstObject name and other things.
Original commit message from CVS:
* gst/gstindex.c: (gst_index_finalize):
Chain up finalize to the parent class. Fixes leaking the GstObject
name and other things.
2008-02-11 08:53:04 +00:00
Stefan Kost
502337a510 gst/gstconfig.h.in: Add 'id' for example.
Original commit message from CVS:
* gst/gstconfig.h.in:
Add 'id' for example.
* gst/gstpad.c:
* gst/gstutils.c:
* plugins/elements/gstfdsink.c:
Link to signals. Doc and comment fixes.
2008-02-06 12:21:05 +00:00
Tim-Philipp Müller
168e31f2e0 gst/: Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is unused and unimplemented; finally, it is plugi...
Original commit message from CVS:
* gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
* gst/gstpluginfeature.h: (GstPluginFeatureClass):
Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
unused and unimplemented; finally, it is plugin features, not
plugins, that have ranks.
2008-02-05 21:22:47 +00:00
Stefan Kost
3b88553fe6 gst/gstpluginfeature.h: Clarify GstRank range docs.
Original commit message from CVS:
* gst/gstpluginfeature.h:
Clarify GstRank range docs.
2008-02-05 19:42:31 +00:00
David Schleef
664bb4cfd1 gst/gst.c: Add a separate gst_deinitialized that prevents gst_init() from being called after gst_deinit(). Fixes #50...
Original commit message from CVS:
* gst/gst.c: Add a separate gst_deinitialized that prevents
gst_init() from being called after gst_deinit().  Fixes #509559
2008-02-05 18:37:08 +00:00
Sebastian Dröge
2faa733276 Revert previous changes to the behaviour of GstPadTemplates, etc and the possiblity to call them in class_init as it ...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
(gst_bin_class_init):
* gst/gstelement.c: (gst_element_base_class_init),
(gst_element_class_add_pad_template):
* gst/gstpadtemplate.c: (gst_pad_template_init):
* gst/gstpipeline.c: (gst_pipeline_get_type),
(gst_pipeline_base_init), (gst_pipeline_class_init):
* libs/gst/base/gstbasesink.c:
* libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
(gst_base_src_base_init), (gst_base_src_class_init):
* plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
(gst_capsfilter_class_init):
* plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
(gst_fake_sink_class_init):
* plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
(gst_fake_src_class_init):
* plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
(gst_fd_sink_class_init):
* plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
(gst_fd_src_class_init):
* plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
(gst_file_sink_class_init):
* plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
(gst_file_src_class_init):
* plugins/elements/gstidentity.c: (gst_identity_base_init),
(gst_identity_class_init):
* plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
(gst_multi_queue_class_init):
* plugins/elements/gstqueue.c: (gst_queue_base_init),
(gst_queue_class_init):
* plugins/elements/gsttee.c: (gst_tee_base_init),
(gst_tee_class_init):
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_base_init),
(gst_type_find_element_class_init):
* tests/check/gst/gstelement.c: (gst_element_suite):
Revert previous changes to the behaviour of GstPadTemplates, etc
and the possiblity to call them in class_init as it breaks too
many elements. Reopens bug #491501.
Should be applied again for 0.11, thus added a few FIXME 0.11 at
several places.
2008-02-05 14:15:15 +00:00
Thijs Vermeir
bb3dfba3f5 Be sure that we have a new copy of the caps and not reffed caps from a template
Original commit message from CVS:
* gst/gstpad.c:
* tests/check/gst/gstpad.c:
Be sure that we have a new copy of the caps and not
reffed caps from a template
2008-02-04 14:14:42 +00:00
Sebastian Dröge
9db28f8537 Don't use base_init where not absolutely necessary. For example it's not necessary anymore for adding pad templates o...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
* gst/gstpipeline.c: (gst_pipeline_get_type),
(gst_pipeline_class_init):
* libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
(gst_base_sink_class_init):
* libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
(gst_base_src_class_init):
* libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
(gst_base_transform_class_init):
* libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
(gst_collect_pads_class_init):
* libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
* libs/gst/net/gstnettimeprovider.c:
(gst_net_time_provider_base_init),
(gst_net_time_provider_class_init):
* plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
(gst_capsfilter_class_init):
* plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
(gst_fake_sink_class_init):
* plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
(gst_fake_src_class_init):
* plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
(gst_fd_sink_class_init):
* plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
(gst_fd_src_class_init):
* plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
(gst_file_sink_class_init):
* plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
(gst_file_src_class_init):
* plugins/elements/gstidentity.c: (gst_identity_base_init),
(gst_identity_class_init):
* plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
(gst_multi_queue_class_init):
* plugins/elements/gstqueue.c: (gst_queue_base_init),
(gst_queue_class_init):
* plugins/elements/gsttee.c: (gst_tee_base_init),
(gst_tee_class_init):
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_base_init),
(gst_type_find_element_class_init):
Don't use base_init where not absolutely necessary. For example it's
not necessary anymore for adding pad templates or setting element
details.
Leave empty base_init functions in several places as GST_BOILERPLATE
still defines and uses them.
2008-02-03 12:04:37 +00:00
Sebastian Dröge
86e45df860 gst/: Make it possible (and recommended) to set element details and add pad templates in the class_init functions by ...
Original commit message from CVS:
* gst/gstelement.c: (gst_element_base_class_init),
(gst_element_class_add_pad_template):
* gst/gstpadtemplate.c:
Make it possible (and recommended) to set element details and add
pad templates in the class_init functions by copying the details/pad
templates in GstElement's base_init.
Also make it possible to replace existing pad templates by adding
a new one with the same name. This was done in a hackish fashion
in same elements before already.
Don't reference pad templates that are added a second time. A
new pad template has a refcount of one and is not floating anymore
and to be owned by the element's class. Make this more explicit by
mentioning it in the docs of gst_element_class_add_pad_template().
These changes are backwards compatible. Fixes bug #491501.
* tests/check/gst/gstelement.c:
Add unit test for setting element details, adding pad templates and
replacing them in a subclass.
2008-02-03 10:48:01 +00:00
Julien Moutte
056d393725 docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
Original commit message from CVS:
2008-02-01  Julien Moutte  <julien@fluendo.com>

* docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the
docs
* gst/gstindex.c: (gst_index_class_init),
(gst_index_free_writer),
(gst_index_finalize), (gst_index_entry_free),
(gst_index_add_association): Fix memory leaks.
* gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
* plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
(gst_mem_index_free_format), (gst_mem_index_free_id),
(gst_mem_index_finalize): Fix memory leaks.
* win32/common/config.h: Updated to CVS HEAD.
2008-02-01 16:37:22 +00:00
Stefan Kost
a9b5a4d56c gst/parse/: Add delayed set-property. This allows to set properties on dynamicaly created objects (pads in videomxer).
Original commit message from CVS:
* gst/parse/grammar.tab.pre.c:
* gst/parse/grammar.tab.pre.h:
* gst/parse/grammar.y:
* gst/parse/lex._gst_parse_yy.pre.c:
Add delayed set-property. This allows to set properties on dynamicaly
created objects (pads in videomxer).
2008-02-01 12:10:17 +00:00
Thijs Vermeir
c595a566d9 gst/gstutils.c: Check if caps are not NULL (fix bug #510194)
Original commit message from CVS:
* gst/gstutils.c:
Check if caps are not NULL (fix bug #510194)
2008-02-01 11:27:32 +00:00
Wim Taymans
6f0a59aa13 gst/gstminiobject.c: When replacing a miniobject, do a quick equality check first so that we can avoid a ref/unref pair.
Original commit message from CVS:
* gst/gstminiobject.c: (gst_mini_object_replace):
When replacing a miniobject, do a quick equality check first so that we
can avoid a ref/unref pair.
2008-02-01 10:23:56 +00:00
Jan Schmidt
410af4fe50 gst/gstutils.c: Check if caps are not NULL (fix bug #510194)
Original commit message from CVS:
* gst/gstutils.c:
Check if caps are not NULL (fix bug #510194)
2008-01-30 13:12:24 +00:00
Thijs Vermeir
127256b59a gst/gstutils.c: Check if caps are not NULL (fix bug #510194)
Original commit message from CVS:
* gst/gstutils.c:
Check if caps are not NULL (fix bug #510194)
2008-01-30 12:55:42 +00:00
Cygwin Ports maintainer
d0bc121de5 gst/gstutils.c: Fix compilation on systems that have posix timers but no monotonic clock.
Original commit message from CVS:
* gst/gstutils.c:
Fix compilation on systems that have posix timers but no
monotonic clock.
Fixes: #512715
Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
dot net>
2008-01-30 12:44:13 +00:00
Tim-Philipp Müller
22cf61b56e gst/gstplugin.c: Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC again, which I broke two commits ago when ...
Original commit message from CVS:
* gst/gstplugin.c: (_gst_plugin_initialize):
Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
again, which I broke two commits ago when changing the API
of gst_plugin_register_static(): the g_list_foreach() in
_gst_plugin_register_static still assumed the old function
signature and would therefore fail (re-fixes #510187).
* gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
(_gst_plugin_register_static), (gst_plugin_register_static):
Revert the (technically correct) change to call g_thread_init() from
the pre-main() constructor. This will break programs which call
g_thread_init() without an if (!g_thread_supported()) guard in their
main function. We could just blame it on GLib or the application, but
it's probably best to just avoid this altogether and simply not use
any GLib functions here and use plain old malloc() with a simple
array to store the plugins to register later when gst_init() is
finally called (re-fixes #510187).
* tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
(GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
(plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
(GST_START_TEST), (gst_plugin_suite):
Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
works.
2008-01-20 15:04:33 +00:00
Tim-Philipp Müller
f1850d1fee gst/gstplugin.h: Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
Original commit message from CVS:
* gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
This makes gtk-doc complain, but results in slightly better
compiler errors. The old _gst_plugin_register_static() is
still guarded, so there'll be a compiler warning about that
instead. Fixes #510187 too.
2008-01-17 22:22:58 +00:00
Tim-Philipp Müller
33cd142292 gst/: Change API of gst_plugin_register_static() to not take a GstPluginDesc, but rather just take all the arguments ...
Original commit message from CVS:
* gst/gst.c: (init_post):
* gst/gstplugin.c: (_gst_plugin_register_static),
(gst_plugin_register_static), (_gst_plugin_initialize):
* gst/gstplugin.h: (GstPluginFilter):
Change API of gst_plugin_register_static() to not take
a GstPluginDesc, but rather just take all the arguments
in a GstPluginDesc directly. This is more intuitive and
avoids certain mistakes when porting code from
GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
Fixes #510187.
* tests/check/gst/gstplugin.c:
Fix up for changed API.
2008-01-17 22:17:15 +00:00
Stefan Kost
ed2d23a5c5 gst/gstminiobject.c: Spelling fixes for the API docs.
Original commit message from CVS:
* gst/gstminiobject.c:
Spelling fixes for the API docs.
2008-01-14 13:18:37 +00:00
Jan Schmidt
f2c36159ef gst/gst.c: _gst_trace_on is already provided by gsttrace.h, no need to declare it ourselves.
Original commit message from CVS:
* gst/gst.c:
_gst_trace_on is already provided by gsttrace.h, no need to declare
it ourselves.
* docs/libs/gstreamer-libs-sections.txt:
Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
and remove strange tcase_add_test which is outputting a warning.
* libs/gst/check/gstcheck.c:
* libs/gst/check/gstcheck.h:
Properly declare 'buffers', 'check_cond', 'check_mutex' extern
and define them in gstcheck.c instead of having every .c file whcih
includes gstcheck.h be defining its own copy and relying on symbol
interposing to marry them all, which doesn't work on Solaris.
* tests/check/elements/identity.c: (GST_START_TEST):
Don't define 'buffers' locally, it comes from libgstcheck.
* tests/check/generic/sinks.c: (send_buffer):
Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
* tests/check/gst/gststructure.c: (GST_START_TEST):
* tests/check/gst/gstsystemclock.c: (GST_START_TEST):
* tests/check/gst/gstutils.c: (GST_START_TEST):
* tests/check/gst/gstvalue.c: (GST_START_TEST):
Add a bunch of casts to make various constants fit the types
they're being assigned to.
2008-01-12 20:22:30 +00:00
Stefan Kost
2016723b87 gst/gstchildproxy.c: Improve docs and add some ideas for making this more general-purpose.
Original commit message from CVS:
* gst/gstchildproxy.c:
Improve docs and add some ideas for making this more general-purpose.
2008-01-10 21:06:58 +00:00
Tim-Philipp Müller
e1e8bace45 gst/gst_private.h: Add GST_CAT_TYPES, for consistency, and so that the other debug categories don't make fun of it. S...
Original commit message from CVS:
* gst/gst_private.h: (GST_CAT_TYPES):
Add GST_CAT_TYPES, for consistency, and so that the other
debug categories don't make fun of it. Spotted by Saur on IRC.
2008-01-10 15:55:32 +00:00
Sebastian Dröge
3749018bf6 gst/parse/Makefile.am: Move types.h from EXTRA_DIST to noinst_HEADERS.
Original commit message from CVS:
* gst/parse/Makefile.am:
Move types.h from EXTRA_DIST to noinst_HEADERS.
2008-01-10 13:03:35 +00:00
Tim-Philipp Müller
4a3f163052 API: add gst_plugin_register_static() and deprecate
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gst.c: (init_post):
* gst/gstplugin.c: (_gst_plugin_register_static),
(gst_plugin_register_static), (_gst_plugin_initialize),
(gst_plugin_register_func):
* gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
API: add gst_plugin_register_static() and deprecate
GST_PLUGIN_DEFINE_STATIC, since it's not portable
(#498924).
Also, in _gst_plugin_register_static(), make sure to call
g_thread_init() before calling GLib functions such as
g_list_append() if we're not initialised yet, since that
may lead to random crashes with older GSlice/GLib versions.
* tests/check/gst/gstplugin.c:
Adapt unit test to above changes.
2008-01-09 18:23:39 +00:00
Tim-Philipp Müller
d5d69b9475 gst/: Yet another gratuitous GString micro-optimisation: add a (private) function that serialises a structure appendi...
Original commit message from CVS:
* gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
* gst/gstcaps.c: (gst_caps_to_string):
* gst/gststructure.c: (GST_ASCII_IS_STRING),
(priv_gst_structure_append_to_gstring), (gst_structure_to_string):
Yet another gratuitous GString micro-optimisation: add a (private)
function that serialises a structure appending to an existing
GString, so that when we serialise caps we don't need to alloc+free
a throwaway GString for each structure (each of which also entailing
multiple reallocs on the way); also use g_string_sized_new() in
various places with an approximate string length to avoid reallocs
within GString. See #500143.
2008-01-09 16:36:34 +00:00
Tim-Philipp Müller
73808617cf gst/gststructure.c: Always check UTF-8 conformance of structure strings and not only if the debugging system is enabl...
Original commit message from CVS:
* gst/gststructure.c: (gst_structure_id_set_value):
Always check UTF-8 conformance of structure strings and not only
if the debugging system is enabled; reasoning: the behaviour of
the actual code shouldn't really change depending on whether the
debugging system is enabled or not (#508291).
2008-01-09 15:05:21 +00:00
Peter Kjellerstedt
b85b7ff0cf gst/gstclock.h: Cast the results from the timeval/spec_to_time macros to what the docs say it casts to, a GstClockTim...
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj axis com>
* gst/gstclock.h:
Cast the results from the timeval/spec_to_time macros to what the
docs say it casts to, a GstClockTime. fixes #508175.
2008-01-09 12:22:22 +00:00
Wim Taymans
c7d40b0a25 gst/gstbuffer.c: Update some comments.
Original commit message from CVS:
* gst/gstbuffer.c:
Update some comments.
* tools/gst-inspect.c: (print_element_properties_info):
Improve printing of flags.
2008-01-09 12:19:31 +00:00
Tim-Philipp Müller
2e628be2c2 gst/gstdebugutils.c: Log the reason why fopen fails in addition to the fact that it failed.
Original commit message from CVS:
* gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
Log the reason why fopen fails in addition to the fact that it failed.
2008-01-05 13:45:22 +00:00
Sebastian Dröge
e2c1a6f7e9 gst/parse/parse.l: Use "%option never-interactive" to prevent useless calls to isatty() on every input when parsing. ...
Original commit message from CVS:
* gst/parse/parse.l:
Use "%option never-interactive" to prevent useless calls to isatty()
on every input when parsing. Also use "%option noinput" to not define
the static input/yyinput functions which we don't use anyway. This
removes a compiler warning with gcc 4.3 and saves some bytes in the
library.
* gst/parse/lex._gst_parse_yy.pre.c:
Regenerated for the above change.
2008-01-04 18:44:03 +00:00
Wim Taymans
8951071467 gst/gstpad.c: Don't crash when trying to fixate and empty list.
Original commit message from CVS:
* gst/gstpad.c: (fixate_value):
Don't crash when trying to fixate and empty list.
Fixes #506643.
2008-01-04 18:39:15 +00:00
Thijs Vermeir
7e8415cdf1 gst/gstdebugutils.c: add warning when failed to open file for writing
Original commit message from CVS:
* gst/gstdebugutils.c:
add warning when failed to open file for writing
2007-12-30 12:22:49 +00:00
Laurent Glayal
c2683ff751 gst/gstvalue.c: Optimisation: bail out of the loop as early as possible (#500143).
Original commit message from CVS:
Based on patch by: Laurent Glayal  <spglegle yahoo fr>
* gst/gstvalue.c: (gst_value_is_fixed):
Optimisation: bail out of the loop as early as possible (#500143).
2007-12-28 14:34:34 +00:00
Tim-Philipp Müller
5cb869bfdf gst/: Bunch of gratuitous nano-optimisations.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_to_string):
* gst/gstinfo.c: (gst_debug_construct_term_color):
* gst/gstparse.c: (gst_parse_launchv):
* gst/gstutils.c: (gst_util_dump_mem):
* gst/gstvalue.c: (gst_value_serialize_any_list),
(gst_value_transform_any_list_string):
Bunch of gratuitous nano-optimisations.
2007-12-28 14:15:53 +00:00
Wim Taymans
20b951efc1 gst/gstsystemclock.c: Add some more docs to explain why a FIXME was wrongly added.
Original commit message from CVS:
* gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
Add some more docs to explain why a FIXME was wrongly added.
2007-12-24 14:35:24 +00:00
Sebastian Dröge
43377772a6 gst/gstobject.c: Fix typo in the gst_object_{ref,unref} documentation.
Original commit message from CVS:
* gst/gstobject.c:
Fix typo in the gst_object_{ref,unref} documentation.
2007-12-22 12:48:26 +00:00
Tim-Philipp Müller
94029e9d71 gst/gsttypefind.c: Make gst_type_find_register work for static typefind functions, ie. allow passing plugin == NULL (...
Original commit message from CVS:
* gst/gsttypefind.c: (gst_type_find_register):
Make gst_type_find_register work for static typefind functions,
ie. allow passing plugin == NULL (prerequisite for #498924).
* gst/gstelementfactory.c: (gst_element_register):
Small docs addition.
2007-12-21 20:58:23 +00:00
Wim Taymans
96d28a501f gst/gstpad.c: Really unlink the peer pad instead of setting the peer pointer to NULL when we dispose the pad.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_dispose):
Really unlink the peer pad instead of setting the peer pointer to NULL
when we dispose the pad.
This correctly calls the unlink functions and makes sure that the peer
does not have a handle to invalid memory. See #504671.
* tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
Add testsuite for above case.
2007-12-21 13:54:07 +00:00
Wim Taymans
a332964e6c docs/design/part-synchronisation.txt: Small updates.
Original commit message from CVS:
* docs/design/part-synchronisation.txt:
Small updates.
* gst/gstsegment.c: (gst_segment_set_seek),
(gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
(gst_segment_to_running_time):
The seek format can be different from the segment format when the start
and stop values are not to be updated, when we only do a rate change for
example.
* tests/check/gst/gstsegment.c: (GST_START_TEST),
(gst_segment_suite):
Add a testcase for the rate-only seeks, checking that the format is
correctly ignored when start and stop are not updated.
2007-12-19 12:48:18 +00:00
Tim-Philipp Müller
083a6e7490 gst/gsttaglist.c: Small docs addition: mention that the strings returned by gst_tag_list_get_string*() are in UTF-8 e...
Original commit message from CVS:
* gst/gsttaglist.c:
Small docs addition: mention that the strings returned by
gst_tag_list_get_string*() are in UTF-8 encoding.
2007-12-18 12:03:18 +00:00
Tim-Philipp Müller
af471ed6cd gst/gstregistrybinary.c: Use g_remove() and g_rename(). Check result of g_rename(), and don't leak the open file desc...
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
Use g_remove() and g_rename(). Check result of g_rename(), and
don't leak the open file descriptor if we error out when writing.
* gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
Must check the return value of close() after writing out the new
registry file.  Sometimes write problems such as out-of-diskspace
are only reported when the file is closed and not already during
the write.  This may have caused partial/broken registry files in
some rare circumstances. Should fix #503675.
2007-12-16 18:29:25 +00:00
Tim-Philipp Müller
988e0b2da8 gst/gstutils.c: Fix possible compiler warning (#503417).
Original commit message from CVS:
* gst/gstutils.c: (element_find_unconnected_pad):
Fix possible compiler warning (#503417).
2007-12-13 13:59:04 +00:00
Tim-Philipp Müller
bc8b9fdbb4 gst/gstobject.c: Don't use GST_CAT_EVENT here for logging, it makes no sense.
Original commit message from CVS:
* gst/gstobject.c: (gst_object_dispatch_properties_changed):
Don't use GST_CAT_EVENT here for logging, it makes no sense.
2007-12-13 11:41:05 +00:00
Tim-Philipp Müller
0ef9a5f5b1 Makefile.am: Add check-exports target and run it as part of 'make check' (see #499140 and #493983).
Original commit message from CVS:
* Makefile.am:
Add check-exports target and run it as part of 'make check'
(see #499140 and #493983).
* gst/gst_private.h:
* gst/gstelementfactory.h:
* gst/gstghostpad.c: (gst_proxy_pad_class_init):
* gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
(_priv_gst_in_valgrind):
* gst/gstinfo.h: (GstLogFunction):
* gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
(gst_type_find_register):
* gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
(gst_type_find_factory_get_type):
* libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
(GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
(gst_controller_new_valist), (gst_controller_new_list),
(_gst_controller_dispose), (_gst_controller_class_init):
* libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
* libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
(GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
(gst_object_get_controller), (gst_object_set_controller),
(gst_object_suggest_next_sync), (gst_object_sync_values),
(gst_object_set_control_source), (gst_object_get_control_source),
(gst_object_get_value_arrays), (gst_object_get_value_array),
(gst_object_get_control_rate), (gst_object_set_control_rate):
* libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
* libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
Make some functions that should be static static; rename some
private symbols so that they don't get exported; add some FIXME
comments so we can move accidentally exported functions into
our private section in 0.11.
* win32/common/libgstreamer.def:
Add gst_utils_get_timestamp().
2007-12-12 23:20:00 +00:00
Stefan Kost
4fffa41e1c gst/gstvalue.*: Add more missing "Since:" tags to docs.
Original commit message from CVS:
* gst/gstvalue.c:
* gst/gstvalue.h:
Add more missing "Since:" tags to docs.
2007-12-12 14:04:14 +00:00
Stefan Kost
12f0269d48 gst/gstutils.c: Add mising "Since:" to docs.
Original commit message from CVS:
* gst/gstutils.c:
Add mising "Since:" to docs.
2007-12-12 06:58:56 +00:00
Stefan Kost
74d2ba2fd5 gst/gstplugin.c: Include "glib-compat-private.h" to fix the build on system with glib < 2.10. Fixes #503131.
Original commit message from CVS:
* gst/gstplugin.c:
Include "glib-compat-private.h" to fix the build on system with
glib < 2.10. Fixes #503131.
2007-12-11 22:03:58 +00:00
Stefan Kost
321db79821 gst/gstutils.*: Actually its not PURE as it gets the time from elsewhere.
Original commit message from CVS:
* gst/gstutils.c:
* gst/gstutils.h:
Actually its not PURE as it gets the time from elsewhere.
2007-12-11 20:32:29 +00:00
Stefan Kost
428a4e9669 Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all uses as we don't have HAVE_POSIX_TIMERS in publi...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstclock.h:
* gst/gstdebugutils.c:
* gst/gstinfo.c:
* gst/gstutils.c:
* gst/gstutils.h:
* libs/gst/base/gstbasesink.c:
* tools/gst-launch.c:
Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
uses as we don't have HAVE_POSIX_TIMERS in public headers.
Thanks Tim for spotting.
2007-12-11 20:23:58 +00:00
Tim-Philipp Müller
cf86e1a0a0 gst/gststructure.c: Don't crash in _from_string() if the structure name is not valid (fixes #501560). Allow structur...
Original commit message from CVS:
* gst/gststructure.c: (gst_structure_validate_name),
(gst_structure_new_valist), (gst_structure_parse_value),
(gst_structure_from_string):
Don't crash in _from_string() if the structure name is not valid
(fixes #501560).  Allow structure names to start with a number
again (this apparently broke the ubuntu codec installer).
* tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
(GST_START_TEST):
Add unit test for the crash; update unit tests for new behaviour.
2007-12-08 12:54:53 +00:00
Wim Taymans
da899be6d5 gst/gstutils.c: Clarify gst_element_get_compatible_pad() documentation.
Original commit message from CVS:
* gst/gstutils.c:
Clarify gst_element_get_compatible_pad() documentation.
Fixes #500919.
2007-12-03 11:04:09 +00:00
Stefan Kost
c437e3b4e2 gst/: Fix wrong order of args in GST_CLOCK_DIFF() usage.
Original commit message from CVS:
* gst/gstdebugutils.c:
* gst/gstinfo.c:
Fix wrong order of args in GST_CLOCK_DIFF() usage.
* tools/gst-launch.c:
Use new API to get elapsed time.
2007-11-28 12:52:42 +00:00
Stefan Kost
ddb7cc2763 Rename new API + ChangeLog surgery to remove old name from last entry..
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstclock.h:
* gst/gstdebugutils.c:
* gst/gstinfo.c:
Rename new API + ChangeLog surgery to remove old name from last entry..
API: GST_GET_TIMESTAMP
2007-11-28 12:35:14 +00:00
Stefan Kost
fbf7086287 Now hide the different clock stuff behind a macro.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstclock.h:
* gst/gstdebugutils.c:
* gst/gstinfo.c:
Now hide the different clock stuff behind a macro.
API: GST_GET_CURRENT_TIME
2007-11-28 12:11:59 +00:00
Stefan Kost
ec080cd61b Apply the posix-timer check from #361155. Conditionally use the posix timer for logging. This gives better timestamp ...
Original commit message from CVS:
* configure.ac:
* gst/gstdebugutils.c:
* gst/gstinfo.c:
Apply the posix-timer check from #361155. Conditionally use the posix
timer for logging. This gives better timestamp precission, less
overhead and no ntp jitter.
2007-11-28 11:39:35 +00:00
Sebastian Dröge
d8f8df9c49 gst/gstminiobject.c: Some cleanup and checking against invalid function parameters.
Original commit message from CVS:
* gst/gstminiobject.c: (gst_mini_object_get_type),
(gst_mini_object_class_init), (gst_mini_object_copy_default),
(gst_mini_object_finalize), (gst_mini_object_copy),
(gst_mini_object_is_writable), (gst_mini_object_make_writable),
(gst_mini_object_replace), (param_mini_object_validate),
(gst_param_spec_mini_object_get_type):
Some cleanup and checking against invalid function parameters.
2007-11-28 11:11:58 +00:00
Wim Taymans
0e0caaf16a Start merging in the easy bits of #361155, the monotonic clock patch.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstclock.h:
* tests/check/gst/gstsystemclock.c: (GST_START_TEST),
(gst_systemclock_suite):
Start merging in the easy bits of #361155, the monotonic clock patch.
This one adds a few handy macros with docs and a testsuite.
2007-11-28 10:58:39 +00:00
Stefan Kost
bb523ea0a3 Due to popular request remove preset interface again. :-(.
Original commit message from CVS:
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* docs/gst/gstreamer.types.in:
* gst/Makefile.am:
* gst/gst.h:
* gst/gstpreset.c:
* gst/gstpreset.h:
* plugins/elements/gstqueue.c:
Due to popular request remove preset interface again. :-(.
2007-11-26 13:16:00 +00:00
Stefan Kost
99897dbf24 docs/random/ensonic/profiling.txt: More ideas.
Original commit message from CVS:
* docs/random/ensonic/profiling.txt:
More ideas.
* gst/gstbin.c:
Fix typo and give better log output.
* gst/gstdebugutils.c:
* gst/gstdebugutils.h:
More ideas, make graphs a bit smaller and fix param name in macro.
2007-11-22 15:59:01 +00:00
Stefan Kost
00d5a68057 gst/gstpreset.c: Try harder to use the return value from fgets().
Original commit message from CVS:
* gst/gstpreset.c:
Try harder to use the return value from fgets().
2007-11-22 13:56:24 +00:00
Stefan Kost
3b14dfdc66 gst/gstpreset.c: For theses two fgets we handle the error below.
Original commit message from CVS:
* gst/gstpreset.c:
For theses two fgets we handle the error below.
2007-11-21 16:08:25 +00:00
Stefan Kost
63472aba50 gst/gstpreset.c: Plug a leak and fix saving.
Original commit message from CVS:
* gst/gstpreset.c:
Plug a leak and fix saving.
2007-11-20 16:34:38 +00:00
Stefan Kost
51d83b8dfb gst/gstpreset.*: Change _get_preset_names API to return a strv with copies. Add _get_property_names to allow implemen...
Original commit message from CVS:
* gst/gstpreset.c:
* gst/gstpreset.h:
Change _get_preset_names API to return a strv with copies. Add
_get_property_names to allow implementations to filter and provide
good default implementation.
2007-11-20 15:46:39 +00:00
Stefan Kost
c28a87b888 gst/gstpreset.c: More cleanups, docs, and TODOs from comments that now slowly come in.
Original commit message from CVS:
* gst/gstpreset.c:
More cleanups, docs, and TODOs from comments that now slowly come in.
2007-11-19 15:23:44 +00:00
Stefan Kost
ec2279936a gst/gstpreset.c: Fix bogus warning and make the property type specific code more similar.
Original commit message from CVS:
* gst/gstpreset.c:
Fix bogus warning and make the property type specific code more
similar.
2007-11-19 11:54:13 +00:00
Julien Moutte
2bcfd33b8a gst/gstpreset.c: Make it build on OS X.
Original commit message from CVS:
2007-11-19  Julien MOUTTE  <julien@moutte.net>

* gst/gstpreset.c: (gst_preset_default_create_preset): Make
it build on OS X.
2007-11-19 09:33:05 +00:00
Wim Taymans
f806905e67 gst/gstbin.c: Change email, cleanups add some more debug and comments.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
(gst_bin_add_func), (gst_bin_remove_func),
(gst_bin_change_state_func), (gst_bin_continue_func):
Change email, cleanups add some more debug and comments.
Also set bus and clock on new elements when the pipeline was in error.
2007-11-19 08:50:04 +00:00
Stefan Kost
f3d71f7ef5 gst/: Fix build with --disable-gst-debug. Fixes #497859.
Original commit message from CVS:
* gst/gstbin.c:
* gst/gstdebugutils.c:
Fix build with --disable-gst-debug. Fixes #497859.
Spotted by Sameer Naik.
2007-11-18 19:30:10 +00:00
Stefan Kost
d8e77f9bf8 gst/gstevent.c: Little documentation improvment.
Original commit message from CVS:
* gst/gstevent.c:
Little documentation improvment.
* gst/gstpreset.c:
More TODO cleanups. Remove c++ comments.
* libs/gst/controller/gstcontroller.c:
Add TODO and use quark from static string.
* tests/check/gst/gstmessage.c:
* tests/check/gst/gststructure.c:
Use quark from static string.
2007-11-17 17:50:21 +00:00
Stefan Kost
3aca801f4d gst/gstpreset.c: Add some comments and TODOs.
Original commit message from CVS:
* gst/gstpreset.c:
Add some comments and TODOs.
* gst/gstpreset.h:
Add padding for future changes.
* plugins/elements/gstqueue.c:
Implement the iface.
2007-11-17 17:24:53 +00:00
Stefan Kost
819c9f4e2a Add the preset interface (Fixes #396779). Do some doc cleanups along.
Original commit message from CVS:
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* docs/gst/gstreamer.types.in:
* gst/Makefile.am:
* gst/gst.h:
* gst/gstpreset.c:
* gst/gstpreset.h:
Add the preset interface (Fixes #396779). Do some doc cleanups along.
2007-11-17 16:43:12 +00:00
Wim Taymans
c28238d8fe gst/gstsegment.c: Also accumulate time correctly when doing reverse playback. Fixes #488201,
Original commit message from CVS:
* gst/gstsegment.c: (gst_segment_set_newsegment_full),
(gst_segment_to_stream_time), (gst_segment_to_running_time):
Also accumulate time correctly when doing reverse playback. Fixes
#488201,
When converting to running and stream time, use default values for
start/stop/time/accum when comparing different formats. Fixes #494245.
* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
Do running/stream time in TIME format.
* tests/check/gst/gstsegment.c: (GST_START_TEST),
(gst_segment_suite):
2 new unit tests for segment accumulation.
2007-11-09 11:56:41 +00:00
Tim-Philipp Müller
def6b4bb66 gst/: Move getenv() back into gst_init, so everyone can live happily ever after. Make sure the symbol isn't exported ...
Original commit message from CVS:
* gst/gst.c: (init_pre):
* gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
(_gst_debug_bin_to_dot_file):
Move getenv() back into gst_init, so everyone can live happily
ever after. Make sure the symbol isn't exported though.
2007-11-07 15:53:52 +00:00
Tim-Philipp Müller
efaea50c48 gst/gst.c: Make _gst_disable_segtrap static, it's only used in gstplugin.c and we can use gst_segtrap_is_enabled() t...
Original commit message from CVS:
* gst/gst.c: (_gst_disable_segtrap):
Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
we can use gst_segtrap_is_enabled() there now that we have that API.
Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
to do the getenv here (and export the variable).
* gst/gstdebugutils.c: (debug_dump_element),
(_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
Don't use VLAs which is a C99ism and throws off MSVC (#493983).
* gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
(gst_debug_log_default):
Rename _gst_info_start_time to priv_gst_info_start_time so it
doesn't get exported (was never in any header).
* gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
(gst_plugin_loading_mutex):
Make static mutex gst_plugin_loading_mutex really static (was never
in any header), and use gst_segtrap_is_enabled() instead of
_gst_disable_segtrap.
* gst/gsttrace.c: (_gst_trace_default):
Make local _gst_trace_default static (was never in any header).
2007-11-06 15:10:36 +00:00
Wim Taymans
d5432c2bff gst/gstelement.c: Only change the state cookie if a different state was set on the element. See #492729.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_set_state_func):
Only change the state cookie if a different state was set on the
element. See #492729.
2007-11-06 12:28:17 +00:00
Tim-Philipp Müller
eac0501386 gst/gstvalue.c: Remove unused and uninitialised type variables that were still exported for some reason (they were ne...
Original commit message from CVS:
* gst/gstvalue.c:
Remove unused and uninitialised type variables that were still
exported for some reason (they were never in any header files
though).
2007-11-06 11:41:32 +00:00
Murray Cumming
565d3bd2af gst/gstobject.c: Corrected the registration of the parent-set and parent-unset signals: The parameter is a GstObject,...
Original commit message from CVS:
Patch by: Murray Cumming  <murrayc@murrayc.com>
* gst/gstobject.c:
Corrected the registration of the parent-set and parent-unset
signals: The parameter is a GstObject, not a GObject.
2007-11-04 10:13:33 +00:00
Tim-Philipp Müller
4e121ae147 gst/: Move declaration of private _gst_foo_initialize() functions into our private header file where they should have...
Original commit message from CVS:
* gst/gst_private.h:
* gst/gstbuffer.h:
* gst/gstevent.h:
* gst/gstformat.h:
* gst/gstmessage.h:
* gst/gstplugin.h:
* gst/gstquery.h:
* gst/gsttaglist.h:
* gst/gstvalue.h:
Move declaration of private _gst_foo_initialize() functions into
our private header file where they should have been all along.
2007-11-02 18:35:37 +00:00
Tim-Philipp Müller
b150d54e1c gtk-doc fixes; trailing-comma-in-enum fix.
Original commit message from CVS:
* docs/plugins/gstreamer-plugins-sections.txt:
* gst/gstdebugutils.h:
* gst/gstxml.h:
* plugins/elements/gstqueue.c:
gtk-doc fixes; trailing-comma-in-enum fix.
2007-11-02 17:43:25 +00:00
Tim-Philipp Müller
0965b7202c gst/gst.c: Clean up on deinit (not the external ones though, doesn't seem to be needed for some reason).
Original commit message from CVS:
* gst/gst.c: (gst_deinit):
Clean up on deinit (not the external ones though, doesn't seem to be
needed for some reason).
2007-11-02 16:27:56 +00:00
Tim-Philipp Müller
f2c7e1536b gst/gstinfo.h: Remove __declspec(dllimport) for MSVC that was copied over into core from a plugin, obviously without ...
Original commit message from CVS:
* gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
Remove __declspec(dllimport) for MSVC that was copied over into core
from a plugin, obviously without ever having been tested (note the
single underscore in _declspec in the initial commit), and that doesn't
really make sense.  See #492077.
2007-11-01 23:51:55 +00:00
Tim-Philipp Müller
99a41cefe3 g_type_class_ref() other types as well, see #349410 and #64764.
Original commit message from CVS:
* gst/gst.c: (init_post):
* gst/gstevent.c: (_gst_event_initialize):
* gst/gstquery.c: (_gst_query_initialize):
* libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
g_type_class_ref() other types as well, see #349410 and #64764.
* gst/gstbuffer.c: (_gst_buffer_initialize):
* gst/gstmessage.c: (_gst_message_initialize):
Simplify existing g_type_class_ref().
2007-11-01 21:50:05 +00:00
Tim-Philipp Müller
b826ab6612 gst/gstformat.c: g_type_class_ref() our GstFormat type to make sure we avoid the thread-unsafe bits of the GObject/GT...
Original commit message from CVS:
* gst/gstformat.c: (_gst_format_initialize):
g_type_class_ref() our GstFormat type to make sure we avoid the
thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
bug #64764. Should fix intermittent tee unit test failures (#474823).
2007-11-01 20:10:48 +00:00
Ole André Vadla Ravnås
3317754e3e Fix a couple of missing includes for MSVC2005 and a C99 issue. Also, starting with 2.14.0, GLib won't provide a pipe(...
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
* gst/gsttrace.c:
* libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
* libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
* libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
starting with 2.14.0, GLib won't provide a pipe() macro any longer,
so use _pipe() directly (#492077).
* win32/common/dirent.c: (_treaddir):
Add a couple of casts to make it build without warnings with MSVC.
* win32/common/libgstreamer.def:
Add some more symbols that need to be exported.
2007-10-31 22:01:03 +00:00
Stefan Kost
7da5577459 Improve bin graph dumping, by using the envvar to specify a path.
Original commit message from CVS:
* docs/gst/running.xml:
* gst/gst.c:
* gst/gstdebugutils.c:
* gst/gstdebugutils.h:
* tools/gst-launch.c:
Improve bin graph dumping, by using the envvar to specify a path.
Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
2007-10-29 13:46:25 +00:00
Stefan Kost
476e217e82 Document new env-var. Add one log-line after dumpng a graph.
Original commit message from CVS:
* docs/gst/running.xml:
* gst/gstdebugutils.c:
Document new env-var. Add one log-line after dumpng a graph.
2007-10-29 10:05:55 +00:00
Alessandro Decina
9d3de77ba7 gst/: Patch from Alessandro Decina adding get_type_full and get_protocols_full private vfuncs to the URIHandler inter...
Original commit message from CVS:
* gst/gstelementfactory.c: (gst_element_register):
* gst/gsturi.h:
Patch from Alessandro Decina adding get_type_full and
get_protocols_full private vfuncs to the URIHandler interface
to allow bindings to support creating URI handlers.
Partially fixes: #339279
API: GstURIHandlerInterface::get_type_full
API: GstURIHandlerInterface::get_protocols_full
2007-10-25 16:19:05 +00:00
Tim-Philipp Müller
9063ed1df4 API: add GST_TAG_ARTIST_SORTNAME
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttaglist.c:
* gst/gsttaglist.h:
API: add GST_TAG_ARTIST_SORTNAME
API: add GST_TAG_ALBUM_SORTNAME
API: add GST_TAG_TITLE_SORTNAME
Add tag variants for sorting (#414539).
2007-10-24 13:13:56 +00:00
Tim-Philipp Müller
cf3ca4b757 gst/gststructure.c: Also allow white space for names so we don't break backwards compatibility.
Original commit message from CVS:
* gst/gststructure.c:
Also allow white space for names so we don't break
backwards compatibility.
2007-10-24 13:00:58 +00:00
Stefan Kost
442f15bac2 gst/gstdebugutils.c: Reflow code to fix uninitialized variable warning.
Original commit message from CVS:
* gst/gstdebugutils.c:
Reflow code to fix uninitialized variable warning.
2007-10-22 11:10:28 +00:00
Edgard Lima
0e3a0fdf35 Added GstStructure to gst_value_table and its related functions.
Original commit message from CVS:

* gst/gstcaps.c: (gst_caps_to_string),
(gst_caps_from_string_inplace):
* gst/gststructure.c: (gst_structure_get_abbrs),
(gst_structure_to_string), (gst_structure_from_string):
* gst/gstvalue.c: (gst_value_set_structure),
(gst_value_get_structure), (gst_value_serialize_structure),
(gst_value_deserialize_structure), (_gst_value_initialize):
* gst/gstvalue.h:
* tests/check/gst/gststructure.c: (GST_START_TEST),
(gst_structure_suite):
* tests/check/gst/gstvalue.c: (GST_START_TEST):
Added GstStructure to gst_value_table and its related functions.
Changed gst_structure_to_string to print ';' in the end.
Changed gst_caps_to_string to not print ';' beteween its
fields (structures) anymore and remove the lastes ';' from latest
structure. Now it is possible to have nested structures.
In addition, backward compatibilty is assured by accepting '\0' as
end delimiter. Fixes: #487969.
API: add gst_value_set_structure()
API: add gst_value_get_structure()
2007-10-22 08:53:26 +00:00
Tim-Philipp Müller
81a3de7036 gst/gstbus.c: When no GSource callback has been set up, tell developer to use a function that actually exists.
Original commit message from CVS:
* gst/gstbus.c:
When no GSource callback has been set up, tell developer
to use a function that actually exists.
2007-10-19 09:48:38 +00:00
Stefan Kost
58a155347b Allow dumping pipelines as dot graphs. Fixes #456573.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/Makefile.am:
* gst/gst.c:
* gst/gst.h:
* gst/gstdebugutils.c:
* gst/gstdebugutils.h:
* gst/gstinfo.c:
* gst/gstinfo.h:
* tools/gst-launch.c:
Allow dumping pipelines as dot graphs. Fixes #456573.
2007-10-17 12:58:23 +00:00
Tim-Philipp Müller
4945ceea39 gst/gststructure.c: Allow '+' as well, it can be part of media or mime types such as image/svg+xml.
Original commit message from CVS:
* gst/gststructure.c:
Allow '+' as well, it can be part of media or mime types
such as image/svg+xml.
2007-10-16 21:48:23 +00:00
Tim-Philipp Müller
13c6e89d6c API: add gst_bus_pop_filtered
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstbus.c:
* gst/gstbus.h:
API: add gst_bus_pop_filtered
API: add gst_bus_timed_pop_filtered
Two new functions for waiting for specific message types on the
bus for a specified amount of time without iterating any main
loops or main contexts.
* tests/check/gst/gstbus.c:
Some tests for the new functions.
2007-10-16 20:30:13 +00:00
Stefan Kost
2b4644f737 Revert serialisation change and constrain structure-names after consensus on irc. Update api documentation to reflect...
Original commit message from CVS:
* gst/gststructure.c:
* tests/check/gst/gststructure.c:
Revert serialisation change and constrain structure-names after
consensus on irc. Update api documentation to reflect the change.
2007-10-16 13:58:43 +00:00
Stefan Kost
38cdd26ec8 gst/gststructure.c: Improve serialization and fix tests.
Original commit message from CVS:
* gst/gststructure.c:
Improve serialization and fix tests.
* tests/check/gst/gststructure.c:
Add another test that covers why I actually did the previous structure
change.
2007-10-16 06:32:07 +00:00
Stefan Kost
68ba3b4384 gst/: Add some more comments and debug output. Quote structure name to fix deserialisation of some strings.
Original commit message from CVS:
* gst/gststructure.c:
* gst/gstvalue.c:
Add some more comments and debug output. Quote structure name to fix
deserialisation of some strings.
2007-10-15 11:19:36 +00:00
Stefan Kost
de997d56cc gst/gstbuffer.h: Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based on it. Fix docs for GST_BUFFE...
Original commit message from CVS:
* gst/gstbuffer.h:
Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
2007-10-15 07:37:37 +00:00
Stefan Kost
ca048215eb gst/gstinfo.c: Fix some spelling errors.
Original commit message from CVS:
* gst/gstinfo.c:
Fix some spelling errors.
2007-10-15 06:52:01 +00:00
Wim Taymans
00e832a463 gst/gstbin.c: Correctly set the next state if all of our async children commited their state. This makes sure we can ...
Original commit message from CVS:
* gst/gstbin.c: (bin_handle_async_done):
Correctly set the next state if all of our async children commited their
state. This makes sure we can actually cancel the state change in
progress. Fixes a regression in Rhythmbox when seeking.
2007-10-14 15:54:02 +00:00
Tim-Philipp Müller
65637313b0 gst/gstbin.c: Don't shadow local variable.
Original commit message from CVS:
* gst/gstbin.c:
Don't shadow local variable.
* gst/gstinfo.c:
Don't shadow global function name.
2007-10-13 17:43:27 +00:00
Tim-Philipp Müller
f134968058 gst/: Use already-interned string for the private GstPluginFeature plugin_name field.
Original commit message from CVS:
* gst/gstelementfactory.c:
* gst/gstpluginfeature.c:
* gst/gstpluginfeature.h:
* gst/gstregistrybinary.c:
* gst/gstregistryxml.c:
* gst/gsttypefind.c:
Use already-interned string for the private GstPluginFeature
plugin_name field.
2007-10-13 17:20:09 +00:00
Tim-Philipp Müller
46283255e4 gst/gstplugin.h: Cast description string constants in GST_PLUGIN_DEFINE macros to a (gchar*) to make C++ code using t...
Original commit message from CVS:
* gst/gstplugin.h:
Cast description string constants in GST_PLUGIN_DEFINE macros
to a (gchar*) to make C++ code using these macros compile
without warning with g++-4.2 (see #462737).  Even if slightly
ugly, this seems preferable to putting the description strings
into the GLib quark table or making the structure member a
const gchar * and doing casts in core code that allocs and
frees these strings, or requiring a cast in the C++ code.
2007-10-10 10:53:39 +00:00
Tim-Philipp Müller
a639f7abfc gst/gstinfo.h: Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly to print the entire class/function signatu...
Original commit message from CVS:
* gst/gstinfo.h:
Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
to print the entire class/function signature into the log
file for C++ code.  This only affects C++ code, for C code
everything remains the same.
2007-10-09 20:45:13 +00:00
Wim Taymans
9d731d1e11 gst/gstbin.c: Work around a problem with pipelines containing (semi)loops until a proper, more complicated solution i...
Original commit message from CVS:
* gst/gstbin.c: (remove_from_queue):
Work around a problem with pipelines containing (semi)loops until a
proper, more complicated solution is ready. See #475455.
2007-10-09 16:20:59 +00:00
Tim-Philipp Müller
a90dc9f01a gst/: Put more strings into the GLib quark table. No need to keep a hundred-something copies of identical version str...
Original commit message from CVS:
* gst/gstplugin.c:
* gst/gstplugin.h:
* gst/gstregistrybinary.c:
* gst/gstregistryxml.c:
Put more strings into the GLib quark table. No need to keep
a hundred-something copies of identical version strings,
license strings, package name strings and package origin
strings around.
2007-10-09 14:18:39 +00:00
Wim Taymans
731f14c4b9 gst/: Small comment and documentation update.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_pause_task):
* gst/gstutils.c:
Small comment and documentation update.
2007-10-05 14:44:18 +00:00
Stefan Kost
5115aee102 gst/gstelement.c: Use meaningful categories for the logs to clean the default one.
Original commit message from CVS:
* gst/gstelement.c:
Use meaningful categories for the logs to clean the default one.
2007-10-03 15:27:24 +00:00
Stefan Kost
aeb491ef59 gst/gstplugin.c: Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
Original commit message from CVS:
* gst/gstplugin.c:
Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
Spotted by Josep Torra Valles <josep@fluendo.com>.
2007-10-03 11:36:14 +00:00
Tim-Philipp Müller
50521a14dc gst/gstclock.h: Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags field has moved to GstObject.
Original commit message from CVS:
* gst/gstclock.h:
Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
field has moved to GstObject.
2007-10-03 11:16:48 +00:00
Sébastien Moutte
b48aa75454 gst/gstinfo.h: Add an explicit variable importation needed on VS6 (only for MSC_VER)
Original commit message from CVS:
* gst/gstinfo.h:
Add an explicit variable importation needed on VS6 (only for MSC_VER)
Define M_PI which is used in files which are including gstinfo.h.
VS6 includes doesn't define it.
* win32/common/libgstbase.def:
* win32/common/libgstcontroller.def:
* win32/common/libgstreamer.def:
Add new exported functions and variables.
* win32/vs6/libgstcontroller.dsp:
* win32/vs6/libgstreamer.dsp:
Update the list of files to build.
2007-09-29 11:46:31 +00:00
Wim Taymans
1b3e413bba gst/gstbus.c: Improve debugging when dealing with _poll().
Original commit message from CVS:
* gst/gstbus.c: (poll_func):
Improve debugging when dealing with _poll().
2007-09-26 18:06:42 +00:00
Tim-Philipp Müller
e216a00ca9 gst/gstregistryxml.c: Fix memory leak I introduced a few days ago.
Original commit message from CVS:
* gst/gstregistryxml.c:
Fix memory leak I introduced a few days ago.
2007-09-26 18:04:42 +00:00
Michael Smith
aacc87e07c gst/gstbuffer.c: Make it once again possible to free GstBuffers in the default build.
Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_finalize):
Make it once again possible to free GstBuffers in the default
build.
The poisoning scribbles on parts of the miniobject we need in
order to free it.
Fixes #480341
2007-09-26 17:00:22 +00:00
Tim-Philipp Müller
e366375d27 API: add GST_TAG_COMPOSER, fixes #459809.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttaglist.c:
* gst/gsttaglist.h:
API: add GST_TAG_COMPOSER, fixes #459809.
2007-09-25 18:35:39 +00:00
Sebastian Dröge
cb36a2e7a5 gst/gstplugin.*: Add the 3-clause BSD license and the MIT/X11 license to the license list. Fixes #479784.
Original commit message from CVS:
* gst/gstplugin.c:
* gst/gstplugin.h:
Add the 3-clause BSD license and the MIT/X11 license to the license
list. Fixes #479784.
2007-09-24 17:41:25 +00:00
Wim Taymans
e7f433f720 gst/: Fix small typos in the docs.
Original commit message from CVS:
* gst/gstobject.h:
* gst/gstvalue.c:
Fix small typos in the docs.
2007-09-24 11:46:35 +00:00
Stefan Kost
0873492be6 gst/gstbin.h: Move priv to the right place.
Original commit message from CVS:
* gst/gstbin.h:
Move priv to the right place.
* gst/gstsystemclock.c:
Add FIXME: and improve log.
* tests/check/Makefile.am:
* tests/examples/manual/Makefile.am:
Work with all types of registries.
2007-09-20 07:42:35 +00:00
Tim-Philipp Müller
7a478fbdbd gst/glib-compat-private.h: Add compatibility macro for g_intern_string() for
Original commit message from CVS:
* gst/glib-compat-private.h:
Add compatibility macro for g_intern_string() for
GLib-2.8 (any reason we can't just bump the
requirement to at least 2.10?)
* gst/gstpadtemplate.h:
* gst/gstelementfactory.c:
* gst/gstregistryxml.c:
* gst/gstregistrybinary.c:
Make GstStaticPadTemplate's templ_name field a const gchar * and fix
up the internal code accordingly.  This shouldn't be a problem, since
there is no reason external code could ever assume the string in such
a structure is dynamically allocated unless it did that itself;  the
use of g_strdup() is private to element factories.  The new code also
saves some memory by putting pad template name strings into the GLib
quark table instead of allocating them dynamically.
Declaring this field constant fixes warnings with g++-4.2 when using
the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
2007-09-19 13:28:40 +00:00
Stefan Kost
1740781a70 gst/gstelementfactory.c: Release static caps. Fixes #475723.
Original commit message from CVS:
* gst/gstelementfactory.c:
Release static caps. Fixes #475723.
2007-09-19 12:31:16 +00:00
Tim-Philipp Müller
134da6c28e gst/gstinfo.*: Make some internal API take const gchar * instead of just gchar * to avoid compiler warnings with g++-...
Original commit message from CVS:
* gst/gstinfo.c:
* gst/gstinfo.h:
Make some internal API take const gchar * instead of just
gchar * to avoid compiler warnings with g++-4.2.2 when
passing string constants (partially fixes #478092).
2007-09-18 22:13:57 +00:00
Wim Taymans
d59d330076 gst/gstbin.c: A latency query fails when one of the sinks fail.
Original commit message from CVS:
* gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
A latency query fails when one of the sinks fail.
* gst/gstelement.c: (gst_element_set_base_time):
Improve debugging.
2007-09-17 20:55:23 +00:00
Jan Schmidt
04757dd2d3 Fix minor compilation warnings shown with Forte.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_continue_func):
* libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
* libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
* plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
Fix minor compilation warnings shown with Forte.
2007-09-17 17:17:29 +00:00
Wim Taymans
b155f59d19 gst/: Move latency query from GstPipeline to GstBin so that we can also use it when async-handling is enabled on bins.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_class_init), (clear_queue),
(do_bin_latency), (gst_bin_change_state_func):
* gst/gstpipeline.c: (gst_pipeline_change_state):
Move latency query from GstPipeline to GstBin so that we can also
use it when async-handling is enabled on bins.
2007-09-13 21:27:33 +00:00
Sebastian Dröge
93634c30c2 gst/gstbuffer.c: Implement poisoning for GstBuffer if --enable-poisoning is specified.
Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_finalize):
Implement poisoning for GstBuffer if --enable-poisoning is specified.
When finalizing a buffer the complete struct is filled with 0xff,
thus making a use of the buffer after the final unref impossible.
2007-09-13 08:42:55 +00:00
Tim-Philipp Müller
3f967a8b04 gst/gsturi.c: If there's no hostname, we want to return 'c:/foo/bar.txt' and not '/c:/foo/bar.txt' on Windows. Fixes ...
Original commit message from CVS:
* gst/gsturi.c: (gst_uri_get_location):
If there's no hostname, we want to return 'c:/foo/bar.txt'
and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
* tests/check/gst/gsturi.c:
Unit test for the above and a few more things.
2007-09-12 12:36:51 +00:00
Tim-Philipp Müller
9299939987 gst/gstbuffer.c: Also do a g_type_class_ref() for the subbuffer type in the init function.
Original commit message from CVS:
* gst/gstbuffer.c:
Also do a g_type_class_ref() for the subbuffer type in
the init function.
2007-09-11 18:59:09 +00:00
Wim Taymans
0d3299c63b Add function to perform a query on the peer of a pad.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstpad.c: (gst_pad_peer_query):
* gst/gstpad.h:
Add function to perform a query on the peer of a pad.
API: gst_pad_peer_query()
2007-09-11 15:55:50 +00:00
Sebastian Dröge
9564757cfb gst/gstregistrybinary.c: Always destroy the timer, also in error cases.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
Always destroy the timer, also in error cases.
2007-09-07 04:50:23 +00:00
Stefan Kost
756049dc07 gst/gstelement.c: Give some log-messages a category.
Original commit message from CVS:
* gst/gstelement.c:
Give some log-messages a category.
2007-09-05 13:24:31 +00:00
Wim Taymans
a0274c10a7 gst/gststructure.c: Fix fraction list fixation code. Take the fraction with the smallest difference with the target i...
Original commit message from CVS:
* gst/gststructure.c:
(gst_structure_fixate_field_nearest_fraction):
Fix fraction list fixation code. Take the fraction with the smallest
difference with the target instead of the first one in the list.
* tests/check/gst/gststructure.c: (GST_START_TEST),
(gst_structure_suite):
Added test to verify correct fraction list fixation behaviour.
2007-09-05 01:00:50 +00:00
Jan Schmidt
86a2414a7f gst/Makefile.am: Revert patch which uses $(gst_headers) instead of $^ because it breaks make dist.
Original commit message from CVS:
* gst/Makefile.am:
Revert patch which uses $(gst_headers) instead of $^ because it
breaks make dist.
2007-08-24 16:39:06 +00:00
Tim-Philipp Müller
684db8eb7c gst/gst.c: Don't use GST_INFO before the debug system is actually initialised (shouldn't do any harm, but won't print...
Original commit message from CVS:
* gst/gst.c:
Don't use GST_INFO before the debug system is actually initialised
(shouldn't do any harm, but won't print anything either, so we can
just as well remove it).
* gst/gstinfo.h:
GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
compilers that don't support variadic macros (such as MSVC), should
check for debug_level <= __gst_debug_min as well, since that's the
function called from all the level-specific GST_CAT_*_LOG_OBJECT()
inline helper functions. Should improve performance a bit, but also
makes sure uses of GST_INFO et.al are ignored if the debugging
system isn't initialised yet (instead of printing an assertion
failure).
2007-08-23 20:41:30 +00:00
David Nečas
0cffe1561c gst/Makefile.am: Replace some non portable makefile constructs.
Original commit message from CVS:
patch by: David Nečas <yeti@physics.muni.cz>
* gst/Makefile.am:
Replace some non portable makefile constructs.
2007-08-23 07:10:33 +00:00
Wim Taymans
ebf770154f gst/gstbin.c: Improve debugging.
Original commit message from CVS:
* gst/gstbin.c: (is_eos), (gst_bin_add_func),
(bin_handle_async_start), (gst_bin_handle_message_func):
Improve debugging.
When adding elements, insert messages into the bus of the newly added
element and make sure the element is the source of the message. This
allows the parent bin to intercept the message and do the
right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
messages to the app (which is not allowed).
Update some docs.
* tests/check/gst/gstghostpad.c: (GST_START_TEST):
Fix testsuite so that is does not work around messages that should not
have been posted in the first place.
2007-08-16 11:04:40 +00:00
Wim Taymans
5059e9f8bd gst/gstbin.c: Fix annoying bug in the sorted iterator where a sink that is not really a sink (when it has downstream ...
Original commit message from CVS:
* gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
(update_degree), (gst_bin_sort_iterator_next):
Fix annoying bug in the sorted iterator where a sink that is not really
a sink (when it has downstream links) screwed up the iterator.
* tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
Unit test to verify the fix.
2007-08-16 10:27:16 +00:00
Wim Taymans
4f98b744d2 gst/gstmessage.h: Add some more docs for the messages.
Original commit message from CVS:
* gst/gstmessage.h:
Add some more docs for the messages.
* libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
(gst_base_sink_query):
Add some more debugging.
* tools/gst-launch.c: (event_loop):
When interrupting, don't try to set pipeline to PAUSED twice.
2007-08-16 10:07:48 +00:00
Wim Taymans
ef5d931f67 gst/gstbin.c: Move ASYNC_START message posting to where it belongs, similar to async_done.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
(bin_handle_async_start), (gst_bin_handle_message_func):
Move ASYNC_START message posting to where it belongs, similar to
async_done.
Don't post ASYNC_START when we are in error.
Post ASYNC_START when we added an async element to a bin.
2007-08-14 14:10:36 +00:00
Julien Moutte
e3b911f7a9 gst/gstindex.c: Fix index entry generation from vargs. Fixes #466595.
Original commit message from CVS:
2007-08-14  Julien MOUTTE  <julien@moutte.net>

* gst/gstindex.c: (gst_index_add_association): Fix index entry
generation from vargs. Fixes #466595.
2007-08-14 13:43:44 +00:00
Wim Taymans
9b24336ce5 gst/gstbin.c: Always change the state of a NO_PREROLL element even if it has ASYNC elements inside (in case of a bin).
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_element_set_state):
Always change the state of a NO_PREROLL element even if it has ASYNC
elements inside (in case of a bin).
* tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
Unit test for this case.
2007-08-14 13:37:16 +00:00
Wim Taymans
1baafa6ee6 gst/gststructure.c: Add Since tag to docs.
Original commit message from CVS:
* gst/gststructure.c:
Add Since tag to docs.
2007-08-12 16:44:07 +00:00
Wim Taymans
66fd1a0839 Add function to get uint from a structure.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gststructure.c: (gst_structure_get_uint):
* gst/gststructure.h:
Add function to get uint from a structure.
API: gst_structure_get_uint()
2007-08-12 16:40:59 +00:00
Wim Taymans
3fb7bda332 gst/gstcaps.c: Fix proper check for simple caps.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_set_simple_valist),
(gst_caps_intersect):
Fix proper check for simple caps.
2007-08-12 16:38:40 +00:00
Michael Smith
397128ac28 gst/gstregistry.h: Add gst_registry_add_path, which was missing from this header.
Original commit message from CVS:
* gst/gstregistry.h:
Add gst_registry_add_path, which was missing from this header.
2007-08-10 14:40:26 +00:00