Commit graph

45 commits

Author SHA1 Message Date
Andy Wingo 3f5a8814d5 gst/gstelement.c (gst_element_dispose): Protect against multiple invocations.
Original commit message from CVS:
2004-02-24  Andy Wingo  <wingo@pobox.com>

* gst/gstelement.c (gst_element_dispose): Protect against multiple
invocations.

* gst/schedulers/gstoptimalscheduler.c
I added a mess of prototypes at the top of the file by way of
documentation. Some of the operations on chains and groups were
re-organized.

(create_group): Added a type argument so if the group is enabled,
the setup_group_scheduler knows what to do.
(group_elements): Added a type argument here, too, to be passed on
to create_group.
(group_element_set_enabled): If an unlinked PLAYING element is
added to a bin, we have to create a new group to hold the element,
and this function will be called before the group is added to the
chain. Thus we have a valid case for group->chain==NULL. Instead
of calling chain_group_set_enabled, just set the flag on the group
(the chain's status will be set when the group is added to it).
(gst_opt_scheduler_state_transition, chain_group_set_enabled):
Setup the group scheduler when the group is enabled, not
specifically when an element goes PAUSED->PLAYING. This means
PLAYING elements can be added, linked, and scheduled into a
PLAYING pipeline, as was intended.
(add_to_group): Don't ref the group twice. I don't know when this
double-ref got in here. Removing it has the potential to cause
segfaults if other parts of the scheduler are buggy. If you find
that the scheduler is segfaulting for you, put in an extra ref
here and see if that hacks over the underlying issue. Of course,
then find out what code is unreffing a group it doesn't own...
(create_group): Make the extra refcount floating, and remove it
after adding the element. This means that...
(unref_group): Destroy when the refcount reaches 0, not 1, like
every other refcounted object in the known universe.
(remove_from_group): When a group becomes empty, set it to be not
active, and remove it from its chain. Don't unref it again,
there's no floating reference any more.
(destroy_group): We have to remove the group from the chain in
remove_from_group (rather than here) to break refcounting cycles
(the chain always has a ref on the group). So assert that
group->chain==NULL.
(ref_group_by_count): Removed, it was commented out anyway.
(merge_chains): Use the remove_from_chain and add_to_chain
primitives to do the reparenting, instead of rolling our own
implementation.
(add_to_chain): The first non-disabled group in the chain's group
list will be the entry point for the chain. Because buffers can
accumulate in loop elements' peer bufpens, we preferentially
schedule loop groups before get groups to avoid unnecessary
execution of get-based groups when the bufpens are already full.
(gst_opt_scheduler_schedule_run_queue): Debug fixes.
(get_group_schedule_function): Ditto.
(loop_group_schedule_function): Ditto.
(gst_opt_scheduler_loop_wrapper): Ditto.
(gst_opt_scheduler_iterate): Ditto.

I understand the opt scheduler now, yippee!

* gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
(gst_pad_get_name, gst_pad_set_chain_function)
(gst_pad_set_get_function, gst_pad_set_event_function)
(gst_pad_set_event_mask_function, gst_pad_get_event_masks)
(gst_pad_get_event_masks_default, gst_pad_set_convert_function)
(gst_pad_set_query_function, gst_pad_get_query_types)
(gst_pad_get_query_types_default)
(gst_pad_set_internal_link_function)
(gst_pad_set_formats_function, gst_pad_set_link_function)
(gst_pad_set_fixate_function, gst_pad_set_getcaps_function)
(gst_pad_set_bufferalloc_function, gst_pad_unlink)
(gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent)
(gst_pad_add_ghost_pad, gst_pad_proxy_getcaps)
(gst_pad_proxy_pad_link, gst_pad_proxy_fixate)
(gst_pad_get_pad_template_caps, gst_pad_check_compatibility)
(gst_pad_get_peer, gst_pad_get_allowed_caps)
(gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull)
(gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps)
(gst_pad_event_default_dispatch, gst_pad_event_default)
(gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default)
(gst_pad_convert, gst_pad_query_default, gst_pad_query)
(gst_pad_get_formats_default, gst_pad_get_formats): Better
argument checks, and some doc fixes.

(gst_pad_custom_new_from_template): Um, does anyone
use these functions? Actually make a custom pad instead of a
normal one.
(gst_pad_try_set_caps): Transpose some checks.
(gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
the pad is in negotiation.
(gst_pad_try_relink_filtered): Use pad_link_prepare.

* gst/gstelement.c: Remove prototypes also defined in gstclock.h.

* gst/gstelement.h:
* gst/gstclock.h: Un-deprecate the old clocking API, as discussed
on the list.
2004-02-25 13:16:12 +00:00
Thomas Vander Stichele ccfe9c902a and now the fix to make buildbot work
Original commit message from CVS:
and now the fix to make buildbot work
2004-02-16 15:57:17 +00:00
Thomas Vander Stichele e8a2e56e81 put version in documentation
Original commit message from CVS:
put version in documentation
2004-02-12 13:04:02 +00:00
Thomas Vander Stichele 9558626b50 fix docs for cvfix docs for cvss
Original commit message from CVS:
fix docs for cvfix docs for cvss
2004-02-08 18:50:40 +00:00
Ronald S. Bultje 47d8f12048 docs/pwg/: All sort of documentation... Forgot what. Point is that I want this in before I leave. The 'other-*' will ...
Original commit message from CVS:
2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* docs/pwg/advanced-events.xml:
* docs/pwg/advanced-scheduling.xml:
* docs/pwg/intro-basics.xml:
* docs/pwg/other-manager.xml:
* docs/pwg/other-nton.xml:
* docs/pwg/other-ntoone.xml:
* docs/pwg/other-oneton.xml:
* docs/pwg/pwg.xml:
All sort of documentation... Forgot what. Point is that I want this
in before I leave. The 'other-*' will be the last section and will
explain issues specific to these type of elements.
2004-02-02 21:52:46 +00:00
Ronald S. Bultje 0de6f6fb67 docs/pwg/advanced-interfaces.xml: Added tuner interface docs.
Original commit message from CVS:
2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* docs/pwg/advanced-interfaces.xml:
Added tuner interface docs.
2004-01-30 12:00:16 +00:00
Thomas Vander Stichele 55b67f084d fix non-validating docbook make sure validation gets checked before building
Original commit message from CVS:
fix non-validating docbook
make sure validation gets checked before building
2004-01-29 17:25:18 +00:00
Julien Moutte a093da6d7d docs/pwg/advanced-events.xml: Adding documentation on advanced event handling (up and downstream).
Original commit message from CVS:
2004-01-29  Julien MOUTTE <julien@moutte.net>

* docs/pwg/advanced-events.xml: Adding documentation on advanced event
handling (up and downstream).
* docs/pwg/advanced-interfaces.xml: Make it coherent with the
my_filter thing.
2004-01-29 12:46:19 +00:00
Ronald S. Bultje 55072fb611 docs/pwg/advanced-tagging.xml: Add docs about tag writing.
Original commit message from CVS:
2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* docs/pwg/advanced-tagging.xml:
Add docs about tag writing.
2004-01-29 12:35:01 +00:00
Ronald S. Bultje ee446bde33 Ugh, stupid shift
Original commit message from CVS:
Ugh, stupid shift
2004-01-29 11:00:25 +00:00
Ronald S. Bultje 7d41ae65f4 docs/pwg/advanced-tagging.xml: Add a part about tag reading and application signalling... Tag writing still needs to ...
Original commit message from CVS:
2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* docs/pwg/advanced-tagging.xml:
Add a part about tag reading and application signalling... Tag
writing still needs to be documented.
* gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
We can set file locations in READY, too.
2004-01-29 10:56:53 +00:00
David Schleef 7a5223b57a docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
Original commit message from CVS:
* docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
2004-01-29 03:05:56 +00:00
Julien Moutte 5263fa9402 docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
Original commit message from CVS:
2004-01-28  Julien MOUTTE <julien@moutte.net>

* docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
2004-01-28 17:45:47 +00:00
Thomas Vander Stichele 5b00b55793 fix up id's
Original commit message from CVS:
fix up id's
2004-01-28 15:51:14 +00:00
Thomas Vander Stichele 97cd7e6e5d fix locations after moving
Original commit message from CVS:
fix locations after moving
2004-01-28 15:45:46 +00:00
Ronald S. Bultje 420b49905b docs/pwg/advanced_tagging.xml: Half-assed commit so Thomas can re-arrange document IDs here to be consistent, too.
Original commit message from CVS:
2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* docs/pwg/advanced_tagging.xml:
Half-assed commit so Thomas can re-arrange document IDs here to be
consistent, too.
2004-01-28 15:13:10 +00:00
Ronald S. Bultje 26c9fb0d10 docs/pwg/advanced_interfaces.xml: Add documentation on propertyprobing.
Original commit message from CVS:
2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* docs/pwg/advanced_interfaces.xml:
Add documentation on propertyprobing.
* docs/pwg/advanced_events.xml:
* docs/pwg/advanced_tagging.xml:
* docs/pwg/building_boiler.xml:
* docs/pwg/building_filterfactory.xml:
* docs/pwg/pwg.xml:
Move filterfactory and tagging into their own chapter, add a chapter
on events. all these are empty placeholders that will be filled in
some day.
2004-01-28 14:16:59 +00:00
Ronald S. Bultje fad4a520cd docs/pwg/advanced_interfaces.xml: Docs for mixer interface. Also a check for website uploading.
Original commit message from CVS:
2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* docs/pwg/advanced_interfaces.xml:
Docs for mixer interface. Also a check for website uploading.
2004-01-28 12:20:40 +00:00
Thomas Vander Stichele 1ad4c7a804 make upload work for both gtk-doc and docbook docs
Original commit message from CVS:
make upload work for both gtk-doc and docbook docs
2004-01-28 12:16:51 +00:00
Ronald S. Bultje 671d5229b9 docs/pwg/advanced_types.xml: Add notes on creating your own types.
Original commit message from CVS:
2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* docs/pwg/advanced_types.xml:
Add notes on creating your own types.
* docs/pwg/building_boiler.xml:
* docs/pwg/building_pads.xml:
* docs/pwg/building_state.xml:
Add some stuff about how to retrieve values from structures, how
that relates to types and change layout slightly again to be almost
perfect.
2004-01-28 10:03:51 +00:00
Ronald S. Bultje 1cd5fa3b07 docs/pwg/: Change index layout slightly.
Original commit message from CVS:
2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* docs/pwg/advanced_dparams.xml:
* docs/pwg/advanced_scheduling.xml:
Change index layout slightly.
2004-01-28 09:22:01 +00:00
Ronald S. Bultje fd48a37fb0 docs/pwg/: General placeholders for now.
Original commit message from CVS:
2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* docs/pwg/advanced_clock.xml:
* docs/pwg/advanced_interfaces.xml:
* docs/pwg/advanced_midi.xml:
General placeholders for now.
* docs/pwg/advanced_request.xml:
Explanation about sometimes and request pads.
* docs/pwg/advanced_scheduling.xml:
Concept of bytestream, loopfunctions and schedulers.
* docs/pwg/building_boiler.xml:
Add something about plugin-init.
2004-01-28 09:07:11 +00:00
Thomas Vander Stichele 4317361af4 fix broken xml
Original commit message from CVS:
fix broken xml
2004-01-27 23:08:18 +00:00
Ronald S. Bultje 93ea284fe4 docs/pwg/: Add as a placeholder for future filling-in.
Original commit message from CVS:
2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* docs/pwg/advanced_interfaces.xml:
* docs/pwg/pwg.xml:
Add as a placeholder for future filling-in.
* docs/pwg/basics_autoplugging.xml:
* docs/pwg/basics_buffers.xml:
* docs/pwg/basics_elements.xml:
* docs/pwg/basics_events.xml:
* docs/pwg/basics_plugins.xml:
* docs/pwg/basics_types.xml:
Remove, because unused (this is all in intro_basics.xml).
* docs/pwg/building_signals.xml:
Short intro to signals + reference to GObject docs - we really
shouldn't go into these sort of things to deply because we don't
use them that extensively anyway.
* docs/pwg/building_state.xml:
Explanation of states. Benjamin, please check.
* docs/pwg/building_testapp.xml:
Put everything in one page - putting only a few lines of content
per page doesn't really make sense.

Time to get into the advanced topics. ;).
2004-01-27 14:58:21 +00:00
Ronald S. Bultje 8e29a5888a docs/pwg/advanced_types.xml: Finish documenting the current state of mimetypes.
Original commit message from CVS:
2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* docs/pwg/advanced_types.xml:
Finish documenting the current state of mimetypes.
* docs/pwg/building_boiler.xml:
* docs/pwg/building_chainfn.xml:
* docs/pwg/building_pads.xml:
* docs/pwg/building_props.xml:
* docs/pwg/building_testapp.xml:
Start documenting the "how to build a simple audio filter" part
of the PWG. Most stuff is ready by now. Stuff remaining: signals,
states and (maybe?) a short introduction to capsnego in the chapter
on pads (building_pads.xml). Capsnego should probably be explained
fully in advanced_capsnego.xml or so.
2004-01-27 13:33:39 +00:00
Ronald S. Bultje f0e1d945a4 docs/pwg/: First try to resurrect the PWG. I'm halfway integrating the mimetypes and will from there on work on both ...
Original commit message from CVS:
2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* docs/pwg/advanced_types.xml:
* docs/pwg/intro_basics.xml:
* docs/pwg/intro_preface.xml:
* docs/pwg/pwg.xml:
* docs/pwg/titlepage.xml:
First try to resurrect the PWG. I'm halfway integrating the mimetypes
in here (docs/random/mimetypes), and will from there on work on both
updating outdated parts and adding missing parts.
That doesn't mean I'll fix it completely, but I'll try at least. ;).
2004-01-26 16:43:31 +00:00
Thomas Vander Stichele f57a372393 more trademark protectoin and doc fixing
Original commit message from CVS:
more trademark protectoin and doc fixing
2003-12-05 12:26:58 +00:00
Thomas Vander Stichele a0e8e56d8d fix docs build fix make distcheck
Original commit message from CVS:
fix docs build
fix make distcheck
2003-12-02 18:21:35 +00:00
David Schleef 55bb164fb5 global change to video/x-ms-asf and video/x-msvideo
Original commit message from CVS:
global change to video/x-ms-asf and video/x-msvideo
2003-11-29 04:38:44 +00:00
Thomas Vander Stichele deb5b5e3c7 fix uploads of docs
Original commit message from CVS:
fix uploads of docs
2003-10-09 11:29:59 +00:00
Thomas Vander Stichele 37c5c860fe rename base name
Original commit message from CVS:
rename base name
2003-10-08 14:59:36 +00:00
Thomas Vander Stichele 1983a8b4e4 images are important to us
Original commit message from CVS:
images are important to us
2003-10-08 14:53:18 +00:00
Thomas Vander Stichele 60cda08d79 ignore these
Original commit message from CVS:
ignore these
2003-10-08 14:39:59 +00:00
Thomas Vander Stichele 4033722b99 renaming base documentation names
Original commit message from CVS:
renaming base documentation names
2003-10-08 14:38:48 +00:00
Thomas Vander Stichele 7d4cb79ffb fix docs build for good
Original commit message from CVS:
fix docs build for good
2003-10-08 14:34:09 +00:00
David Schleef 3f763b167c make a few things clearer
Original commit message from CVS:
make a few things clearer
2003-09-13 20:20:44 +00:00
Benjamin Otte 803ce6bf48 GST_DEBUG reorganization containing loads of stuff:
Original commit message from CVS:
GST_DEBUG reorganization
This is a big diff (ca 450k), containing loads of stuff:
- gstinfo.[ch] complete rewrite
- changing of all GST_DEBUG messages to reflect that change
- reorganization of subsystem disabling
- addition of gstconfig.h.in so we can track the disablings
- <gst/gst.h> does not include <unistd.h> and <config.h> anymore
- documentation updated for gstinfo stuff (build the docs yourself to know what changed)
- bugfixes for making of the docs (files from CVS are not deleted anymore
- testsuite for debugging changes in testsuite/debug

expect breakage
2003-06-29 14:05:49 +00:00
Thomas Vander Stichele cadb40f84d typo
Original commit message from CVS:
typo
2003-06-11 22:17:43 +00:00
Thomas Vander Stichele d0ce7e10a5 notes
Original commit message from CVS:
notes
2003-06-11 21:40:04 +00:00
David Schleef 7e88251c0f Fix broken links to gstreamer.net site
Original commit message from CVS:
Fix broken links to gstreamer.net site
2003-05-18 23:32:29 +00:00
Leif Johnson 407c7a3ce8 + changed connection/connect/conn/disconnect/connected/... to link/link/link/unlink/linked/... and moved connectish f...
Original commit message from CVS:
+ changed connection/connect/conn/disconnect/connected/... to
link/link/link/unlink/linked/... and moved connectish files to linkish files
(closes bug#103843)
2003-01-24 18:08:39 +00:00
Thomas Vander Stichele ed1a0be4b3 some cleaning
Original commit message from CVS:
some cleaning
2003-01-05 22:47:42 +00:00
Thomas Vander Stichele 5e3f920267 these fixes make the pwg validate and build again
Original commit message from CVS:
these fixes make the pwg validate and build again
2002-12-18 15:14:16 +00:00
Leif Johnson af236bd270 + small updates to plugin writer's guide
Original commit message from CVS:
+ small updates to plugin writer's guide
2002-11-28 08:37:12 +00:00
Leif Johnson 622a80da54 Moved "Filter Writer's Guide" to "Plugin Writer's Guide". Divided existing info from old guide into several files, on...
Original commit message from CVS:
Moved "Filter Writer's Guide" to "Plugin Writer's Guide". Divided existing info
from old guide into several files, one per chapter. The guide still needs much
work ...
2002-09-27 18:34:33 +00:00