Commit graph

2745 commits

Author SHA1 Message Date
Andy Wingo e6d23e0aee gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto macro, implements an interface and gstimplementsinterface...
Original commit message from CVS:
2005-08-22  Andy Wingo  <wingo@pobox.com>

* gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
macro, implements an interface and gstimplementsinterface for a
new type.
2005-08-22 15:12:56 +00:00
Wim Taymans d31c5ea1f6 gst/gstcaps.c: Make _static_caps_get() refcounting sane.
Original commit message from CVS:
* gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
Make _static_caps_get() refcounting sane.

* gst/gstelement.c: (gst_element_set_state):
Add g_return_val_if_fail() to protect against segfaults.
2005-08-22 14:35:42 +00:00
Stefan Kost 33e36f56a4 inlined remaining docs, added missing doc comments
Original commit message from CVS:
* docs/gst/tmpl/gstevent.sgml:
* gst/gstevent.c:
* gst/gstevent.h:
inlined remaining docs, added missing doc comments
2005-08-22 10:37:02 +00:00
Thomas Vander Stichele d961ea4c93 check/gst/gstbin.c: since we don't know when preroll is done, use refcount range check for the sink
Original commit message from CVS:

* check/gst/gstbin.c: (GST_START_TEST):
since we don't know when preroll is done, use refcount range
check for the sink
* gst/check/gstcheck.h:
add macro for checking refcount range
2005-08-22 09:25:51 +00:00
Thomas Vander Stichele e5afa8a31b check/Makefile.am: clean up environment for when registry gets built versus when actual tests are run; valgrind seems...
Original commit message from CVS:

* check/Makefile.am:
clean up environment for when registry gets built versus
when actual tests are run; valgrind seems to not report
leaks if GST_PLUGIN_PATH is set to some specific values
* check/gst/gstbin.c: (GST_START_TEST):
add more refcounting checks; maybe this exposes a
preroll lock bug ?
* common/check.mak:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
* gst/check/gstcheck.h:
* gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
(gst_bin_change_state):
* gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
add/fix debugging/whitespace
2005-08-21 15:01:18 +00:00
Jan Schmidt 84b76a4359 check/Makefile.am: Use CHECK_CFLAGS and CHECK_LIBS
Original commit message from CVS:
* check/Makefile.am:
Use CHECK_CFLAGS and CHECK_LIBS
* check/gst/gstevent.c: (event_probe), (test_event),
(GST_START_TEST):
Don't leak events.
* gst/base/gstbasesrc.c: (gst_base_src_send_discont),
(gst_base_src_start), (gst_base_src_stop),
(gst_base_src_activate_push), (gst_base_src_activate_pull),
(gst_base_src_change_state):
Sprinkle gst_base_src_stop liberally around error paths to fix
problems reusing a source after failed state changes.
* gst/base/gsttypefindhelper.c: (helper_find_peek),
(helper_find_suggest), (gst_type_find_helper):
Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
* gst/gstevent.h:
* docs/gst/tmpl/gstevent.sgml:
Migrate part of the docs from the SGML file. Wait for ensonic to
tell me how I did it wrong ;)
* tools/gst-typefind.c: (main):
Extra robustness to state changes between files.
2005-08-21 10:54:47 +00:00
Thomas Vander Stichele 744193f884 check/Makefile.am: don't valgrind the controller test - it's leaking - Stefan, HELP
Original commit message from CVS:

