Commit graph

1304 commits

Author SHA1 Message Date
Thomas Vander Stichele
b7e7148a4c check/Makefile.am: instate more valgrindable tests
Original commit message from CVS:
2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>

* check/Makefile.am:
instate more valgrindable tests
* check/elements/gstfakesrc.c: (chain_func), (event_func),
(GST_START_TEST), (fakesrc_suite):
* check/gst/gstpad.c: (GST_START_TEST):
* check/gst/gststructure.c: (GST_START_TEST):
fix test leaks
* docs/gst/tmpl/gstminiobject.sgml:
* gst/gstpad.c: (gst_pad_finalize):
fix the static mutex leak
2005-07-12 09:41:00 +00:00
Thomas Vander Stichele
0794b693d9 check/Makefile.am: add two more tests for valgrinding
Original commit message from CVS:
* check/Makefile.am:
add two more tests for valgrinding
* check/gst/gstvalue.c: (GST_START_TEST):
test refcount of deserialized buffer, found a leak
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* docs/gst/gstreamer.types:
* docs/gst/tmpl/gstminiobject.sgml:
add miniobject to docs
* gst/gstminiobject.c:
add some docs
* gst/gstvalue.c: (gst_value_deserialize_buffer),
(gst_string_unwrap):
fix a hard-to-find invalid write for one of the tests
fix a leak for deserialized buffers
2005-07-11 18:41:49 +00:00
Ronald S. Bultje
aaf787f488 docs/pwg/: Rewrite scheduling-chapter for scheduling model in 0.9. Add lots of example code and explanation for pad a...
Original commit message from CVS:
* docs/pwg/advanced-events.xml:
* docs/pwg/advanced-request.xml:
* docs/pwg/advanced-scheduling.xml:
* docs/pwg/appendix-porting.xml:
* docs/pwg/building-boiler.xml:
* docs/pwg/intro-preface.xml:
* docs/pwg/other-ntoone.xml:
Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
of example code and explanation for pad activation, loop() and
getrange() functions and a bit more. Remove old comments pointing
to loop-functions.
* examples/pwg/Makefile.am:
Add loop/getrange examples.
2005-07-11 15:18:32 +00:00
Thomas Vander Stichele
a59215bb4e valgrind unit tests as check-local; add gst_deinit
Original commit message from CVS:
valgrind unit tests as check-local; add gst_deinit
2005-07-11 15:10:40 +00:00
Thomas Vander Stichele
aff85422dc add num-buffers property to basesrc
Original commit message from CVS:
add num-buffers property to basesrc
2005-07-11 15:06:27 +00:00
Thomas Vander Stichele
82596fea62 more macro splitting
Original commit message from CVS:
more macro splitting
2005-07-10 12:03:13 +00:00
Thomas Vander Stichele
3127459e22 gst/gstelement.c: add debug
Original commit message from CVS:

* gst/gstelement.c: (gst_element_get_bus):
add debug
* tools/gst-launch.c: (check_intr), (event_loop):
fix bus leaks
2005-07-10 00:07:51 +00:00
Thomas Vander Stichele
84caeeb557 fix a caps leak
Original commit message from CVS:
fix a caps leak
2005-07-09 23:47:23 +00:00
Thomas Vander Stichele
51bfa5c30b gst/base/gstbasesrc.c: add finalize method and clean up properly
Original commit message from CVS:

* gst/base/gstbasesrc.c: (gst_base_src_class_init),
(gst_base_src_finalize):
add finalize method and clean up properly
* gst/gstpipeline.c: (gst_pipeline_dispose):
add debug
2005-07-09 23:33:24 +00:00
Thomas Vander Stichele
fe31300609 check/gst/gstbin.c: add more things to check
Original commit message from CVS:

* check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
(gst_bin_suite):
add more things to check
* gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
* gst/gstelement.c:
more debug
2005-07-09 22:54:28 +00:00
Thomas Vander Stichele
bb3914dd30 add debugging category use GST_START_TEST now, so we add a debug line
Original commit message from CVS:
add debugging category
use GST_START_TEST now, so we add a debug line
2005-07-09 16:36:18 +00:00
Thomas Vander Stichele
48464956ca check/gst/gstbin.c: add test for state change message on a bin
Original commit message from CVS:

* check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
add test for state change message on a bin
* check/gst/gstelement.c: (START_TEST), (gst_element_suite):
add another test
* gst/gstbin.c: (gst_bin_init):
* gst/gstbus.c: (gst_bus_init), (gst_bus_post):
* gst/gstelement.c: (gst_element_post_message),
(gst_element_set_state):
* gst/gstelementfactory.c: (gst_element_factory_create):
* gst/gstmessage.c: (gst_message_new):
* gst/gstscheduler.c:
various debugging additions and cleanups
2005-07-09 15:18:53 +00:00
Thomas Vander Stichele
240c8e10cf adding tests for elements
Original commit message from CVS:
adding tests for elements
2005-07-08 16:41:45 +00:00
Thomas Vander Stichele
f3d8a28662 gst/registries/gstlibxmlregistry.c: plug more leaks. A simple gst_init() now is leakfree, yay.
Original commit message from CVS:

