Original commit message from CVS:
* check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
add another check
* gst/gstbus.c:
add some doc
* gst/gstinfo.c: (_gst_debug_init):
slightly more readable color for refcount debugging
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
Enable check that works now.
* gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
(update_outdegree), (find_element), (gst_bin_sort_iterator_next),
(gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
(gst_bin_iterate_sorted), (gst_bin_element_set_state),
(gst_bin_change_state):
* gst/gstbin.h:
Redid the state change algorithm using a topological sort algo.
Handles all cases correctly.
Exposed iterator for state change order.
* gst/gstelement.h:
Temp storage for state changes. Need to get rid of this soon.
Original commit message from CVS:
* gst/gstbuffer.c: (gst_subbuffer_init):
Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
works correctly in all circumstances (we could have just copied
the parent buffer's readonly flag, but conceptually it seems
cleaner to mark all subbuffers as read-only). (based on patch
by Alessandro Decina, #314710).
* check/gst/gstbuffer.c: (create_read_only_buffer),
(test_make_writable), (test_subbuffer_make_writable),
(gst_test_suite):
Add some tests for gst_buffer_make_writable().
Original commit message from CVS:
* check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
(test_children_state_change_order_semi_sink):
Fix test case: we can't rely on a fixed state change order when
going from READY => PAUSED because the sink might commit its
new state first when the first buffer created by the source
reaches the sink before the source has finished its change state.
(Test case still fails at times, see #316856, comment 5 onwards)
Original commit message from CVS:
* check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
(test_children_state_change_order_semi_sink), (gst_bin_suite):
Added test to check state change order in bins (can still be made
to fail here under heavy disk load; bails out with 'Push on pad
fakesink:sink0, but it was not activated in push mode').
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
Fix state change order when there is only a semi sink (#316856)
* gst/gstbus.c: (gst_bus_class_init):
Use _class_peek_parent(), not _class_ref(); fix docs to say
'default main context' instead of 'mainloop' where that is
what's meant.
* gst/gstelement.c: (gst_element_commit_state),
(gst_element_set_state):
Fix typos in debug messages
Original commit message from CVS:
* check/gst/gstvalue.c: (test_date), (gst_value_suite):
Add simplistic test suite for GST_TYPE_DATE serialisation and
deserialisation.
Original commit message from CVS:
2005-09-22 Andy Wingo <wingo@pobox.com>
* gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
accessors returning refcounted objects, return a ref.
* check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
accessor for caps. IDEMPOTENCE. Oh yes.
Original commit message from CVS:
2005-09-21 Andy Wingo <wingo@pobox.com>
* check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
data and event probes on the same pad.
Original commit message from CVS:
2005-09-21 Andy Wingo <wingo@pobox.com>
* check/gst/gstutils.c: New file.
(test_buffer_probe_n_times): A simple buffer probe test. More to
come, foolios.
* gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
have-data::buffer, not have-data.
(gst_pad_add_event_probe): Likewise for have-data::event.
(gst_pad_add_data_probe): More docs. The part about 'resolving the
peer' isn't quite right yet though.
(gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
(gst_pad_remove_data_probe): Change to take the guint handler_id
as their arg, not the function+data, which is more glib-like.
* gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
the signal emission to indicate if the data is a buffer or an
event.
(gst_pad_get_type): Initialize buffer and event quarks.
(gst_pad_class_init): have-data is now a detailed signal, yes it
is.
Original commit message from CVS:
* check/gst/gstevent.c:
* gst/elements/gstfakesink.c:
* gst/elements/gstfakesink.h:
remove the sync property from fakesink.
has the side effect of setting sync TRUE
for fakesink, which is a change. Anyone who knows how
to fix this nicely in a GObject-y way, feel free.
Original commit message from CVS:
* check/Makefile.am:
disable valgrinding the controller test again
* docs/gst/gstreamer-sections.txt:
update for api-changes
Original commit message from CVS:
* check/generic/states.c: (GST_START_TEST), (states_suite):
Add a sleep to ensure elements have a chance to start their
pad tasks before shutdown. Reduces racy test results.
* gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
Time out the select every now and then to check for shutdown.
Original commit message from CVS:
* check/Makefile.am:
* check/pipelines/cleanup.c: (run_pipeline):
* check/pipelines/simple_launch_lines.c: (run_pipeline),
(GST_START_TEST):
enable cleanup again after fixing the leak
* docs/README:
some more info on docs
Original commit message from CVS:
* check/Makefile.am:
re-enable tests now that leaks are plugged
* check/gst/gst.c:
* check/gst/gstbin.c:
* check/gst/gstpipeline.c:
add some more tests while fixing leaks
* common/check.mak:
make sure binaries are uptodate when valgrinding/gdbing
* gst/gst.c:
* gst/gstelementfactory.c:
remove a ref too many, and add a FIXME for when we get
round to disposing of classes
* gst/gstplugin.c:
fix the refcounting when loading a plugin from a file and
the code pretends that the pointer is the same even though
of course it can change
* gst/gstpluginfeature.c:
unref plugins marked cached (a bit confusing as a name)
as the docs state should be done
various doc additions to explain refcounting
* gst/gstregistry.c:
* gst/gstregistryxml.c:
debugging
Original commit message from CVS:
* check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
* check/gst/gstbus.c: (message_func_eos), (message_func_app),
(send_messages), (GST_START_TEST), (gstbus_suite):
* check/gst/gstpipeline.c: (GST_START_TEST):
* check/pipelines/cleanup.c: (run_pipeline):
* check/pipelines/simple_launch_lines.c: (run_pipeline),
(GST_START_TEST):
* gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
(gst_bus_source_check), (gst_bus_source_dispatch),
(gst_bus_create_watch), (gst_bus_add_watch_full),
(gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
* gst/gstbus.h:
* tools/gst-launch.c: (event_loop):
* tools/gst-md5sum.c: (event_loop):
GstBusHandler -> GstBusFunc, return value has the same meaning as
any other GSource (FALSE == remove source).
_add_watch() and _add_watch_full() now take a MessageType mask to
only handle specific types of messages.
_poll() returns the GstMessage instead of the message type to avoid
race conditions.
_have_pending() takes a MessageType mask now too.
Added testsuite for multiple bus watches.
Fix testsuites and applications for new bus API.
Original commit message from CVS:
* check/gst/gstplugin.c:
* gst/gstelementfactory.c:
* gst/gstplugin.c:
* gst/gstpluginfeature.c:
* gst/gstregistry.c:
Getting tired of debugging. Disabled all the unreffing of
plugins and features, which fixes the segfaults, but of
course leaks like crazy. At least playbin works.
Original commit message from CVS:
* check/Makefile.am:
* check/generic/states.c:
* gst/Makefile.am:
* gst/gst.c:
* gst/gst.h:
* gst/gst_private.h:
* gst/gstelementfactory.c:
* gst/gstindex.c:
* gst/gstinfo.c:
* gst/gstplugin.c:
* gst/gstplugin.h:
* gst/gstpluginfeature.c:
* gst/gstpluginfeature.h:
* gst/gstregistry.c:
* gst/gstregistry.h:
* gst/gstregistrypool.c: remove
* gst/gstregistrypool.h: remove
* gst/gsttypefind.c:
* gst/gsttypefindfactory.c:
* gst/gsturi.c:
* tools/Makefile.am:
* tools/gst-compprep.c:
* tools/gst-inspect.c:
* tools/gst-register.c: remove
* tools/gst-xmlinspect.c:
Registry rewrite. Changes registry from being a file created
by a tool into a simple cache file created automatically by
libgstreamer. Removed gst-register (because it's no longer
needed). Remove registry pools, because we only have one
registry implementation (XML). Fix up other subsystems as
necessary.
Original commit message from CVS:
* check/gst/gstpipeline.c: (GST_START_TEST):
* docs/gst/gstreamer-sections.txt:
* gst/gstutils.c: (set_state_async_thread_func),
(gst_element_set_state_async):
* gst/gstutils.h:
add a gst_element_set_state_async method that
sets the state and starts a thread to make sure the state
change completes as best as it can
Original commit message from CVS:
* check/gst-libs/controller.c:
Header include fix.
* gst/base/gstbasetransform.c:
(gst_base_transform_default_prepare_buf),
(gst_base_transform_handle_buffer):
* gst/base/gstbasetransform.h:
Some more basetransform changes and fixes to enable sub-classes
that modify buffer metadata only.
* gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
(gst_capsfilter_init), (gst_capsfilter_transform_ip),
(gst_capsfilter_prepare_buf):
If the output pad has fixed allowed caps and input buffers
don't have any, set the fixed caps on outgoing buffers.
Original commit message from CVS:
* check/elements/identity.c: (GST_START_TEST):
Make the error a little clearer when the test fails because
identity made a copy of the buffer.
* docs/gst/gstreamer-sections.txt:
New symbols in gstbasetransform.h
* gst/base/gstbasetransform.c: (gst_base_transform_class_init),
(gst_base_transform_init), (gst_base_transform_transform_size),
(gst_base_transform_configure_caps), (gst_base_transform_setcaps),
(gst_base_transform_default_prepare_buf),
(gst_base_transform_get_unit_size),
(gst_base_transform_buffer_alloc),
(gst_base_transform_handle_buffer), (gst_base_transform_chain),
(gst_base_transform_change_state),
(gst_base_transform_set_passthrough),
(gst_base_transform_set_in_place),
(gst_base_transform_is_in_place):
* gst/base/gstbasetransform.h:
Change BaseTransform to separate in_place operate from same_caps
output. in_place implies that the element can perform the transform
on incoming buffers in-place, even if the caps on the output are
different.
Sub-class elements can now implement special buffer allocation
methods for outgoing buffers if they wish to.
Big documentation addition.
* gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
* gst/elements/gstelements.c:
Changes for basetransform modifications.
* gst/elements/Makefile.am:
* gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
Compile fix. Extra debug output.
Original commit message from CVS:
* check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
(gst_pad_suite):
add tests for valid pad naming
* gst/check/gstcheck.c: (gst_check_log_message_func),
(gst_check_log_critical_func):
add ASSERT_WARNING
remove printing of code, it is fragile when the code contains
% and the line number is enough info
* gst/check/gstcheck.h:
* gst/gstpad.c: (gst_pad_template_new):
fix memleaks
Original commit message from CVS:
* check/Makefile.am:
* check/gst/.cvsignore:
* check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
(gst_pipeline_suite), (main):
adding a test for pipelines and state changes
* gst/gstutils.c: (get_state_func):
add some debugging
* gstreamer.spec.in:
fix up spec file
Original commit message from CVS:
2005-09-02 Andy Wingo <wingo@pobox.com>
* gst/gstelement.h (GstState): Renamed from GstElementState,
changed to be a normal enum instead of flags.
(GstStateChangeReturn): Renamed from GstElementStateReturn, names
munged to be GST_STATE_CHANGE_*.
(GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
work with the new state representation.
(GstStateChange): New enumeration of possible state transitions.
Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
(GstElementClass::change_state): Pass the GstStateChange along as
an argument. Helps language bindings, so they don't have to use
tricky lock-needing macros like GST_STATE_CHANGE ().
* scripts/update-states (file): New script. Run it on a file to
update it for state naming and API changes. Updates files in
place.
* All files updated for the new API.
Original commit message from CVS:
* check/elements/fakesrc.c: (setup_fakesrc):
* check/elements/identity.c: (setup_identity):
Activate pads before using them.
Original commit message from CVS:
* check/gst-libs/controller.c: (GST_START_TEST),
(gst_controller_suite):
more tests
* docs/gst/tmpl/gstutils.sgml:
* docs/libs/gstreamer-libs-sections.txt:
* docs/libs/tmpl/gstdataprotocol.sgml:
include path fixes
* examples/controller/audio-example.c: (main):
controller example works now
* gst/gstclock.h:
doc fixes
* tools/gst-inspect.c: (print_element_properties_info):
show param spec flags
Original commit message from CVS:
2005-08-26 Andy Wingo <wingo@pobox.com>
* check/pipelines/simple_launch_lines.c (run_pipeline): Check
element_set_state's return val.
(test_2_elements): Add test that's been disabled for months.
* gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
can-activate-pull properties.
* gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
can-activate-pull properties. Implement is_seekable so fakesrc can
operate in pull mode.
* gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
properties.
(gst_base_sink_activate, gst_base_sink_activate_pull)
(gst_base_sink_activate_push): Make activation mode choosing work.
Cleanups.
(gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
is right. Make pull mode work. Post an eos before pausing in pull
mode.
(gst_base_sink_change_state): Pay attention to the core's
change_state() return val.
* gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
has-getrange properties. Cleanups.
* gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
has_getrange and replace with can_activate_pull and
can_activate_push.
* gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
locking comments. Remove has_loop, has_chain and replace with
can_activate_pull and can_activate_push.
Original commit message from CVS:
* check/generic/states.c: (GST_START_TEST):
Cleanup can be done at the end.
* gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
(gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
(gst_task_get_state), (gst_task_start), (gst_task_pause):
Oh boy.. Thanks for finding this, Thomas.
Original commit message from CVS:
* check/generic/states.c: (GST_START_TEST):
Make sure all tasks are stopped.
* check/gst/gstbin.c: (GST_START_TEST):
Unref after usage for proper valgrinding.
* gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
Really wait for the task to stop before destroying the
mutex.
* gst/gstqueue.c: (gst_queue_sink_activate_push),
(gst_queue_src_activate_push):
Small cleanups. Don't stop the task when we did not start
it.
* gst/gsttask.c: (gst_task_get_type), (gst_task_init),
(gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
(gst_task_get_state), (gst_task_start), (gst_task_pause),
(gst_task_join):
* gst/gsttask.h:
Protect the stream lock with the object lock.
Disallow setting the stream lock when running.
Add cleanup_all to wait for the threadpool to finish.
Remove code to autoallocate a mutex if none was provided.
Add _join() to wait for a task to stop.
Protect the thread pool with a global lock.
Original commit message from CVS:
* check/Makefile.am:
* check/generic/states.c: (GST_START_TEST), (states_suite), (main):
add a test that does a bunch of state changes on elements
needs some fixing for valgrind
* check/states/sinks.c: (gst_object_suite):
whitespace
* gst/gstcaps.h:
add prototype for gst_caps_is_equal_fixed
* gst/gstplugin.c:
* gst/gstregistrypool.c:
doc fixes
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
* gst/gstbin.c: (bin_bus_handler):
* gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
(gst_message_new), (gst_message_new_eos), (gst_message_new_error),
(gst_message_new_warning), (gst_message_new_tag),
(gst_message_new_state_changed), (gst_message_new_segment_start),
(gst_message_new_segment_done), (gst_message_new_custom):
* gst/gstmessage.h:
* tools/gst-launch.c: (event_loop):
* tools/gst-md5sum.c: (event_loop):
Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
that applications can sensibly post custom messages with references
to their own objects.
Original commit message from CVS:
* check/gst-libs/controller.c: (GST_START_TEST),
(gst_controller_suite):
* docs/gst/tmpl/gstcaps.sgml:
* docs/gst/tmpl/gstghostpad.sgml:
* docs/gst/tmpl/gstquery.sgml:
* docs/gst/tmpl/gstutils.sgml:
* libs/gst/controller/gst-helper.c: (gst_object_set_controller),
(gst_object_sink_values), (gst_object_get_value_arrays),
(gst_object_get_value_array):
gracefully handle helper method calls to objects that are not beeing
controlled, added test case for that
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
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
Original commit message from CVS:
* check/gst/gstevent.c: (event_probe), (test_event),
(GST_START_TEST):
Er, don't call gst_bin_watch_for_state_change you idiot.
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.
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
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
Original commit message from CVS:
* check/gst/gstevents.c: (GST_START_TEST), (event_probe),
(test_event), (timediff), (gstevents_suite):
Should fix build on 64-bit arch's
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.
Original commit message from CVS:
* check/gst/gstevents.c: (GST_START_TEST), (event_probe),
(test_event), (timediff), (gstevents_suite):
Provide more error margin in clock measurements to allow for
g_get_current_time inaccuracies.
Original commit message from CVS:
* check/gst/gstevents.c: (GST_START_TEST), (event_probe),
(test_event), (timediff), (gstevents_suite):
Fix error message output so I might be able to tell why the
test works here but fails on the build farm.
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.
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.
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
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.
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
Added checks for hierarchy consistency whan adding linked
elements to bins.
* check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
Added check to test element scheduling without bin/pipeline.
* check/pipelines/simple_launch_lines.c: (GST_START_TEST):
First add elements to bin, then link.
* gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
(gst_bin_remove_func):
Unlink pads from elements added/removed from bin to maintain
hierarchy consistency.
Original commit message from CVS:
* check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
Added some more tests for wrong hierarchy
* docs/design/part-overview.txt:
Some updates.
* gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
Cleanups.
* gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
(gst_element_dispose):
Some more cleanups.
* gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
(gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
(gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
(gst_pad_set_caps), (gst_pad_send_event):
Check for correct hierarchy when linking pads. Moving to
strict requirement for ghostpads when linking elements in
different bins.
* gst/gstpad.h:
Clean ups. Added WRONG_HIERARCHY return value.
Original commit message from CVS:
Removed plugable schedulers.
Removed Scheduler/Manager from elements.
Removed gsttypes.h, rearranged includes.
Removed dependency pad<->element, element<>pipeline, and
various others, fix includes.
implement gst_pad_get_parent() with gst_object_get_parent()
Make GstTask sefcontained.
Fix _get_state() on GstBin, it did not return ASYNC with a 0
timeout.
Fix endless loop in iterator_fold_with_resync.
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
Make elements silent as the deep_notify refs the
parent, which might make the test fail.
* gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
Don't hold the lock for too long.
Original commit message from CVS:
* testsuite/caps/Makefile.am:
* testsuite/caps/value_compare.c:
* testsuite/caps/value_intersect.c:
* check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
move two testsuite apps over to the check dir