* check/Makefile.am:
don't valgrind the controller test - it's leaking - Stefan, HELP
* gst/check/gstcheck.c: (gst_check_message_error),
(gst_check_chain_func), (gst_check_setup_element),
(gst_check_teardown_element), (gst_check_setup_src_pad),
(gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
(gst_check_teardown_sink_pad):
* gst/check/gstcheck.h:
add a bunch of methods to set up elements, and src and sink pads
* check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
* check/elements/identity.c: (setup_identity), (cleanup_identity),
(GST_START_TEST):
use them
* gst/gstmessage.c:
* gst/gsttag.h:
whitespace/doc fixes
2005-08-21 10:39:39 +00:00
Thomas Vander Stichele feb446c5d4 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should be handled by the application and not always pri...
Original commit message from CVS:
make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
be handled by the application and not always printed as well
2005-08-20 20:30:36 +00:00
Thomas Vander Stichele 088fed6d36 check/Makefile.am: set GST_TOOLS_DIR
Original commit message from CVS:

* check/Makefile.am:
set GST_TOOLS_DIR
* gst/check/gstcheck.c: (gst_check_message_error):
* gst/check/gstcheck.h:
add a fail_unless_equals_int
add fail_unless for error messages
2005-08-20 20:15:53 +00:00
Thomas Vander Stichele ab6525549c work on builds without check
Original commit message from CVS:
work on builds without check
2005-08-20 13:17:42 +00:00
Thomas Vander Stichele dcfa474078 valgrind more tests
Original commit message from CVS:
valgrind more tests
2005-08-20 12:39:05 +00:00
Thomas Vander Stichele 8ce827c406 move check stuff to its own library to be used by other modules
Original commit message from CVS:
move check stuff to its own library to be used by other modules
2005-08-20 12:14:28 +00:00
Stefan Kost 60f5fbb210 eliminate another tmpl file, fix spelling in the long-description
Original commit message from CVS:
* docs/gst/tmpl/gst.sgml:
* gst/gst.c:
eliminate another tmpl file, fix spelling in the long-description
2005-08-19 09:58:42 +00:00
Andy Wingo aa0fb69d49 Make sure that when a pipeline goes to PLAYING, that data has actually hit the sink.
Original commit message from CVS:
2005-08-18  Andy Wingo  <wingo@pobox.com>

Make sure that when a pipeline goes to PLAYING, that data has
actually hit the sink.

* check/states/sinks.c (test_sink): A sink that doesn't get any
data shouldn't return SUCCESS for going to either PLAYING or
PAUSED. Test also the return values on the way back down.

* gst/gstelement.c (gst_element_set_state): When changing the
state of an element currently changing state asynchronously, go to
lost-state after commiting the pending state. Makes future calls
to get_state continue to return ASYNC.

* gst/base/gstbasesink.c (gst_base_sink_change_state): Return
ASYNC when going to PLAYING if we still don't have preroll, as can
happen with live sources.
2005-08-18 16:20:24 +00:00
Jan Schmidt 8377afc0ba check/: I wrote a test!
Original commit message from CVS:
* check/Makefile.am:
* check/gst/gstevents.c: (GST_START_TEST), (event_probe),
(test_event), (timediff), (gstevents_suite), (main):
I wrote a test!

* docs/design/part-seeking.txt:
Spelling correction

* docs/gst/tmpl/gstevent.sgml:
Docs updates.

* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
Treat a buffer-without-newsegment the same as a receiving
a newsegment not in time format, and disable syncing to the clock
with a warning.

* gst/gstbus.c: (gst_bus_set_sync_handler):
Assert if anyone tries to replace the existing sync_handler for bus,
as only the owner should be setting it.

* gst/gstevent.h:
Have a fixed set of custom event enums with events identified by
their structure name (as in 0.8), rather than a free-for-all
allowing collisions between enum values from different plugins.

* gst/gstpad.c: (gst_pad_class_init):
Docs change.

* gst/gstqueue.c: (gst_queue_handle_sink_event):
Handle out-of-band downstream events from the sending thread.
2005-08-18 15:31:28 +00:00
Andy Wingo de7347bda6 gst/gstpipeline.c (gst_pipeline_change_state): Interpret play-timeout==0 to mean no timeout at all. In that case, don...
Original commit message from CVS:
2005-08-17  Andy Wingo  <wingo@pobox.com>

* gst/gstpipeline.c (gst_pipeline_change_state): Interpret
play-timeout==0 to mean no timeout at all. In that case, don't
bother with a get_state or a warning, just return directly, even
if it's ASYNC.
2005-08-17 16:57:01 +00:00
Andy Wingo c5e2202f20 gst/base/gstbasetransform.c: Debug changes.
Original commit message from CVS:
2005-08-17  Andy Wingo  <wingo@pobox.com>

* gst/base/gstbasetransform.c: Debug changes.

* gst/gstutils.h:
* gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
ensure bins post state change messages. A bit of a hack but I can't
think of a way to avoid it.

* check/gst/gstbin.c (test_watch_for_state_change): Added test.
2005-08-17 16:33:27 +00:00
Andy Wingo ecbae942c5 gst/base/gstadapter.*: New function, like peek() but you own the data. Not terribly efficient atm.
Original commit message from CVS:
2005-08-16  Andy Wingo  <wingo@pobox.com>

* gst/base/gstadapter.h:
* gst/base/gstadapter.c (gst_adapter_take): New function, like
peek() but you own the data. Not terribly efficient atm.
2005-08-16 17:23:55 +00:00
Ronald S. Bultje 3b0897e827 gst/gstutils.*: Add two utility functions for tag handling.
Original commit message from CVS:
* gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
(gst_element_found_tags):
* gst/gstutils.h:
Add two utility functions for tag handling.
2005-08-16 16:29:04 +00:00
Wim Taymans 01ace6b592 check/gst/gstvalue.c: Added subtract checks.
Original commit message from CVS:
* check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
Added subtract checks.

* docs/design/part-events.txt:
Some more docs about newsegment

* gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
Fix FIXME

* gst/gstcaps.c: (gst_caps_to_string):
Add comments, cleanups.

* gst/gstelement.c: (gst_element_save_thyself):
cleanups

* gst/gstvalue.c: (gst_value_collect_int_range),
(gst_string_unwrap), (gst_value_union_int_int_range),
(gst_value_union_int_range_int_range),
(gst_value_intersect_int_int_range),
(gst_value_intersect_int_range_int_range),
(gst_value_intersect_double_double_range),
(gst_value_intersect_double_range_double_range),
(gst_value_intersect_list), (gst_value_subtract_int_int_range),
(gst_value_subtract_int_range_int),
(gst_value_subtract_double_range_double),
(gst_value_subtract_double_range_double_range),
(gst_value_subtract_from_list), (gst_value_subtract_list),
(gst_value_can_compare), (gst_value_compare_fraction):
Cleanups, add comments, remove unneeded asserts.
2005-08-16 09:42:50 +00:00
Thomas Vander Stichele b27244a943 don't convert NULL structures to strings
Original commit message from CVS:
don't convert NULL structures to strings
2005-08-15 18:15:38 +00:00
Stefan Kost cdc8ba9725 docs/gst/gstreamer-sections.txt: made some defines private
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
made some defines private
* docs/gst/tmpl/gstconfig.sgml:
* docs/gst/tmpl/gstqueue.sgml:
* docs/gst/tmpl/gsttaglist.sgml:
* docs/gst/tmpl/gsttypes.sgml:
* docs/gst/tmpl/gstutils.sgml:
* docs/pwg/appendix-porting.xml:
* gst/base/gstbasesink.h:
* gst/base/gstbasesrc.c:
* gst/base/gstbasesrc.h:
* gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
* gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
* gst/gstelement.c: (gst_element_class_init):
* gst/gstpad.c: (gst_pad_class_init):
* gst/gstqueue.c: (gst_queue_class_init):
* gst/gstxml.c: (gst_xml_class_init):
documented all undocumented signal inline
* libs/gst/controller/gst-controller.h:
added padding
2005-08-15 16:57:34 +00:00
Thomas Vander Stichele 5dee6ba2e8 check/Makefile.am: add a .check target for running the check
Original commit message from CVS:

* check/Makefile.am:
add a .check target for running the check
* check/gst-libs/controller.c: (GST_START_TEST):
cosmetic fixups
* check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
complete checks for gstbuffer; would be nice if I could get the
gcov stuff to work so I can see if I actually completed gstbuffer.c
* check/gstcheck.h:
add ASSERT_BUFFER_REFCOUNT
2005-08-14 22:29:07 +00:00
Tim-Philipp Müller 680ddc0cea Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't spew out a warning if a tag that is already registered is re-r...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
* gst/gsttag.h:
Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
spew out a warning if a tag that is already registered
is re-registered, unless it is re-registered with a
different type (#308438).
2005-08-13 10:33:22 +00:00
Wim Taymans 8513b4767e gst/gstghostpad.c: Actually implement (re)setting the target on a ghostpad as described in the docs.
Original commit message from CVS:
* gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
(gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
(gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
(gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
(gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
(gst_ghost_pad_set_target):
Actually implement (re)setting the target on a ghostpad
as described in the docs.
2005-08-11 14:24:58 +00:00
Tim-Philipp Müller 130c7ae0a6 gst/gst.c: Check whether GST_DEBUG_NO_COLOR environment variable is set and disable coloured debug output if that is ...
Original commit message from CVS:
* gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
Check whether GST_DEBUG_NO_COLOR environment variable is
set and disable coloured debug output if that is the case.
2005-08-10 21:19:01 +00:00
Tim-Philipp Müller ba8a8319fd gst/base/gsttypefindhelper.c: The memory returned by gst_type_find_peek() needs to stay valid until the end of a type...
Original commit message from CVS:
* gst/base/gsttypefindhelper.c: (helper_find_peek),
(gst_type_find_helper):
The memory returned by gst_type_find_peek() needs to
stay valid until the end of a typefind function, and
typefind functions may keep results from different
offsets around, so we can't just unref the buffer from
the previous _peek(), but have to save all buffers
returned by _peek() until typefinding is done and only
free them then.
2005-08-10 15:08:03 +00:00
Tim-Philipp Müller 8e8a415095 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstutils.h:
New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
2005-08-09 16:25:45 +00:00
Ronald S. Bultje d32de37076 gst/base/gstbasetransform.c: Fix a pretty good memleak.
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
Fix a pretty good memleak.
2005-08-08 15:08:14 +00:00
Tim-Philipp Müller 4f74a712c4 gst/gstiterator.h: Fix wrong include and 'make distcheck'.
Original commit message from CVS:
* gst/gstiterator.h:
Fix wrong include and 'make distcheck'.
2005-08-08 13:55:37 +00:00
Ronald S. Bultje 3d373927b1 gst/gstbin.c: Use gst_element_post_message() instead.
Original commit message from CVS:
* gst/gstbin.c: (bin_bus_handler):
Use gst_element_post_message() instead.
2005-08-08 13:38:34 +00:00
Tim-Philipp Müller 46cc9bc152 gst/: Add padding to our base elements' class and instance structs and to GstIterator (you will need to rebuild all p...
Original commit message from CVS:
* gst/base/gstadapter.h:
* gst/base/gstbasesink.h:
* gst/base/gstbasesrc.h:
* gst/base/gstbasetransform.h:
* gst/base/gstcollectpads.h:
* gst/base/gstpushsrc.h:
* gst/gstiterator.h:
Add padding to our base elements' class and instance structs and
to GstIterator (you will need to rebuild all plugins and apps!)
2005-08-08 13:31:09 +00:00
Ronald S. Bultje 0454767817 gst/gstbin.c: Make default message forwarding from child->bus to bin->bus threadsafe and make it not emit warnings if...
Original commit message from CVS:
* gst/gstbin.c: (bin_bus_handler):
Make default message forwarding from child->bus to bin->bus
threadsafe and make it not emit warnings if the parent has no bus.
2005-08-08 13:17:07 +00:00
Ronald S. Bultje c27821d70c gst/gstelement.c: On paused->ready, set pad->caps to NULL, as is the documented behaviour in this state change. Fixes...
Original commit message from CVS:
* gst/gstelement.c: (activate_pads):
On paused->ready, set pad->caps to NULL, as is the documented
behaviour in this state change. Fixes playback of series of
media files when visualization is enabled in Totem.
2005-08-08 12:14:20 +00:00
Ronald S. Bultje c80125e55b gst/elements/gstcapsfilter.c: Allow NULL as filter-caps (which means "any").
Original commit message from CVS:
* gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
Allow NULL as filter-caps (which means "any").
2005-08-07 13:37:08 +00:00
Stefan Kost 27cd61d3c1 migrated some more docs to be inlined in the sources
Original commit message from CVS:
migrated some more docs to be inlined in the sources
2005-08-05 13:42:10 +00:00
Stefan Kost da7dd48860 added long/short desc for controller docs added collectpads base class docs added correct includes to base-class docs
Original commit message from CVS:
added long/short desc for controller docs
added collectpads base class docs
added correct includes to base-class docs
2005-08-05 12:59:46 +00:00
Stefan Kost a34f2613f9 more tests (and fixes) for the controller more docs for the controller integrated companies docs for the adapter
Original commit message from CVS:
more tests (and fixes) for the controller
more docs for the controller
integrated companies docs for the adapter
2005-08-05 10:02:44 +00:00
Andy Wingo e20ed97cb2 gst/elements/gstcapsfilter.c: Reimplement using basetransform, fixes buffer_alloc proxying among other things.
Original commit message from CVS:
2005-08-04  Andy Wingo  <wingo@pobox.com>

* gst/elements/gstcapsfilter.c: Reimplement using basetransform,
fixes buffer_alloc proxying among other things.

* gst/base/gstbasetransform.c:
* gst/base/gstbasetransform.h:
Revert patch to gstbasetransform from 7-28 removing
delay_configure.

* gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
* gst/base/gstbasetransform.c (gst_base_transform_get_size):
Semantics changed, should return not the size of the output buffer
but the byte size of a buffer with a given caps.

* gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
debug object.
(gst_base_transform_configure_caps): Don't set out_size here: (in,
out) are not the pad caps until setcaps finishes.
(gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
not-in-place case as well. Deal with changing from in-place to
not-in-place within calling pad_alloc_buffer. Still a bit
concerned about the overhead here...
2005-08-04 19:40:43 +00:00
Edward Hervey 8ff106a019 gst/base/gstadapter.h: Added gst_adapter_get_type() to the header
Original commit message from CVS:
* gst/base/gstadapter.h:
Added gst_adapter_get_type() to the header
2005-08-04 11:56:57 +00:00
Stefan Kost b3034dba54 added check test suite for the controller fixed a doc typo
Original commit message from CVS:
added check test suite for the controller
fixed a doc typo
2005-08-03 15:59:11 +00:00
Stefan Kost 722f83a8fc add short/long description docs to base classes add pushsrc to the docs remove consolidated doc fragments
Original commit message from CVS:
add short/long description docs to base classes
add pushsrc to the docs
remove consolidated doc fragments
2005-08-03 13:30:18 +00:00
Jan Schmidt 75c955843e gst/base/gstcollectpads.c: Broadcast the condition when shutting down, to make sure we wake all threads up. Shut down...
Original commit message from CVS:
* gst/base/gstcollectpads.c: (gst_collectpads_finalize),
(gst_collectpads_stop):
Broadcast the condition when shutting down, to make sure we wake all
threads up. Shut down pads on finalize, for safety.
2005-08-01 21:17:01 +00:00
Jan Schmidt 4572dcaa86 gst/base/gstbasetransform.c: Handle PAUSED->READY->PAUSED transition after negotiation occurred already.
Original commit message from CVS:
2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
* gst/base/gstbasetransform.c: (gst_base_transform_init),
(gst_base_transform_handle_buffer),
(gst_base_transform_change_state):
Handle PAUSED->READY->PAUSED transition after negotiation
occurred already.
* gst/gstmessage.c: (gst_message_init):
Extra piece of debug for new messages.
2005-08-01 17:26:00 +00:00
Tim-Philipp Müller 536aef2218 gst/elements/gsttypefindelement.*: Set caps on all outgoing buffers, not just the first one.
Original commit message from CVS:
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_have_type), (gst_type_find_element_init),
(stop_typefinding), (gst_type_find_element_handle_event),
(gst_type_find_element_chain), (gst_type_find_element_getrange):
* gst/elements/gsttypefindelement.h:
Set caps on all outgoing buffers, not just the first one.
2005-08-01 11:15:47 +00:00
Tim-Philipp Müller 8ec43a5445 gst/elements/gsttypefindelement.*: Set caps on first outgoing buffer when we've found the type.
Original commit message from CVS:
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_have_type),
(gst_type_find_element_check_set_buffer_caps),
(gst_type_find_element_init), (stop_typefinding),
(gst_type_find_element_handle_event),
(gst_type_find_element_chain), (gst_type_find_element_getrange):
* gst/elements/gsttypefindelement.h:
Set caps on first outgoing buffer when we've found the type.
2005-08-01 09:10:01 +00:00
Tim-Philipp Müller 374b7a3183 gst/gstpad.h: Fix inline docs for GstPadLinkReturn.
Original commit message from CVS:
* gst/gstpad.h:
Fix inline docs for GstPadLinkReturn.
* gst/gststructure.c: (gst_structure_has_name):
* gst/gststructure.h:
* docs/gst/gstreamer-sections.txt:
New API: gst_structure_has_name().
2005-07-31 11:59:33 +00:00
Tim-Philipp Müller 96e954852f configure.ac: Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64 and _LARGEFILE_SOURCE in config.h as required...
Original commit message from CVS:
* configure.ac:
Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
and _LARGEFILE_SOURCE in config.h as required. Do not
export those flags in our .pc files any longer (#142209).
Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
* gst/elements/gstfilesink.c: (gst_file_sink_class_init),
(gst_file_sink_do_seek), (gst_file_sink_event),
(gst_file_sink_get_current_offset), (gst_file_sink_render):
Redo seek/tell calls with large file support in mind; add some
debugging messages; add log message that tells us when large
file support is unavailable or not enabled for some reason.
* gst/elements/gstfilesrc.c: (gst_file_src_class_init):
Add log message that tells us when large file support
is unavailable or not enabled for some reason.
2005-07-30 15:00:07 +00:00
Wim Taymans afbe734024 check/gst/gstghostpad.c: Added test for removing an element with ghostpad from a bin.
Original commit message from CVS:
* check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
Added test for removing an element with ghostpad from a bin.
Fixed test as current implementation does the right thing.

* gst/gstghostpad.c: (gst_proxy_pad_class_init),
(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_activate),
(gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
(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),
(gst_proxy_pad_get_target), (gst_proxy_pad_init),
(gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
(gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
(gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
(gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
(gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
(gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
* gst/gstghostpad.h:
Clean up ghostpads, remove properties for internal stuff.
Make threadsafe.
Fix refcounting.
Prepare for switching targets, not all use cases work yet.
2005-07-29 19:22:28 +00:00
Wim Taymans 49de56dd1f docs/design/part-gstghostpad.txt: Small update.
Original commit message from CVS:
* docs/design/part-gstghostpad.txt:
Small update.

* gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
(gst_bin_remove_func):
Unlinking pads while holding the bin LOCK is not a good
idea.

* gst/gstpad.c: (gst_pad_class_init),
(gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
(gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
No prob setting template after creating the pad.
2005-07-29 19:19:29 +00:00