* gst/registries/gstlibxmlregistry.c: (load_feature):
plug more leaks.  A simple gst_init() now is leakfree, yay.
2005-07-08 16:16:29 +00:00
Thomas Vander Stichele
c527fd8dad plug another memleak in registry loading - I have NO idea why this was returning a GstPlugin
Original commit message from CVS:
plug another memleak in registry loading - I have NO idea why this was returning a GstPlugin
2005-07-08 16:08:16 +00:00
Thomas Vander Stichele
6ea7234947 configure.ac: use GST_SET_ERROR_CFLAGS
Original commit message from CVS:

* configure.ac:
use GST_SET_ERROR_CFLAGS
* docs/faq/cvs.xml:
change to ERROR_CFLAGS
2005-07-08 14:35:57 +00:00
Thomas Vander Stichele
f627c78fa6 configure.ac: make GST_ERROR_CFLAGS overridable and re-enable Werror
Original commit message from CVS:
* configure.ac:
make GST_ERROR_CFLAGS overridable and re-enable Werror
* docs/faq/cvs.xml:
add a note about error CFLAGS
* docs/gst/tmpl/gstfakesrc.sgml:
* gst/elements/gstfakesrc.c:
comment out some unused code
* gst/gst.c: (split_and_iterate):
* gst/registries/gstlibxmlregistry.c: (load_pad_template),
(load_feature):
plug some memleaks
2005-07-08 14:01:31 +00:00
Thomas Vander Stichele
adc8fa1df5 factor out gtk-doc
Original commit message from CVS:
factor out gtk-doc
2005-07-07 14:16:40 +00:00
Wim Taymans
adf701a8cc gst/schedulers/threadscheduler.c: Unlock the STREAM_LOCK completely.
Original commit message from CVS:
* gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
(gst_thread_scheduler_dispose):
Unlock the STREAM_LOCK completely.
2005-07-07 14:01:47 +00:00
Thomas Vander Stichele
48cef19743 adding an element test
Original commit message from CVS:
adding an element test
2005-07-07 11:59:37 +00:00
Andy Wingo
a1457cff29 gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating debug message.
Original commit message from CVS:
2005-07-07  Andy Wingo  <wingo@pobox.com>

* gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
debug message.
2005-07-07 11:09:32 +00:00
Wim Taymans
b9880f8a26 gst/gstquery.*: Remove old types
Original commit message from CVS:
* gst/gstquery.c:
* gst/gstquery.h:
Remove old types
2005-07-07 08:43:17 +00:00
Wim Taymans
c985c341ab gst/base/gstbasesrc.c: Allow subclasses to implement their own negotiation.
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_get_range),
(gst_base_src_default_negotiate), (gst_base_src_negotiate):
Allow subclasses to implement their own negotiation.
2005-07-07 08:16:54 +00:00
Jan Schmidt
6796aaa385 docs/design/: Update design notes to reflect the movement of responsibility for bus handling from GstPipeline to
Original commit message from CVS:

* docs/design/part-gstbin.txt:
* docs/design/part-gstpipeline.txt:
Update design notes to reflect the movement of
responsibility for bus handling from GstPipeline to
GstBin
2005-07-06 17:17:59 +00:00
Jan Schmidt
edf541e722 configure.ac: Remove unnecessary queue2/3/4 examples.
Original commit message from CVS:
* configure.ac:
Remove unnecessary queue2/3/4 examples.
2005-07-06 16:45:45 +00:00
Wim Taymans
03aa950f7d gst/base/: Make basesrc negotiate.
Original commit message from CVS:
* gst/base/README:
* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
(gst_base_sink_handle_object), (gst_base_sink_loop),
(gst_base_sink_change_state):
* gst/base/gstbasesink.h:
* gst/base/gstbasesrc.c: (gst_base_src_class_init),
(gst_base_src_init), (gst_base_src_setcaps),
(gst_base_src_getcaps), (gst_base_src_loop),
(gst_base_src_default_negotiate), (gst_base_src_negotiate),
(gst_base_src_start), (gst_base_src_change_state):
* gst/base/gstbasesrc.h:
Make basesrc negotiate.
Handle the case where preroll fails in basesink.
Update README.
2005-07-06 13:25:26 +00:00
Wim Taymans
7ce828ba3a gst/gstpad.c: Implement the fixate function.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
Implement the fixate function.
Clean up acceptcaps.
2005-07-06 13:20:47 +00:00
Ronald S. Bultje
80251ed8ed docs/pwg/: Remove never-written filter-factory chapter; I'll add the various base classes to part 4 ("other element t...
Original commit message from CVS:
* docs/pwg/building-filterfactory.xml:
* docs/pwg/pwg.xml:
Remove never-written filter-factory chapter; I'll add the various
base classes to part 4 ("other element types") later on.
2005-07-06 12:24:50 +00:00
Ronald S. Bultje
a13be0a71e Add a chapter on caps negotiation, simplify the original code samples a bit w.r.t. caps negotiation, add link to the ...
Original commit message from CVS:
* docs/pwg/advanced-negotiation.xml:
* docs/pwg/building-boiler.xml:
* docs/pwg/building-pads.xml:
* docs/pwg/pwg.xml:
* examples/pwg/Makefile.am:
Add a chapter on caps negotiation, simplify the original code
samples a bit w.r.t. caps negotiation, add link to the advanced
section. Add a bunch of examples showing different use cases of
different types of caps negotiation. Upstream renegotiation isn't
fully documented yet since nobody knows how that works.
2005-07-06 12:18:00 +00:00
Thomas Vander Stichele
b9f6a4d4ee if pad has no parent, return NULL as list of internal links
Original commit message from CVS:

* check/gst/gstpad.c:
* check/gstcheck.c:
* gst/gstpad.c: (gst_pad_get_internal_links_default):
if pad has no parent, return NULL as list of internal links
2005-07-06 11:31:57 +00:00
Andy Wingo
0675bff0fc gst/: s/BASESRC/BASE_SRC/g.
Original commit message from CVS:
2005-07-05  Andy Wingo  <wingo@pobox.com>

* gst/elements/gstfilesrc.c:
* gst/elements/gstfakesrc.c:
* gst/base/gstpushsrc.c:
* gst/base/gstbasesrc.h:
* gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
2005-07-05 16:38:13 +00:00
Stefan Kost
e066e8b616 better report genration target (lcov needs a patch)
Original commit message from CVS:
better report genration target (lcov needs a patch)
2005-07-05 12:17:24 +00:00
Andy Wingo
82a5239bfe gst/elements, testsuite: Null if we got it...
Original commit message from CVS:
2005-07-05  Andy Wingo  <wingo@pobox.com>

* gst/elements, testsuite: Null if we got it...
2005-07-05 10:58:21 +00:00
Wim Taymans
658bba4626 Ported dataprotol to 0.9.
Original commit message from CVS:
* configure.ac:
* libs/gst/dataprotocol/Makefile.am:
* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
* libs/gst/dataprotocol/dataprotocol.h:
* pkgconfig/Makefile.am:
* pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
* pkgconfig/gstreamer-dataprotocol.pc.in:
Ported dataprotol to 0.9.
Added pkgconfig files.
2005-07-05 10:20:14 +00:00
Andy Wingo
fd980b9f72 gst/base/gstbasetransform.c (gst_base_transform_setcaps): Default to returning TRUE for the case when tranform_caps r...
Original commit message from CVS:
2005-07-05  Andy Wingo  <wingo@pobox.com>

* gst/base/gstbasetransform.c (gst_base_transform_setcaps):
Default to returning TRUE for the case when tranform_caps returns
a fixed caps, like for identity or volume.
2005-07-05 09:35:22 +00:00
Andy Wingo
83a7075f8a check/: Application message API change.
Original commit message from CVS:
2005-07-05  Andy Wingo  <wingo@pobox.com>

* check/gst/gstbus.c (pound_bus_with_messages):
* check/gst/gstmessage.c (START_TEST):
* check/pipelines/simple_launch_lines.c (got_handoff): Application
message API change.

* gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
logic weaks here: always run transform_caps, trying passthrough
operation only if the original caps intersects with the transform.

* gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
source and sink caps.

* gst/base/gstbasetransform.c (gst_base_transform_getcaps):
Intersect the peer caps with the pad template before going into
transform_caps.
(gst_base_transform_transform_caps): More debugging.

* gst/gstmessage.h (gst_message_new_application): Take a GstObject
src argument.
2005-07-05 08:47:40 +00:00
Edward Hervey
e3141fc8f5 gst/gstutils.*: now returns the signal id for better wrapping in bindings.
Original commit message from CVS:
* gst/gstutils.c:
* gst/gstutils.h:
(gst_pad_add_*_probe): now returns the signal id for better wrapping
in bindings.
2005-07-04 15:08:30 +00:00
Andy Wingo
d7a711c35f check/gst/gstpad.c: Only set explicit caps on pads.
Original commit message from CVS:
2005-07-04  Andy Wingo  <wingo@pobox.com>

* check/gst/gstpad.c: Only set explicit caps on pads.
2005-07-04 09:22:51 +00:00
Andy Wingo
c1d34b8acf tests/network-clock.scm: Commentary update.
Original commit message from CVS:
2005-07-01  Andy Wingo  <wingo@pobox.com>

* tests/network-clock.scm: Commentary update.

* gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
Didn't really make sense, not implementable with basetransform,
etc.
(gst_identity_transform): Unref inbuf via make_writable. Feeble
attempt at implementing the sync property, needs an unlock method.

* gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
New func, by default returns the same caps (the identity
transformation).
(gst_base_transform_getcaps): Uses transform_caps to return
something sensible.
(gst_base_transform_setcaps): Complicated logic to get caps on
both pads, even if they are different, and to call set_caps once
for every time both pads get their caps set.
(gst_base_transform_handle_buffer): Give the ref to the transform
function. Allows in-place modification of the buffer.

* gst/base/gstbasetransform.h (transform_caps): New class method.
Given caps on one side, what can I do on the other.
(set_caps): Take two caps, one for each side of the element.

* gst/gstpad.h:
* gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
caps in place. This is safe because we can check the mutability of
the caps, and a good idea because fixate functions are just called
as a matter of last resort. (Not actually implemented.)
(gst_pad_set_caps): If the caps we're setting is actually the same
as the existing pad caps, just update the pointer without calling
setcaps. Assert that caps is either NULL or fixed, as per the
docs.

