Commit graph

3443 commits

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