* gst/gstghostpad.c: Update for fixate changes.
2005-07-01 16:46:59 +00:00
Jan Schmidt
e762446852 gst/gstpad.c: Put the mini_object into GValue as a mini_object, not a gpointer.
Original commit message from CVS:
2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>

* gst/gstpad.c: (gst_pad_emit_have_data_signal):
Put the mini_object into GValue as a mini_object,
not a gpointer.
2005-07-01 14:36:12 +00:00
Ronald S. Bultje
8b0f6af06f examples/pwg/Makefile.am: Fix buildbot again.
Original commit message from CVS:
* examples/pwg/Makefile.am:
Fix buildbot again.
2005-07-01 14:20:19 +00:00
Ronald S. Bultje
e62fd449c2 docs/pwg/building-testapp.xml: Add extra check.
Original commit message from CVS:
* docs/pwg/building-testapp.xml:
Add extra check.
* examples/pwg/Makefile.am:
Fix buildbot.
2005-07-01 13:01:47 +00:00
Ronald S. Bultje
c9a37cf682 Enable building the PWG examples.
Original commit message from CVS:
* configure.ac:
* examples/Makefile.am:
* examples/pwg/Makefile.am:
* examples/pwg/extract.pl:
Enable building the PWG examples.
* docs/pwg/advanced-interfaces.xml:
Add URI interface stub.
* docs/pwg/advanced-types.xml:
* docs/pwg/other-autoplugger.xml:
* docs/pwg/appendix-porting.xml:
* docs/pwg/pwg.xml:
Add porting guide (mostly stubs), remove autoplugging (see ADM).
* docs/pwg/building-boiler.xml:
* docs/pwg/building-chainfn.xml:
* docs/pwg/building-pads.xml:
* docs/pwg/building-props.xml:
* docs/pwg/building-state.xml:
* docs/pwg/building-testapp.xml:
Update the building-*.xml parts for 0.9 changes. All examples
code blocks compile in examples/pwg/*.
2005-07-01 12:43:03 +00:00
Ronald S. Bultje
edcaf2cd4f docs/manual/: Fix playbin/decodebin examples, update docs a bit, mention bus instead of signals in various places, me...
Original commit message from CVS:
* docs/manual/advanced-autoplugging.xml:
* docs/manual/appendix-checklist.xml:
* docs/manual/appendix-integration.xml:
* docs/manual/highlevel-components.xml:
Fix playbin/decodebin examples, update docs a bit, mention bus
instead of signals in various places, mention kmplayer and
kaffeine since they have a working GStreamer backend in the KDE
section.
2005-06-30 12:32:17 +00:00
Wim Taymans
4dd878f93b Added CHANGES-0.9 doc, updated status of other docs.
Original commit message from CVS:
* CHANGES-0.9:
* docs/design/draft-ghostpads.txt:
* docs/design/draft-push-pull.txt:
* docs/design/draft-query.txt:
* docs/design/part-TODO.txt:
* docs/design/part-query.txt:
Added CHANGES-0.9 doc, updated status of other docs.

* gst/gstquery.h:
Remove "hmm" macro
2005-06-30 12:18:19 +00:00
Wim Taymans
6a6a717235 gst/base/gstbasesink.*: Some tweaks, only EOS and a buffer complete a preroll.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
(gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
(gst_base_sink_change_state):
* gst/base/gstbasesink.h:
Some tweaks, only EOS and a buffer complete a preroll.
2005-06-30 12:14:47 +00:00
Andy Wingo
6da6bc4530 gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy activate_push down to the internal pad as well.
Original commit message from CVS:
2005-06-30  Andy Wingo  <wingo@pobox.com>

* gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
activate_push down to the internal pad as well.
2005-06-30 11:39:34 +00:00
Ronald S. Bultje
6c8dc39ee4 gst/gsttaginterface.c: Some documentation fixes (#307394 and #307397).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/gsttaginterface.c:
Some documentation fixes (#307394 and #307397).
2005-06-30 10:59:34 +00:00
Ronald S. Bultje
f05cd57bf2 gst/gstvalue.c: Fix memleak (#309125).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/gstvalue.c: (gst_value_intersect_list):
Fix memleak (#309125).
2005-06-30 10:10:00 +00:00
Ronald S. Bultje
dcd0e06448 docs/manual/advanced-dataaccess.xml: Fix fakesrc example to compile; doesn't work, bug somewhere...?
Original commit message from CVS:
* docs/manual/advanced-dataaccess.xml:
Fix fakesrc example to compile; doesn't work, bug somewhere...?
* docs/manual/basics-pads.xml:
Add reference for filtered caps to above chapter.
2005-06-30 09:59:27 +00:00
Wim Taymans
a578cfd009 gst/gstbin.c: Lame attempt at making the state change function a bit more readable.
Original commit message from CVS:
* gst/gstbin.c: (clear_queue), (remove_all_from_queue),
(gst_bin_change_state):
Lame attempt at making the state change function a bit
more readable.
2005-06-30 09:41:15 +00:00
Wim Taymans
41b9a5264d docs/design/: Some more tweeks and additions to the docs.
Original commit message from CVS:
* docs/design/part-clocks.txt:
* docs/design/part-element-sink.txt:
* docs/design/part-events.txt:
* docs/design/part-preroll.txt:
* docs/design/part-states.txt:
Some more tweeks and additions to the docs.
2005-06-30 09:33:45 +00:00
Wim Taymans
092745b46d gst/: Removed atomic operations, use existing LOCK.
Original commit message from CVS:
* gst/gstpad.c: (_gst_do_pass_data_accumulator),
(default_have_data), (gst_pad_class_init), (gst_pad_init),
(gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
(gst_pad_check_pull_range), (gst_pad_get_range),
(gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
* gst/gstpad.h:
* gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
(gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
(gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
(gst_pad_remove_buffer_probe):
Removed atomic operations, use existing LOCK.
Move exception handling out of main code path.
2005-06-30 09:23:54 +00:00
Ronald S. Bultje
a220106c57 gst/gstpad.c: Fix accumulator, add default value by using _emitv() instead of _emit() for signal emission.
Original commit message from CVS:
* gst/gstpad.c: (_gst_do_pass_data_accumulator),
(silly_return_true_function), (gst_pad_class_init),
(gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
(gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
(gst_pad_send_event):
Fix accumulator, add default value by using _emitv() instead
of _emit() for signal emission.
2005-06-29 19:20:07 +00:00
Ronald S. Bultje
af3acddad9 Add probe example.
Original commit message from CVS:
* docs/manual/advanced-dataaccess.xml:
* examples/manual/Makefile.am:
Add probe example.
* gst/gstpad.c: (_gst_do_pass_data_accumulator):
Make work (??).
2005-06-29 16:57:59 +00:00
Tim-Philipp Müller
38565eafdb gst/elements/gstfilesink.c: Simplify code so that we don't have to handle short writes and return GST_FLOW_ERROR if a...
Original commit message from CVS:
* gst/elements/gstfilesink.c: (gst_filesink_render):
Simplify code so that we don't have to handle short
writes and return GST_FLOW_ERROR if an error occured.
2005-06-29 16:11:12 +00:00
Ronald S. Bultje
3b6bf29c8c docs/gst/gstreamer-docs.sgml: Remove probes more.
Original commit message from CVS:
* docs/gst/gstreamer-docs.sgml:
Remove probes more.
2005-06-29 16:05:26 +00:00
Ronald S. Bultje
d13478b357 Remove old probes, add new g-signal-based probes and some utility functions.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/gstpad.sgml:
* docs/gst/tmpl/gstprobe.sgml:
* gst/Makefile.am:
* gst/gstpad.c: (_gst_do_pass_data_accumulator),
(gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
(gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
(gst_pad_push_event), (gst_pad_send_event):
* gst/gstpad.h:
* gst/gstutils.c: (gst_pad_add_data_probe),
(gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
(gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
(gst_pad_remove_buffer_probe):
* gst/gstutils.h:
Remove old probes, add new g-signal-based probes and some utility
functions.
2005-06-29 15:51:25 +00:00
Edward Hervey
6aa149a930 gst/: Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added the definition to the header file.
Original commit message from CVS:
* gst/gstelementfactory.c:
* gst/gstutils.h:
* gst/gstutils.c:
Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
the definition to the header file.
2005-06-29 15:17:25 +00:00
Andy Wingo
a42fb99bac docs/gst/Makefile.am (scan-build.stamp): Totally only check plugins from the source directory.
Original commit message from CVS:
2005-06-29  Andy Wingo  <wingo@pobox.com>

* docs/gst/Makefile.am (scan-build.stamp): Totally only check
plugins from the source directory.
2005-06-29 14:56:08 +00:00
Wim Taymans
802496fb46 docs/gst/tmpl/: Some fixings for blantently wrong text.
Original commit message from CVS:
* docs/gst/tmpl/gstbuffer.sgml:
* docs/gst/tmpl/gstclock.sgml:
Some fixings for blantently wrong text.
2005-06-29 14:52:44 +00:00
Thomas Vander Stichele
a30e9069d1 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will only scan the GST_PLUGIN_PATH locations, and not add system...
Original commit message from CVS:

* check/Makefile.am:
* gst/gst.c: (add_path_func), (init_pre):
* gst/gstregistry.c: (gst_registry_add_path):
add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
only scan the GST_PLUGIN_PATH locations, and not add
system locations
2005-06-29 12:25:05 +00:00
Thomas Vander Stichele
bd728f0b2c doc fixes
Original commit message from CVS:
doc fixes
2005-06-29 12:23:35 +00:00
Ronald S. Bultje
e8dd138e62 docs/manual/advanced-autoplugging.xml: Fix autoplugging example.
Original commit message from CVS:
* docs/manual/advanced-autoplugging.xml:
Fix autoplugging example.
2005-06-29 12:02:13 +00:00
Ronald S. Bultje
92865101cc docs/manual/: Try to get autoplugging working, fix type detection. Fix text in hello-world image.
Original commit message from CVS:
* docs/manual/advanced-autoplugging.xml:
* docs/manual/mime-world.fig:
Try to get autoplugging working, fix type detection. Fix text
in hello-world image.
2005-06-29 11:46:16 +00:00
Wim Taymans
06ab4b7831 gst/base/gstbasesink.c: Small debug line.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_change_state):
Small debug line.

* gst/gstclock.h:
map SIGNAL and BROADCAST to the right function.

* gst/gstobject.h:
Remove redundant braces.

* gst/gstpad.c: (gst_pad_set_caps):
Don't call setcaps function when reseting caps to NULL.

* gst/gstsystemclock.c: (gst_system_clock_dispose),
(gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
(gst_system_clock_id_unschedule):
Use BROADCAST as this is what we do.
2005-06-29 11:10:44 +00:00
Wim Taymans
a34bc0bd60 gst/base/gstbasesink.c: We are actually prerolling before commiting the state change.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
We are actually prerolling before commiting the state
change.
2005-06-29 10:24:08 +00:00
Ronald S. Bultje
2abdd0bfda docs/manual/: Update (until threads/scheduling) Application Development Manual; remove GstThread, add GstBus, add sim...
Original commit message from CVS:
* docs/manual/advanced-clocks.xml:
* docs/manual/advanced-interfaces.xml:
* docs/manual/advanced-metadata.xml:
* docs/manual/advanced-position.xml:
* docs/manual/advanced-schedulers.xml:
* docs/manual/advanced-threads.xml:
* docs/manual/appendix-porting.xml:
* docs/manual/basics-bins.xml:
* docs/manual/basics-bus.xml:
* docs/manual/basics-elements.xml:
* docs/manual/basics-helloworld.xml:
* docs/manual/basics-pads.xml:
* docs/manual/highlevel-components.xml:
* docs/manual/manual.xml:
* docs/manual/thread.fig:
Update (until threads/scheduling) Application Development Manual;
remove GstThread, add GstBus, add simple porting checklist, add
documentation for tag writing, clocks, make all examples until this
part compile and run.
* examples/manual/Makefile.am:
Update from changes to Application Development Manual; add bus
example, remove thread example.
2005-06-29 09:25:51 +00:00
Wim Taymans
bd72354e9a gst/gstbus.c: Add debugging messages.
Original commit message from CVS:
* gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
(gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
(gst_bus_source_dispatch):
Add debugging messages.
Make internal methods static.
Handle the case where the bus is flushed in the handler.

* gst/gstelement.c: (gst_element_get_bus):
Fix refcount in _get_bus();

* gst/gstpipeline.c: (gst_pipeline_change_state),
(gst_pipeline_get_clock_func):
Clock refcounting fixes.
Handle the case where preroll timed out more gracefully.

* gst/gstsystemclock.c: (gst_system_clock_dispose):
Clean up the internal thread in dispose. This is needed
for subclasses that actually get disposed.

* gst/schedulers/threadscheduler.c:
(gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
(gst_thread_scheduler_dispose):
Free thread pool in dispose.
2005-06-28 19:45:26 +00:00
Andy Wingo
8ca9bda671 tests/network-clock-utils.scm (debug, print-event): New utils.
Original commit message from CVS:
2005-06-28  Andy Wingo  <wingo@pobox.com>

* tests/network-clock-utils.scm (debug, print-event): New utils.

* tests/network-clock.scm (*debug*, *with-graph*): New parameters.
(*packet-loss*): Unified loss probability.
(network-time): Report out-of-band events.

* tests/plot-data: Add support for out-of-band events. Hack it
into this script instead of passing it down the pipe; should fix
this later.
2005-06-28 16:57:27 +00:00
Wim Taymans
fc8cbba41b docs/gst/: Docs fixes.
Original commit message from CVS:
* docs/gst/gstreamer.types:
* docs/gst/tmpl/gstbasesrc.sgml:
* docs/gst/tmpl/gstpad.sgml:
Docs fixes.
2005-06-28 15:36:37 +00:00
Wim Taymans
d0616cd459 gst/gstghostpad.c: Correctly proxy the check_pull_range function.
Original commit message from CVS:
* gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
(gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
(gst_proxy_pad_do_fixatecaps):
Correctly proxy the check_pull_range function.
2005-06-28 13:40:12 +00:00
Andy Wingo
7c157ea543 tests/network-clock.scm: Removed need for slib.
Original commit message from CVS:
2005-06-28  Andy Wingo  <wingo@pobox.com>

* tests/network-clock.scm: Removed need for slib.
2005-06-28 11:48:57 +00:00
Wim Taymans
de3be844ec gst/: The deprecated pad loop function is removed now.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
(gst_basesink_preroll_queue_flush):
* gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
* gst/elements/gsttee.c: (gst_tee_update_pad_functions):
* gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
(gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
(gst_proxy_pad_set_property):
* gst/gstpad.c:
* gst/gstpad.h:
* gst/gstqueue.c: (gst_queue_init):
The deprecated pad loop function is removed now.
2005-06-28 11:36:43 +00:00
Andy Wingo
eca4434f8e tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*): New parameters, simulate network packet loss.
Original commit message from CVS:
2005-06-28  Andy Wingo  <wingo@pobox.com>

* tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
New parameters, simulate network packet loss.

* tests/network-clock-utils.scm: Initialize the RNG.
2005-06-28 11:33:22 +00:00
Wim Taymans
7dc174d140 gst/base/gstbasesink.c: Flushing the preroll queue always needs to unlock the waiters.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
(gst_basesink_event), (gst_basesink_deactivate):
Flushing the preroll queue always needs to unlock the waiters.
2005-06-28 11:02:18 +00:00
Edward Hervey
2e75d2ae7e gst/gstpipeline.c: Wheen a seek was successful on a pipeline, set the stream_time to the seek offset in order to have...
Original commit message from CVS:
* gst/gstpipeline.c: (gst_pipeline_send_event):
Wheen a seek was successful on a pipeline, set the stream_time to the
seek offset in order to have a synchronized stream_time.
2005-06-28 10:45:48 +00:00
Wim Taymans
57d529de3a gst/gstghostpad.c: Call wrapper function instead of just calling the function pointers. This takes care of any lockin...
Original commit message from CVS:
* gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
(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):
Call wrapper function instead of just calling the function
pointers. This takes care of any locking and whatmore.
2005-06-28 10:37:24 +00:00
Wim Taymans
9a6500143f gst/gstpad.*: CONNECTED -> LINKED.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
(gst_pad_pull_range):
* gst/gstpad.h:
CONNECTED -> LINKED.
2005-06-28 10:28:31 +00:00
Andy Wingo
f8e79bdf86 *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large source-munging commit!!!
Original commit message from CVS:
2005-06-28  Andy Wingo  <wingo@pobox.com>

* *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
source-munging commit!!!
2005-06-28 09:59:01 +00:00
Andy Wingo
5016035bc6 gst/gstobject.c (gst_object_unref, gst_object_ref)
Original commit message from CVS:
2005-06-28  Andy Wingo  <wingo@pobox.com>

* gst/gstobject.c (gst_object_unref, gst_object_ref)
(gst_object_sink): Take gpointer arguments, not GstObject --
avoids casts. Like GLib.
2005-06-28 09:17:14 +00:00
Andy Wingo
1b02b1d741 gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy activate.
Original commit message from CVS:
2005-06-28  Andy Wingo  <wingo@pobox.com>

* gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
activate.
2005-06-28 08:41:43 +00:00
Andy Wingo
f2cf753b17 gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any remaining buffer.
Original commit message from CVS:
2005-06-27  Andy Wingo  <wingo@pobox.com>

* gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
remaining buffer.

* gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
returns a sorted copy of the trace list.
(gst_alloc_trace_print_live): New API, only prints traces with
live objects. Sort the list.
(gst_alloc_trace_print_all): Sort the list.
(gst_alloc_trace_print): Align columns.

* gst/elements/gstttypefindelement.c:
* gst/elements/gsttee.c:
* gst/base/gstbasesrc.c:
* gst/base/gstbasesink.c:
* gst/base/gstbasetransform.c:
* gst/gstqueue.c: Adapt for pad activation changes.

* gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
sched.
(gst_pipeline_dispose): Drop ref on sched.

* gst/gstpad.c (gst_pad_init): Set the default activate func.
(gst_pad_activate_default): Push mode by default.
(pre_activate_switch, post_activate_switch): New stubs, things to
do before and after switching activation modes on pads.
(gst_pad_set_active): Take a boolean and not a mode, dispatch to
the pad's activate function to choose which mode to activate.
Shortcut on deactivation and call the right function directly.
(gst_pad_activate_pull): New API, (de)activates a pad in pull
mode.
(gst_pad_activate_push): New API, same for push mode.
(gst_pad_set_activate_function)
(gst_pad_set_activatepull_function)
(gst_pad_set_activatepush_function): Setters for new API.

* gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
Trace all miniobjects.
(gst_mini_object_make_writable): Unref the arg if we copy, like
gst_caps_make_writable.

* gst/gstmessage.c (_gst_message_initialize): No trace init.

* gst/gstghostpad.c (gst_proxy_pad_do_activate)
(gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
Adapt for new pad API.

* gst/gstevent.c (_gst_event_initialize): Don't initialize trace.

* gst/gstelement.h:
* gst/gstelement.c (gst_element_iterate_src_pads)
(gst_element_iterate_sink_pads): New API functions.

* gst/gstelement.c (iterator_fold_with_resync): New utility,
should fold into gstiterator.c in some form.
(gst_element_pads_activate): Simplified via use of fold and
delegation of decisions to gstpad->activate.

* gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
help in debugging.

* gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
class once in init, like gstmessage. Didn't run into this issue
but it seems correct. Don't initialize a trace, gstminiobject does
that.

* check/pipelines/simple_launch_lines.c (test_stop_from_app): New
test, runs fakesrc ! fakesink, stopping on ::handoff via a message
to the bus.
(assert_live_count): New util function, uses alloc traces to check
cleanup.

* check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
To be modified when unlink drops the internal pad.
2005-06-27 18:35:05 +00:00
Wim Taymans
adbd17c378 gst/gstbin.c: Cleanup the get_state() function a little, make sure it iterates the same set of elements.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
(gst_bin_change_state):
Cleanup the get_state() function a little, make sure it
iterates the same set of elements.
Added stub iterate_state_order().
2005-06-27 18:11:24 +00:00
Thomas Vander Stichele
0b44c713a7 adding basetransform and iterator docs
Original commit message from CVS:
adding basetransform and iterator docs
2005-06-27 14:40:09 +00:00
Andy Wingo
89683e526e docs/design/part-activation.txt: Notes on how activation should work -- not quite implemented yet.
Original commit message from CVS:
2005-06-27  Andy Wingo  <wingo@pobox.com>

* docs/design/part-activation.txt: Notes on how activation should
work -- not quite implemented yet.
2005-06-27 13:25:44 +00:00
Wim Taymans
2d63826a90 gst/gstghostpad.c: At least get the chain function correct, needs more fixing.
Original commit message from CVS:
* gst/gstghostpad.c: (gst_proxy_pad_do_chain):
At least get the chain function correct, needs more
fixing.
2005-06-25 19:53:02 +00:00
Wim Taymans
97194517fe gst/: Right, two problems here: ghostpads don't take locks and glib _rec_mutex_lock_full() with depth==0 still locks.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
(gst_basesink_handle_object), (gst_basesink_event),
(gst_basesink_do_sync), (gst_basesink_handle_event),
(gst_basesink_change_state):
* gst/gsttask.h:
Right, two problems here: ghostpads don't take locks and
glib _rec_mutex_lock_full() with depth==0 still locks.
Catch illegal locking and g_warn them.
2005-06-25 19:37:59 +00:00
Wim Taymans
849bfaf419 check/states/sinks.c: Have to check for completion now...
Original commit message from CVS:
* check/states/sinks.c: (START_TEST), (gst_object_suite):
Have to check for completion now...
2005-06-25 19:14:51 +00:00
Wim Taymans
8303454db7 gst/base/gstbasesink.c: Reworked the base sink, handle event and buffer serialisation correctly and removed possible ...
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_set_property),
(gst_basesink_preroll_queue_empty),
(gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
(gst_basesink_event), (gst_basesink_do_sync),
(gst_basesink_handle_event), (gst_basesink_handle_buffer),
(gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
(gst_basesink_change_state):
Reworked the base sink, handle event and buffer serialisation
correctly and removed possible deadlock.
Handle EOS correctly.
2005-06-25 17:54:58 +00:00
Wim Taymans
4e9438da9f Allow elements to post EOS in the state change function.
Original commit message from CVS:
* gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
(gst_pipeline_change_state):
* tools/gst-launch.c: (check_intr), (event_loop), (main):
Allow elements to post EOS in the state change function.
Fix up -launch, make it exit the poll loop when the
pipeline actually changed state.
Fix up warning parsing in -launch.
2005-06-25 17:51:12 +00:00
Wim Taymans
f4f2cadeb5 gst/elements/gsttee.c: Core takes STREAM_LOCK for us now.
Original commit message from CVS:
* gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
(gst_tee_sink_activate):
Core takes STREAM_LOCK for us now.
2005-06-25 17:44:39 +00:00
Wim Taymans
2169b1a5d8 gst/: Keep track of current target state while performing a state change so that subclasses can do something interest...
Original commit message from CVS:
* gst/gstelement.c: (gst_element_get_state_func),
(gst_element_set_state):
* gst/gstelement.h:
* gst/gstmessage.c: (gst_message_parse_error),
(gst_message_parse_warning):
Keep track of current target state while performing a state
change so that subclasses can do something interesting.
Fix parsing of warning/error messages when GError is NULL.
2005-06-25 17:42:17 +00:00
Thomas Vander Stichele
87d6d3143b start pulling in base classes and elements for docs
Original commit message from CVS:
start pulling in base classes and elements for docs
2005-06-24 18:16:14 +00:00
Stefan Kost
acb843cb22 fixed make distcheck with gtk-doc 1.3
Original commit message from CVS:
fixed make distcheck with gtk-doc 1.3
2005-06-24 07:49:40 +00:00
Wim Taymans
52a445a41d gst/gstelement.c: When the state did not change, also report NO_PREROLL when it matters.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_get_state_func),
(gst_element_set_state), (gst_element_change_state):
When the state did not change, also report NO_PREROLL
when it matters.
2005-06-23 17:11:49 +00:00
Wim Taymans
d56ab76d57 gst/: No unsafe task pausing please.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_event_default):
* gst/gstqueue.c: (gst_queue_loop):
No unsafe task pausing please.
2005-06-23 17:09:21 +00:00
Wim Taymans
830a0368b4 gst/schedulers/threadscheduler.c: Ref the task before pushing it on the threadpool. This makes sure that we have a re...
Original commit message from CVS:
* gst/schedulers/threadscheduler.c:
(gst_thread_scheduler_task_start),
(gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
Ref the task before pushing it on the threadpool. This
makes sure that we have a ref when the threadfunction is
actually called.
2005-06-23 17:07:08 +00:00
Andy Wingo
09ab1d8fb2 gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the offset is greater than the file's size.
Original commit message from CVS:
2005-06-23  Andy Wingo  <wingo@pobox.com>

* gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
offset is greater than the file's size.
2005-06-23 15:26:09 +00:00
Andy Wingo
cc2d216e88 gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
Original commit message from CVS:
2005-06-23  Andy Wingo  <wingo@pobox.com>

* gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
(GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
* gst/gstobject.c (gst_object_class_init): Make the class lock
recursive. Wim won't let me drop deep_notify. Decodebin works
again, whoopdy doo.
2005-06-23 15:04:48 +00:00