17 years agoignore more
Thomas Vander Stichele [Fri, 17 Jun 2005 09:12:33 +0000 (09:12 +0000)]
ignore more

Original commit message from CVS:
ignore more

17 years agoignore more; fix README
Thomas Vander Stichele [Fri, 17 Jun 2005 08:59:41 +0000 (08:59 +0000)]
ignore more; fix README

Original commit message from CVS:
ignore more; fix README

17 years agogst/elements/gstcapsfilter.c: Allow NULL as possible value for filter_caps property...
David Schleef [Thu, 16 Jun 2005 17:50:16 +0000 (17:50 +0000)]
gst/elements/gstcapsfilter.c: Allow NULL as possible value for filter_caps property, indicating GST_CAPS_ANY.

Original commit message from CVS:
* gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
(gst_capsfilter_set_property): Allow NULL as possible value
for filter_caps property, indicating GST_CAPS_ANY.

17 years agogst/elements/gstfakesrc.c: fix debug output
Thomas Vander Stichele [Thu, 9 Jun 2005 13:33:00 +0000 (13:33 +0000)]
gst/elements/gstfakesrc.c: fix debug output

Original commit message from CVS:

* gst/elements/gstfakesrc.c: (gst_fakesrc_create):
fix debug output
* gst/schedulers/
use libgst prefix
fix spec for it

17 years clean up
Thomas Vander Stichele [Thu, 9 Jun 2005 12:23:05 +0000 (12:23 +0000)] clean up

Original commit message from CVS:

clean up

17 years clean up
Thomas Vander Stichele [Thu, 9 Jun 2005 12:09:56 +0000 (12:09 +0000)] clean up

Original commit message from CVS:

clean up

17 years agohave a real TODO, move old TODO
Thomas Vander Stichele [Thu, 9 Jun 2005 12:03:04 +0000 (12:03 +0000)]
have a real TODO, move old TODO

Original commit message from CVS:
have a real TODO, move old TODO

17 years agopo updates
Thomas Vander Stichele [Thu, 9 Jun 2005 12:00:27 +0000 (12:00 +0000)]
po updates

Original commit message from CVS:
po updates

17 years agoupdate translations
Thomas Vander Stichele [Thu, 9 Jun 2005 11:12:57 +0000 (11:12 +0000)]
update translations

Original commit message from CVS:
update translations

17 years agogst/gstutils.c: RPAD fixes all around.
Andy Wingo [Wed, 8 Jun 2005 22:16:27 +0000 (22:16 +0000)]
gst/gstutils.c: RPAD fixes all around.

Original commit message from CVS:
2005-06-08  Andy Wingo  <>

* gst/gstutils.c: RPAD fixes all around.
(gst_element_link_pads): Refcounting fixes.

* tools/gst-inspect.c:
* tools/gst-xmlinspect.c:
* parse/grammar.y:
* gst/base/gsttypefindhelper.c:
* gst/base/gstbasesink.c:
* gst/gstqueue.c: RPAD fixes.

* gst/gstghostpad.h:
* gst/gstghostpad.c: New ghost pad implementation as full proxy
pads. The tricky thing is they provide both source and sink
interfaces, since they proxy the internal pad for the external
pad, and vice versa. Implement with lower-level ProxyPad objects,
with the interior proxy pad as a child of the exterior ghost pad.
Should write a doc on this.

* gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
(gst_pad_set_name, gst_pad_set_parent): Macros removed, use
gst_object API.

* gst/gstpad.c: Big changes. No more stub base GstPad, now all
pads are real pads. No ghost pads in this file. Not documenting
the myriad s/RPAD/PAD/ and REALIZE fixes.
(gst_pad_class_init): Add properties for "direction" and
"template". Both are construct-only, so they can't change during
the life of the pad. Fixes properly deriving from GstPad.
(gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
derived objects, just set properties when creating the objects via
(gst_pad_get_parent): Implement as a function, return NULL if the
parent is not an element.
(gst_pad_get_real_parent, gst_pad_add_ghost_pad)
(gst_pad_remove_ghost_pad, gst_pad_realize): Removed.

* gst/gstobject.c (gst_object_class_init): Make name a construct
property. Don't set it in the object init.

* gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
with UNKNOWN direction.
(gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
(gst_element_remove_pad): Remove ghost-pad special cases.
(gst_element_pads_activate): Remove rpad cruft.

* gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
catch the pad's-parent-not-an-element case.

* gst/gst.h: Include gstghostpad.h.

* gst/gst.c (init_post): No more real, ghost pads.

* gst/ Add gstghostpad.[ch].

* check/
* check/gst/gstbin.c:
* check/gst/gstghostpad.c (test_ghost_pads): Check that linking
into a bin creates ghost pads, and that the refcounts are right.
Partly moved from gstbin.c.

17 years agocheck/: ignore more
Thomas Vander Stichele [Wed, 8 Jun 2005 14:00:21 +0000 (14:00 +0000)]
check/: ignore more

Original commit message from CVS:
* check/gst-libs/.cvsignore:
* check/gst/.cvsignore:
* check/pipelines/.cvsignore:
ignore more
* check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
(START_TEST), (cleanup_suite), (main):
add some tests related to cleanup after running pipelines

17 years agoadd a GstBuffer unit test
Thomas Vander Stichele [Wed, 8 Jun 2005 13:57:13 +0000 (13:57 +0000)]
add a GstBuffer unit test

Original commit message from CVS:
add a GstBuffer unit test

17 years agoprevious commit accidentally also added refcount defines for gstminiobject, logging...
Thomas Vander Stichele [Wed, 8 Jun 2005 13:45:26 +0000 (13:45 +0000)]
previous commit accidentally also added refcount defines for gstminiobject, logging that now

Original commit message from CVS:
previous commit accidentally also added refcount defines for gstminiobject, logging that now

17 years agoadd a 'plugins' dir to the PLUGIN_PATH in the uninstalled script to drop random other...
Thomas Vander Stichele [Wed, 8 Jun 2005 13:42:52 +0000 (13:42 +0000)]
add a 'plugins' dir to the PLUGIN_PATH in the uninstalled script to drop random other plugin-having projects in

Original commit message from CVS:
add a 'plugins' dir to the PLUGIN_PATH in the uninstalled script to drop random other plugin-having projects in

17 years agowe did a prerelease
Thomas Vander Stichele [Wed, 8 Jun 2005 13:41:48 +0000 (13:41 +0000)]
we did a prerelease

Original commit message from CVS:
we did a prerelease

17 years agoOBJECT acts on obj not caps
Thomas Vander Stichele [Wed, 8 Jun 2005 13:41:31 +0000 (13:41 +0000)]
OBJECT acts on obj not caps

Original commit message from CVS:
OBJECT acts on obj not caps

17 years agoadd a debug line
Thomas Vander Stichele [Wed, 8 Jun 2005 13:41:05 +0000 (13:41 +0000)]
add a debug line

Original commit message from CVS:
add a debug line

17 years agowhite space fixes
Thomas Vander Stichele [Wed, 8 Jun 2005 13:40:46 +0000 (13:40 +0000)]
white space fixes

Original commit message from CVS:
white space fixes

17 years agoadded support for html unit test coverage reports
Stefan Kost [Fri, 3 Jun 2005 18:26:59 +0000 (18:26 +0000)]
added support for html unit test coverage reports

Original commit message from CVS:
added support for html unit test coverage reports

17 years agogst/elements/gstcapsfilter.c: Free existing caps if the capsfilter changes. Add a...
Jan Schmidt [Thu, 2 Jun 2005 15:45:16 +0000 (15:45 +0000)]
gst/elements/gstcapsfilter.c: Free existing caps if the capsfilter changes. Add a FIXME about setting those caps on t...

Original commit message from CVS:
* gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
Free existing caps if the capsfilter changes. Add a FIXME about
setting those caps on the pads.

* gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
Before adding a ghost pad to a parent bin, check that there isn't
already one for the element on the bin. Prevents infinite recursion
when using decodebin in parse pipelines. Andy says he'll rewrite the
way this works anyway, so ignore the hack.

17 years agogst/elements/gsttypefindelement.c (do_pull_typefind): Query the file size, pass it...
Andy Wingo [Thu, 2 Jun 2005 11:12:34 +0000 (11:12 +0000)]
gst/elements/gsttypefindelement.c (do_pull_typefind): Query the file size, pass it on to the type find helper.

Original commit message from CVS:
2005-06-02  Andy Wingo  <>

* gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
file size, pass it on to the type find helper.

* gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
segment_start and segment_end properly according to the seek
method. Segment_end is still a bit flaky because offset can be
negative for CUR and END cases, but it takes -1 as an "unset"

17 years agogst/: Bufferalloc: return GstFlowReturn to more accuratly report why allocation failed.
Wim Taymans [Thu, 2 Jun 2005 09:42:02 +0000 (09:42 +0000)]
gst/: Bufferalloc: return GstFlowReturn to more accuratly report why allocation failed.

Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
(gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
* gst/base/gstbasesink.h:
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
(gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
(gst_pad_query), (gst_pad_start_task):
* gst/gstpad.h:
* gst/gstqueue.c: (gst_queue_bufferalloc),
(gst_queue_handle_sink_event), (gst_queue_chain):
Bufferalloc: return GstFlowReturn to more accuratly report
why allocation failed.

17 years agogst/gstpipeline.c: Take snapshot of state without blocking.
Wim Taymans [Thu, 2 Jun 2005 09:39:21 +0000 (09:39 +0000)]
gst/gstpipeline.c: Take snapshot of state without blocking.

Original commit message from CVS:
* gst/gstpipeline.c: (gst_pipeline_send_event):
Take snapshot of state without blocking.

17 years agodocs/design/: Small doc updates
Wim Taymans [Thu, 2 Jun 2005 08:26:58 +0000 (08:26 +0000)]
docs/design/: Small doc updates

Original commit message from CVS:
* docs/design/part-TODO.txt:
* docs/design/part-caps.txt:
* docs/design/part-clocks.txt:
* docs/design/part-negotiation.txt:
* docs/design/part-preroll.txt:
Small doc updates

17 years agogst/elements/gstidentity.c: Protect last_message property as it is accessed from...
Wim Taymans [Mon, 30 May 2005 16:28:41 +0000 (16:28 +0000)]
gst/elements/gstidentity.c: Protect last_message property as it is accessed from multiple threads.

Original commit message from CVS:
* gst/elements/gstidentity.c: (gst_identity_event),
(gst_identity_transform), (gst_identity_get_property):
Protect last_message property as it is accessed from
multiple threads.

17 years agogst/gstelement.c: Slicker pad activation code.
Wim Taymans [Mon, 30 May 2005 15:53:04 +0000 (15:53 +0000)]
gst/gstelement.c: Slicker pad activation code.

Original commit message from CVS:
* gst/gstelement.c: (gst_element_init),
(gst_element_pads_activate), (gst_element_change_state):
Slicker pad activation code.

17 years agogst/: Move elementfactory methods to separate .h file.
Wim Taymans [Mon, 30 May 2005 15:51:40 +0000 (15:51 +0000)]
gst/: Move elementfactory methods to separate .h file.

Original commit message from CVS:
* gst/
* gst/gstelement.h:
* gst/gstelementfactory.h:
* gst/gsttypes.h:
Move elementfactory methods to separate .h file.

17 years agoSmall typo fixes, doc updates.
Wim Taymans [Mon, 30 May 2005 15:48:45 +0000 (15:48 +0000)]
Small typo fixes, doc updates.

Original commit message from CVS:
* docs/design/part-overview.txt:
* gst/gstsystemclock.h:
Small typo fixes, doc updates.

17 years agogst/gst.c: Remove cpu-opt flag.
Wim Taymans [Mon, 30 May 2005 15:46:15 +0000 (15:46 +0000)]
gst/gst.c: Remove cpu-opt flag.

Original commit message from CVS:
* gst/gst.c: (gst_init_get_popt_table), (init_post),
Remove cpu-opt flag.

17 years agogst/gstbuffer.*: Avoid typechecking in places where not needed.
Wim Taymans [Mon, 30 May 2005 15:44:50 +0000 (15:44 +0000)]
gst/gstbuffer.*: Avoid typechecking in places where not needed.

Original commit message from CVS:
* gst/gstbuffer.c: (gst_subbuffer_finalize),
(gst_buffer_create_sub), (gst_buffer_is_span_fast):
* gst/gstbuffer.h:
Avoid typechecking in places where not needed.
Added accessor for malloc_data.

17 years agogst/gstpad.c: Propagate errors from _set_caps() in configure_src/sink functions inste...
Wim Taymans [Mon, 30 May 2005 15:41:54 +0000 (15:41 +0000)]
gst/gstpad.c: Propagate errors from _set_caps() in configure_src/sink functions instead of returning TRUE.

Original commit message from CVS:
* gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
(gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
(gst_pad_configure_sink), (gst_pad_configure_src),
(gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
Propagate errors from _set_caps() in configure_src/sink
functions instead of returning TRUE.
FLUSH events can travel up and downstream

17 years agogst/base/gstbasesink.c: Handle EOS in preroll.
Wim Taymans [Mon, 30 May 2005 15:36:09 +0000 (15:36 +0000)]
gst/base/gstbasesink.c: Handle EOS in preroll.

Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
Handle EOS in preroll.

17 years agogst/gstqueue.c: Remove old pieces of code
Wim Taymans [Mon, 30 May 2005 15:34:13 +0000 (15:34 +0000)]
gst/gstqueue.c: Remove old pieces of code

Original commit message from CVS:
* gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
(gst_queue_loop), (gst_queue_handle_src_event):
Remove old pieces of code
Flushing the queue in an upstream event is a very bad idea.

17 years agofile gstsimplescheduler.c was initially added on branch BRANCH-COMPANY.
Benjamin Otte [Sun, 29 May 2005 13:56:55 +0000 (13:56 +0000)]
file gstsimplescheduler.c was initially added on branch BRANCH-COMPANY.

Original commit message from CVS:
file gstsimplescheduler.c was initially added on branch BRANCH-COMPANY.

17 years agoremove conflict doobers
Andy Wingo [Fri, 27 May 2005 09:28:05 +0000 (09:28 +0000)]
remove conflict doobers

Original commit message from CVS:
remove conflict doobers

17 years agogst/gstminiobject.c (gst_value_mini_object_collect): Use gst_value_set_mini_object...
Andy Wingo [Fri, 27 May 2005 09:27:35 +0000 (09:27 +0000)]
gst/gstminiobject.c (gst_value_mini_object_collect): Use gst_value_set_mini_object so as to add a ref on the object (...

Original commit message from CVS:
2005-05-26  Andy Wingo  <>

* gst/gstminiobject.c (gst_value_mini_object_collect): Use
gst_value_set_mini_object so as to add a ref on the object (which
will be removed when the value is unset).

* gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
arg type in ::handoff.

* gst/gstelement.c (gst_element_change_state): Also deactivate
pads in READY->NULL, just in case the element didn't make it to
PAUSED. Wingo tested, Wim approved.

17 years agogst/gstpad.c: A flushing pad cannot be used to alloc_buffer from.
Wim Taymans [Thu, 26 May 2005 10:50:12 +0000 (10:50 +0000)]
gst/gstpad.c: A flushing pad cannot be used to alloc_buffer from.

Original commit message from CVS:
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
(gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
(gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
A flushing pad cannot be used to alloc_buffer from.

17 years agogst/gstbus.*: Implement a real GSource and use g_main_context_wakeup() to signal...
Wim Taymans [Thu, 26 May 2005 10:48:53 +0000 (10:48 +0000)]
gst/gstbus.*: Implement a real GSource and use g_main_context_wakeup() to signal new messages instead of the socketpair.

Original commit message from CVS:
* gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
(gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
(gst_bus_source_dispatch), (gst_bus_source_finalize),
(gst_bus_create_watch), (gst_bus_add_watch_full):
* gst/gstbus.h:
Implement a real GSource and use g_main_context_wakeup() to
signal new messages instead of the socketpair.

17 years agogst/: Fix state changes for non sinks. We now change sinks, then elements with unconn...
Wim Taymans [Wed, 25 May 2005 19:33:39 +0000 (19:33 +0000)]
gst/: Fix state changes for non sinks. We now change sinks, then elements with unconnected srcpads, then the rest.

Original commit message from CVS:
* gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
(bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
(gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
(gst_pad_send_event), (gst_pad_start_task):
* gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
(gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
(gst_queue_sink_activate), (gst_queue_src_activate),
* gst/gstqueue.h:
Fix state changes for non sinks. We now change sinks, then elements
with unconnected srcpads, then the rest.
More efficient queue unlocking in flush and state changes.
Set the pad activate mode even if it does not have an activate

17 years agohappify buildbot
Ronald S. Bultje [Wed, 25 May 2005 16:09:34 +0000 (16:09 +0000)]
happify buildbot

Original commit message from CVS:
happify buildbot

17 years agogst/base/gstbasesrc.c: Don't go in pull mode for non-seekable sources.
Ronald S. Bultje [Wed, 25 May 2005 15:57:57 +0000 (15:57 +0000)]
gst/base/gstbasesrc.c: Don't go in pull mode for non-seekable sources.

Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_basesrc_activate):
Don't go in pull mode for non-seekable sources.
* gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
(gst_type_find_element_dispose), (gst_type_find_handle_src_query),
(free_entry), (stop_typefinding),
(gst_type_find_element_handle_event), (find_peek),
(gst_type_find_element_chain), (do_pull_typefind),
Allow typefinding (w/o seeking) in push-mode, simplified version
of what was in 0.8.
* gst/gstutils.c: (gst_buffer_join):
* gst/gstutils.h:
gst_buffer_join() from 0.8.

17 years agogst/gstpad.c: Disable attempt at mode switching until it is figured out.
Wim Taymans [Wed, 25 May 2005 13:59:18 +0000 (13:59 +0000)]
gst/gstpad.c: Disable attempt at mode switching until it is figured out.

Original commit message from CVS:
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
(gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
(gst_pad_send_event), (gst_pad_start_task):
Disable attempt at mode switching until it is figured out.

17 years agogst/: Implement gst_pad_pause/start/stop_task(), take STREAM lock in task function.
Wim Taymans [Wed, 25 May 2005 11:50:11 +0000 (11:50 +0000)]
gst/: Implement gst_pad_pause/start/stop_task(), take STREAM lock in task function.

Original commit message from CVS:
* gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
* gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
(gst_basesink_finish_preroll), (gst_basesink_chain),
(gst_basesink_loop), (gst_basesink_activate),
* gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
(gst_basesrc_get_range), (gst_basesrc_loop),
* gst/elements/gsttee.c: (gst_tee_sink_activate):
* gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
(gst_real_pad_init), (gst_real_pad_set_property),
(gst_real_pad_get_property), (gst_pad_set_active),
(gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
(gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
(gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
(gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
(gst_pad_event_default_dispatch), (gst_pad_event_default),
(gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
(gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
(gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
(gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
* gst/gstpad.h:
* gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
(gst_queue_loop), (gst_queue_src_activate):
* gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
* gst/gsttask.h:
* gst/schedulers/threadscheduler.c:
(gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
Implement gst_pad_pause/start/stop_task(), take STREAM lock
in task function.
Remove ACTIVE pad flag, use FLUSHING everywhere
Added _pad_chain(), _pad_get_range() to call chain/getrange
Add locks around IS_FLUSHING when reading.
Take STREAM lock in chain(), get_range() functions so plugins
don't need to take it anymore.

17 years agotools/gst-launch.c: Unref message after using its contents instead of before.
Wim Taymans [Wed, 25 May 2005 11:26:14 +0000 (11:26 +0000)]
tools/gst-launch.c: Unref message after using its contents instead of before.

Original commit message from CVS:
* tools/gst-launch.c: (event_loop):
Unref message after using its contents instead of

17 years agodocs/design/: Docs updates.
Wim Taymans [Tue, 24 May 2005 16:47:06 +0000 (16:47 +0000)]
docs/design/: Docs updates.

Original commit message from CVS:
* docs/design/draft-ghostpads.txt:
* docs/design/draft-push-pull.txt:
* docs/design/draft-query.txt:
* docs/design/part-overview.txt:
Docs updates.
Added general overview doc.
Added draft ghostpad replacement idea.

17 years agodocs/gst/tmpl/old/: I didn't intend to add these or check them in.
David Schleef [Sun, 22 May 2005 04:26:41 +0000 (04:26 +0000)]
docs/gst/tmpl/old/: I didn't intend to add these or check them in.

Original commit message from CVS:
* docs/gst/tmpl/old/GstBin.sgml:
* docs/gst/tmpl/old/GstBuffer.sgml:
* docs/gst/tmpl/old/GstCaps.sgml:
* docs/gst/tmpl/old/GstClock.sgml:
* docs/gst/tmpl/old/GstCompat.sgml:
* docs/gst/tmpl/old/GstData.sgml:
* docs/gst/tmpl/old/GstElement.sgml:
* docs/gst/tmpl/old/GstEvent.sgml:
* docs/gst/tmpl/old/GstIndex.sgml:
* docs/gst/tmpl/old/GstStructure.sgml:
* docs/gst/tmpl/old/GstTag.sgml:
* docs/gst/tmpl/old/cothreads.sgml:
* docs/gst/tmpl/old/cothreads_compat.sgml:
* docs/gst/tmpl/old/gettext.sgml:
* docs/gst/tmpl/old/gobject2gtk.sgml:
* docs/gst/tmpl/old/
* docs/gst/tmpl/old/gst-i18n-app.sgml:
* docs/gst/tmpl/old/gst-i18n-lib.sgml:
* docs/gst/tmpl/old/gst_private.sgml:
* docs/gst/tmpl/old/gstaggregator.sgml:
* docs/gst/tmpl/old/gstarch.sgml:
* docs/gst/tmpl/old/gstatomic_impl.sgml:
* docs/gst/tmpl/old/gstbufferstore.sgml:
* docs/gst/tmpl/old/gstdata_private.sgml:
* docs/gst/tmpl/old/gstdisksink.sgml:
* docs/gst/tmpl/old/gstdisksrc.sgml:
* docs/gst/tmpl/old/gstelementfactory.sgml:
* docs/gst/tmpl/old/gstextratypes.sgml:
* docs/gst/tmpl/old/gstfakesink.sgml:
* docs/gst/tmpl/old/gstfakesrc.sgml:
* docs/gst/tmpl/old/gstfdsink.sgml:
* docs/gst/tmpl/old/gstfdsrc.sgml:
* docs/gst/tmpl/old/gstfilesink.sgml:
* docs/gst/tmpl/old/gstfilesrc.sgml:
* docs/gst/tmpl/old/gsthttpsrc.sgml:
* docs/gst/tmpl/old/gstidentity.sgml:
* docs/gst/tmpl/old/gstindexfactory.sgml:
* docs/gst/tmpl/old/gstmarshal.sgml:
* docs/gst/tmpl/old/gstmd5sink.sgml:
* docs/gst/tmpl/old/gstmultidisksrc.sgml:
* docs/gst/tmpl/old/gstmultifilesrc.sgml:
* docs/gst/tmpl/old/gstpadtemplate.sgml:
* docs/gst/tmpl/old/gstpipefilter.sgml:
* docs/gst/tmpl/old/gstschedulerfactory.sgml:
* docs/gst/tmpl/old/gstsearchfuncs.sgml:
* docs/gst/tmpl/old/gstshaper.sgml:
* docs/gst/tmpl/old/gstspider.sgml:
* docs/gst/tmpl/old/gstspideridentity.sgml:
* docs/gst/tmpl/old/gststatistics.sgml:
* docs/gst/tmpl/old/gsttee.sgml:
* docs/gst/tmpl/old/gsttimecache.sgml:
* docs/gst/tmpl/old/gsttypefindfactory.sgml:
* docs/gst/tmpl/old/gstxmlregistry.sgml:
* docs/gst/tmpl/old/gthread-cothreads.sgml:
* docs/gst/tmpl/old/types.sgml:
I didn't intend to add these or check them in.

17 years agoupdate spec file
Christian Schaller [Fri, 20 May 2005 12:47:05 +0000 (12:47 +0000)]
update spec file

Original commit message from CVS:
update spec file

17 years Use -no-common everywhere. In a sane world, it would be the default...
David Schleef [Thu, 19 May 2005 19:54:01 +0000 (19:54 +0000)] Use -no-common everywhere.  In a sane world, it would be the default in libtool, because without it, yo...

Original commit message from CVS:
* Use -no-common everywhere.  In a sane world, it
would be the default in libtool, because without it, you can't
build DLLs on Windows.
* docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/gstcpu.sgml:
* docs/gst/tmpl/gstdata.sgml:
* docs/gst/tmpl/gstthread.sgml:

17 years agogst/gstminiobject.*: Add GValue set/get functions.
David Schleef [Thu, 19 May 2005 19:41:12 +0000 (19:41 +0000)]
gst/gstminiobject.*: Add GValue set/get functions.

Original commit message from CVS:
* gst/gstminiobject.c: (gst_value_set_mini_object),
(gst_value_take_mini_object), (gst_value_get_mini_object):
* gst/gstminiobject.h: Add GValue set/get functions.

17 years agogst/: Make subbufer unref the parent in finalize. some more debugging info.
Wim Taymans [Thu, 19 May 2005 16:26:50 +0000 (16:26 +0000)]
gst/: Make subbufer unref the parent in finalize. some more debugging info.

Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
(gst_subbuffer_class_init), (gst_subbuffer_finalize),
(gst_subbuffer_init), (gst_buffer_is_span_fast):
* gst/gstbuffer.h:
* gst/gstbus.c: (gst_bus_post):
* gst/gstelement.c: (gst_element_get_random_pad):
* gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
Make subbufer unref the parent in finalize.
some more debugging info.

17 years agogst/base/gstbasesink.c: Don't free preroll queue too early.
Wim Taymans [Thu, 19 May 2005 16:23:04 +0000 (16:23 +0000)]
gst/base/gstbasesink.c: Don't free preroll queue too early.

Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_class_init),
(gst_basesink_init), (gst_basesink_finalize),
(gst_basesink_activate), (gst_basesink_change_state):
Don't free preroll queue too early.

17 years agogst/: Hi, I'm outdated. Please shoot me.
Ronald S. Bultje [Thu, 19 May 2005 14:52:16 +0000 (14:52 +0000)]
gst/: Hi, I'm outdated. Please shoot me.

Original commit message from CVS:
* gst/
* gst/ROADMAP:
Hi, I'm outdated. Please shoot me.

17 years agogst/gstpipeline.c: Do not access variables after they have been deleted.
Ronald S. Bultje [Thu, 19 May 2005 12:07:35 +0000 (12:07 +0000)]
gst/gstpipeline.c: Do not access variables after they have been deleted.

Original commit message from CVS:
* gst/gstpipeline.c: (gst_pipeline_send_event):
Do not access variables after they have been deleted.

17 years agotools/gst-inspect.c: A plugin feature does unfortunatly not use the object name yet...
Wim Taymans [Thu, 19 May 2005 08:41:42 +0000 (08:41 +0000)]
tools/gst-inspect.c: A plugin feature does unfortunatly not use the object name yet...

Original commit message from CVS:
* tools/gst-inspect.c: (print_plugin_features):
A plugin feature does unfortunatly not use the
object name yet...

17 years agogst/gstbuffer.c: Port _span() functions to new subbuffers.
Wim Taymans [Wed, 18 May 2005 17:35:23 +0000 (17:35 +0000)]
gst/gstbuffer.c: Port _span() functions to new subbuffers.

Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
Port _span() functions to new subbuffers.

17 years agogst/gstbin.c: Fix clock settery in bins when adding kids after the clock has been...
Ronald S. Bultje [Wed, 18 May 2005 13:49:08 +0000 (13:49 +0000)]
gst/gstbin.c: Fix clock settery in bins when adding kids after the clock has been selected.

Original commit message from CVS:
* gst/gstbin.c: (gst_bin_add_func):
Fix clock settery in bins when adding kids after the clock has
been selected.

17 years agogst/elements/gstidentity.c: Workaround until signals support GstMiniObject.
Ronald S. Bultje [Wed, 18 May 2005 13:23:24 +0000 (13:23 +0000)]
gst/elements/gstidentity.c: Workaround until signals support GstMiniObject.

Original commit message from CVS:
* gst/elements/gstidentity.c: (gst_identity_class_init):
Workaround until signals support GstMiniObject.

17 years agogst/gstbuffer.c: Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
Jan Schmidt [Wed, 18 May 2005 11:34:45 +0000 (11:34 +0000)]
gst/gstbuffer.c: Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.

Original commit message from CVS:

* gst/gstbuffer.c:

17 years agogst/base/: Ported and added adapter to the base classes.
Wim Taymans [Wed, 18 May 2005 09:55:43 +0000 (09:55 +0000)]
gst/base/: Ported and added adapter to the base classes.

Original commit message from CVS:
* gst/base/
* gst/base/gstadapter.c: (gst_adapter_base_init),
(gst_adapter_class_init), (gst_adapter_init),
(gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
(gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
(gst_adapter_flush), (gst_adapter_available),
* gst/base/gstadapter.h:
Ported and added adapter to the base classes.

17 years agogst/: Make sure the class is reffed/unreffed once before threads can be used. Fixes...
Thomas Vander Stichele [Tue, 17 May 2005 17:50:41 +0000 (17:50 +0000)]
gst/: Make sure the class is reffed/unreffed once before threads can be used.  Fixes #304551.

Original commit message from CVS:

* gst/gst.c:
* gst/gstmessage.c:
Make sure the class is reffed/unreffed once before threads can be
used.  Fixes #304551.

17 years agogst/: Don't queue buffers in basesink when we are flushing.
Wim Taymans [Tue, 17 May 2005 17:37:43 +0000 (17:37 +0000)]
gst/: Don't queue buffers in basesink when we are flushing.

Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
(gst_basesink_chain_unlocked), (gst_basesink_activate):
* gst/gstminiobject.c: (gst_mini_object_get_type),
* gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
(gst_pad_push), (gst_pad_push_event):
* gst/gstqueue.c: (gst_queue_change_state):
Don't queue buffers in basesink when we are flushing.
Unref buffer when flushing in basesink.
Flush queue when going to READY
Unref buffer when _push() returns an error.
Don't free MiniObject instance when refcount is incremented
in _finalize() so that we can recover objects.

17 years agosmall doc fixes
Thomas Vander Stichele [Tue, 17 May 2005 17:22:31 +0000 (17:22 +0000)]
small doc fixes

Original commit message from CVS:
small doc fixes

17 years agogst/: Clear queue when going to READY.
Wim Taymans [Tue, 17 May 2005 14:11:32 +0000 (14:11 +0000)]
gst/: Clear queue when going to READY.

Original commit message from CVS:
* gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
(gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
* gst/gstqueue.c: (gst_queue_change_state):
Clear queue when going to READY.
Remove IN_SETCAPS flag too.

17 years agogst/base/gstbasesrc.c: Remove implicit cast from gboolean to GstElementStateReturn...
Tim-Philipp Müller [Tue, 17 May 2005 14:01:51 +0000 (14:01 +0000)]
gst/base/gstbasesrc.c: Remove implicit cast from gboolean to GstElementStateReturn; make sure we still return failure...

Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_basesrc_change_state):
Remove implicit cast from gboolean to GstElementStateReturn;
make sure we still return failure in paused => ready case if
the parent class fails to change state and our own stop
vfunc succeeds.

17 years agotools/gst-launch.c: Message was unreffed too soon.
Wim Taymans [Tue, 17 May 2005 10:41:51 +0000 (10:41 +0000)]
tools/gst-launch.c: Message was unreffed too soon.

Original commit message from CVS:
* tools/gst-launch.c: (event_loop):
Message was unreffed too soon.

17 years agogst/gstbin.c (sink_iterator_filter): Err... um...
Andy Wingo [Mon, 16 May 2005 21:17:14 +0000 (21:17 +0000)]
gst/gstbin.c (sink_iterator_filter): Err... um...

Original commit message from CVS:
2005-05-16  Andy Wingo  <>

* gst/gstbin.c (sink_iterator_filter): Err... um...

* check/gst/gstbin.c (test_ghost_pads): New test for the
ghosting-if-elements-not-in-same-bin behavior.

17 years agogst/gstminiobject.c: Use g_atomic_int_get() instead of accessing refcount directly.
David Schleef [Mon, 16 May 2005 21:05:21 +0000 (21:05 +0000)]
gst/gstminiobject.c: Use g_atomic_int_get() instead of accessing refcount directly.

Original commit message from CVS:
* gst/gstminiobject.c: Use g_atomic_int_get() instead of
accessing refcount directly.

17 years agocheck/ remove GstData checks
David Schleef [Mon, 16 May 2005 20:21:55 +0000 (20:21 +0000)]
check/ remove GstData checks

Original commit message from CVS:
* check/ remove GstData checks
* check/gst-libs/gdp.c: (START_TEST): fix for API changes
* gst/ add miniobject, remove data
* gst/gst.h: add miniobject, remove data
* gst/gstdata.c: remove
* gst/gstdata.h: remove
* gst/gstdata_private.h: remove
* gst/gsttypes.h: remove GstEvent and GstMessage
* gst/gstelement.c: (gst_element_post_message): fix for API changes
* gst/gstmarshal.list: change BOXED -> OBJECT
Implement GstMiniObject.
* gst/gstminiobject.c:
* gst/gstminiobject.h:
Modify to be subclasses of GstMiniObject.
* gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
(gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
(gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
(gst_subbuffer_get_type), (gst_subbuffer_init),
(gst_buffer_create_sub), (gst_buffer_is_span_fast),
* gst/gstbuffer.h:
* gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
(gst_event_class_init), (gst_event_init), (gst_event_finalize),
(_gst_event_copy), (gst_event_new):
* gst/gstevent.h:
* gst/gstmessage.c: (_gst_message_initialize),
(gst_message_get_type), (gst_message_class_init),
(gst_message_init), (gst_message_finalize), (_gst_message_copy),
(gst_message_new), (gst_message_new_error),
(gst_message_new_warning), (gst_message_new_tag),
(gst_message_new_state_changed), (gst_message_new_application):
* gst/gstmessage.h:
* gst/gstprobe.c: (gst_probe_perform),
* gst/gstprobe.h:
* gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
(gst_query_class_init), (gst_query_finalize), (gst_query_init),
(_gst_query_copy), (gst_query_new):
Update elements for GstData -> GstMiniObject changes
* gst/gstquery.h:
* gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
(gst_queue_chain), (gst_queue_loop):
* gst/elements/gstbufferstore.c:
(gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
* gst/elements/gstfakesink.c: (gst_fakesink_class_init),
* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
* gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
(gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
(gst_mmap_buffer_finalize), (gst_filesrc_map_region),
* gst/elements/gstidentity.c: (gst_identity_class_init):
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_src_event), (free_entry_buffers),
* libs/gst/dataprotocol/dataprotocol.c:
* libs/gst/dataprotocol/dataprotocol.h:
* libs/gst/dataprotocol/dp-private.h:

17 years agogst/elements/gstelements.c: Don't include headers that were just removed.
David Schleef [Sun, 15 May 2005 23:18:40 +0000 (23:18 +0000)]
gst/elements/gstelements.c: Don't include headers that were just removed.

Original commit message from CVS:
* gst/elements/gstelements.c: Don't include headers that were
just removed.

17 years agogst/elements/ Remove some elements that don't need to be in the core...
David Schleef [Sun, 15 May 2005 23:16:29 +0000 (23:16 +0000)]
gst/elements/ Remove some elements that don't need to be in the core (or even exist at all).

Original commit message from CVS:
* gst/elements/ Remove some elements that don't
need to be in the core (or even exist at all).
* gst/elements/gstaggregator.c:
* gst/elements/gstaggregator.h:
* gst/elements/gstmd5sink.c:
* gst/elements/gstmd5sink.h:
* gst/elements/gstmultifilesrc.c:
* gst/elements/gstmultifilesrc.h:
* gst/elements/gstpipefilter.c:
* gst/elements/gstpipefilter.h:
* gst/elements/gstshaper.c:
* gst/elements/gstshaper.h:
* gst/elements/gststatistics.c:
* gst/elements/gststatistics.h:
* po/ Remove above files.

17 years agogst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter so as to get the refs...
Andy Wingo [Sat, 14 May 2005 18:01:12 +0000 (18:01 +0000)]
gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter so as to get the refs right.

Original commit message from CVS:
2005-05-14  Andy Wingo  <>

* gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
so as to get the refs right.
(sink_iterator_filter): New function, wraps bin_element_is_sink,
unreffing objects that don't pass the filter.

17 years agogst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after gst_element_set_bus.
Andy Wingo [Sat, 14 May 2005 17:12:11 +0000 (17:12 +0000)]
gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after gst_element_set_bus.

Original commit message from CVS:
2005-05-14  Andy Wingo  <>

* gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
(gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
normal cases, this will destroy the bus.

* gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root

17 years agogst/gstbin.c (gst_bin_change_state): Fix state changes if a bin has no sinks.
Andy Wingo [Sat, 14 May 2005 15:54:49 +0000 (15:54 +0000)]
gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin has no sinks.

Original commit message from CVS:
2005-05-14  Andy Wingo  <>

* gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
has no sinks.

17 years agogst/gstutils.c (gst_element_link_pads): Instead of calling gst_pad_link, call pad_lin...
Andy Wingo [Sat, 14 May 2005 15:32:36 +0000 (15:32 +0000)]
gst/gstutils.c (gst_element_link_pads): Instead of calling gst_pad_link, call pad_link_maybe_ghosting,

Original commit message from CVS:
2005-05-13  Andy Wingo  <>

* gst/gstutils.c (gst_element_link_pads): Instead of calling
gst_pad_link, call pad_link_maybe_ghosting,
(pad_link_maybe_ghosting): Links pads, making sure that the
elements being linked are in the same bin.
(find_common_root, object_has_ancestor, ghost_up, remove_pad):
Helpers for pad_link_maybe_ghosting.

17 years agoRequire GLib >= 2.4.0 (for the g_atomic_* funcs)
Tim-Philipp Müller [Fri, 13 May 2005 12:53:47 +0000 (12:53 +0000)]
Require GLib >= 2.4.0 (for the g_atomic_* funcs)

Original commit message from CVS:
Require GLib >= 2.4.0 (for the g_atomic_* funcs)

17 years agoadd missing .h file to spec file
Christian Schaller [Fri, 13 May 2005 10:18:41 +0000 (10:18 +0000)]
add missing .h file to spec file

Original commit message from CVS:
add missing .h file to spec file

17 years agoMention GstPushSrc
Tim-Philipp Müller [Fri, 13 May 2005 09:27:24 +0000 (09:27 +0000)]
Mention GstPushSrc

Original commit message from CVS:
Mention GstPushSrc

17 years agogst/: Identify sinks by their flag to avoid overly complicated checks (fow now).
Wim Taymans [Thu, 12 May 2005 19:45:44 +0000 (19:45 +0000)]
gst/: Identify sinks by their flag to avoid overly complicated checks (fow now).

Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_init),
* gst/base/gstbasesrc.c: (gst_basesrc_unlock),
* gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
(bin_element_is_sink), (gst_bin_change_state):
* gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
* gst/gstelement.h:
Identify sinks by their flag to avoid overly complicated
checks (fow now).
Do state changes even for elements not reachable from the
BaseSink is a sink now :)
Some more debugging info in the basesrc.

17 years agogst/gstbin.c: Implement _query on a bin, similar to _send_event.
Ronald S. Bultje [Thu, 12 May 2005 15:09:17 +0000 (15:09 +0000)]
gst/gstbin.c: Implement _query on a bin, similar to _send_event.

Original commit message from CVS:
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
Implement _query on a bin, similar to _send_event.

17 years agogst/base/gstbasesrc.c: Discont event offset format should be GST_FORMAT_BYTES, not...
Tim-Philipp Müller [Thu, 12 May 2005 13:59:58 +0000 (13:59 +0000)]
gst/base/gstbasesrc.c: Discont event offset format should be GST_FORMAT_BYTES, not GST_FORMAT_TIME.

Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
Discont event offset format should be GST_FORMAT_BYTES,

17 years agogst/gstbin.c: Same fix as Ronald's but without the signal.
Wim Taymans [Thu, 12 May 2005 13:18:14 +0000 (13:18 +0000)]
gst/gstbin.c: Same fix as Ronald's but without the signal.

Original commit message from CVS:
* gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
Same fix as Ronald's but without the signal.

17 years agogst/gstutils.c: No, an element is not a pad.
Ronald S. Bultje [Thu, 12 May 2005 12:27:07 +0000 (12:27 +0000)]
gst/gstutils.c: No, an element is not a pad.

Original commit message from CVS:
* gst/gstutils.c: (gst_element_query_position):
No, an element is not a pad.

17 years agogst/gstbin.c: If a child is removed from a bin while we remove the child from the...
Ronald S. Bultje [Thu, 12 May 2005 12:17:23 +0000 (12:17 +0000)]
gst/gstbin.c: If a child is removed from a bin while we remove the child from the bin and while we're retrieving its ...

Original commit message from CVS:
* gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
If a child is removed from a bin while we remove the child from
the bin and while we're retrieving its state, signal this to the
get_state function so we abort the wait (instead of waiting for
a timeout) and can immediately re-iterate over all other elements.

17 years agogst/base/: Added is_seekable to BaseSrc
Wim Taymans [Thu, 12 May 2005 10:43:14 +0000 (10:43 +0000)]
gst/base/: Added is_seekable to BaseSrc

Original commit message from CVS:
* gst/base/
* gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
* gst/base/gstbasesrc.h:
* gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
(gst_pushsrc_base_init), (gst_pushsrc_class_init),
(gst_pushsrc_init), (gst_pushsrc_create):
* gst/base/gstpushsrc.h:
Added is_seekable to BaseSrc
Added simple PushSrc.

17 years agogst/: Fix refcounting in utils function.
Wim Taymans [Wed, 11 May 2005 09:21:24 +0000 (09:21 +0000)]
gst/: Fix refcounting in utils function.

Original commit message from CVS:
* gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
* gst/gstutils.c: (gst_element_get_compatible_pad_template),
(gst_element_link_pads), (gst_element_query_position),
(gst_element_query_convert), (intersect_caps_func),
(gst_pad_query_position), (gst_pad_query_convert):
Fix refcounting in utils function.
No point in trying to activate a pad when it's added, it could
be added from the state change function and then we deadlock, the
element has to decide what to do.

17 years agogst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
Andy Wingo [Wed, 11 May 2005 03:37:10 +0000 (03:37 +0000)]
gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with

Original commit message from CVS:
2005-05-10  Andy Wingo  <>

* gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
*all* the arguments.

* gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
stream lock if it's a FLUSH_DONE; normal flushes don't get the
lock (according to the docs -- if this is wrong change the docs).

* gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
flush messages in the NULL state.

* gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
message immediately and return.
(gst_bus_set_flushing): New function. If a bus is flushing, it
flushes out any queued messages and immediately unrefs new
messages. This is so when an element goes to NULL, all of the
unhandled messages coming from it can be freed, and their
references to the element dropped. In other words: message source
ref considered harmful :P

* gst/gstbin.c (gst_bin_change_state): Unref peer element when
we're finished with it.

* gst/gstmessage.c (gst_message_new_state_changed):

17 years agoremove stupid printf
Wim Taymans [Tue, 10 May 2005 14:51:49 +0000 (14:51 +0000)]
remove stupid printf

Original commit message from CVS:
remove stupid printf

17 years agogst/gstvalue.c: Added flags serialize/deserialize/compare code.
Wim Taymans [Tue, 10 May 2005 14:50:55 +0000 (14:50 +0000)]
gst/gstvalue.c: Added flags serialize/deserialize/compare code.

Original commit message from CVS:
* gst/gstvalue.c: (gst_value_compare_flags),
(gst_value_serialize_flags), (gst_value_deserialize_flags),
Added flags serialize/deserialize/compare code.

17 years agogst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps): Intersect the peer...
Andy Wingo [Mon, 9 May 2005 21:37:54 +0000 (21:37 +0000)]
gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps): Intersect the peer's caps with our caps.

Original commit message from CVS:
2005-05-09  Andy Wingo  <>

* gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
Intersect the peer's caps with our caps.

17 years agogst/: Handle negative offsets better. Fixes decodebin.
Ronald S. Bultje [Mon, 9 May 2005 15:54:26 +0000 (15:54 +0000)]
gst/: Handle negative offsets better. Fixes decodebin.

Original commit message from CVS:
* gst/base/gsttypefindhelper.c: (helper_find_peek):
* gst/elements/gsttypefindelement.c: (find_peek):
Handle negative offsets better. Fixes decodebin.

17 years agogst/: Implement accept_caps.
Wim Taymans [Mon, 9 May 2005 14:47:15 +0000 (14:47 +0000)]
gst/: Implement accept_caps.

Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
* gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
Implement accept_caps.
Fix silly lock/unlock mismatch in base class.

17 years agoRemove old query functions. Ported old code.
Wim Taymans [Mon, 9 May 2005 10:53:13 +0000 (10:53 +0000)]
Remove old query functions. Ported old code.

Original commit message from CVS:
Remove old query functions. Ported old code.
Added position/convert helper functions to gstutils.
Reordered gstpad.c code, grouping relevant things.
Remove gst_message_new(), always need to speficy a specific

17 years agogst/gstiterator.h: Add some includes.
Andy Wingo [Mon, 9 May 2005 06:21:10 +0000 (06:21 +0000)]
gst/gstiterator.h: Add some includes.

Original commit message from CVS:
2005-05-09  Andy Wingo  <>

* gst/gstiterator.h: Add some includes.

* gst/gstqueryutils.h: Include more headers.

* gst/gstpad.h:
* gst/gstpad.c (gst_pad_query_position): New routine, replaces
some uses of gst_pad_query.

* gst/gstqueryutils.c: Build fixes. Make parse functions ignore
NULL out parameters.
(gst_query_new_position): New proc, allocates a new position

* gst/ (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
gstqueryutils.c to the build.

* gst/gststructure.c (gst_structure_set_valist): Implement with
the generic G_VALUE_COLLECT.

17 years agogst/ Added gstqueryutils.h to the list of headers to install, that was...
Edward Hervey [Sun, 8 May 2005 17:07:05 +0000 (17:07 +0000)]
gst/ Added gstqueryutils.h to the list of headers to install, that was a 'nachty' move wingo :)

Original commit message from CVS:
* gst/ (gst_headers):
Added gstqueryutils.h to the list of headers to install, that was
a 'nachty' move wingo :)

17 years agogst/gstquery.h
Andy Wingo [Fri, 6 May 2005 21:41:22 +0000 (21:41 +0000)]

Original commit message from CVS:
2005-05-06  Andy Wingo  <>

* gst/gstquery.h
* gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
GstData, init a memchunk.
(standard_definitions): Add a few query types, deprecate a few.
(gst_query_get_type): New proc.
(_gst_query_copy, _gst_query_free, gst_query_new): GstData
(gst_query_new_application, gst_query_get_structure): New public

* docs/design/draft-query.txt: Removed LINKS from the query types,
because all the rest can be dispatched to other pads -- seemed
ugly to have a query that couldn't be dispatched. internal_links
is fine as a pad method.

* gst/gstpad.h: Add query2 as a pad method, add the new functions
in gstpad.c, but maintain binary compatibility for the moment.
Will fix before 0.9 is out.

* gst/gstqueryutils.c:
* gst/gstqueryutils.h: New files, implement 3 methods for each
query type: parse_query, parse_response, and set. Probably need an
allocator as well.

* gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.

* gst/elements/gstfilesink.c (gst_filesink_query2):
* gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
query_types, and formats methods.

* gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
(gst_pad_set_query2_function): New functions.
(gst_real_pad_init): Set query2_default as the default query2
function. Basically just dispatches to internally linked pads.

Needs review!

* gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
without using the atomic operations. Only one thread can possibly
be accessing the data at this point. Changed so as to avoid
gst_atomic operations.

17 years agogst/gstpad.c: Also set caps if we use the fallback buffer alloc.
Wim Taymans [Fri, 6 May 2005 19:50:23 +0000 (19:50 +0000)]
gst/gstpad.c: Also set caps if we use the fallback buffer alloc.

Original commit message from CVS:
* gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
Also set caps if we use the fallback buffer alloc.

17 years agoPurge GstAtomic stuff from docs and win32 makefiles as well
Tim-Philipp Müller [Fri, 6 May 2005 17:33:55 +0000 (17:33 +0000)]
Purge GstAtomic stuff from docs and win32 makefiles as well

Original commit message from CVS:
* docs/gst/
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/gstatomic.sgml:
* docs/gst/tmpl/gstmemchunk.sgml:
* testsuite/elements/struct_i386.h:
* win32/GStreamer.vcproj:
* win32/Makefile:
Purge GstAtomic stuff from docs and win32 makefiles as well

17 years agogst/: Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
Wim Taymans [Fri, 6 May 2005 17:10:49 +0000 (17:10 +0000)]
gst/: Fix gst_pad_peer_get_caps(), make it return NULL if no peer.

Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
* gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
* gst/gstpad.c: (gst_pad_peer_get_caps):
* gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
(gst_queue_bufferalloc), (gst_queue_handle_sink_event),
(gst_queue_src_activate), (gst_queue_change_state):
* gst/gstqueue.h:
* gst/gstutils.c: (gst_element_get_compatible_pad_template),
Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
Some fixes for the peer_get_caps() change.

17 years agogst/base/gstbasesink.c: Actually do something with error codes returned from the...
Wim Taymans [Fri, 6 May 2005 16:19:59 +0000 (16:19 +0000)]
gst/base/gstbasesink.c: Actually do something with error codes returned from the push functions.

Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
(gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
Actually do something with error codes returned from the push

17 years agoSome more documentation.
Wim Taymans [Fri, 6 May 2005 08:25:19 +0000 (08:25 +0000)]
Some more documentation.

Original commit message from CVS:
* docs/design/part-element-sink.txt:
* docs/design/part-element-source.txt:
* gst/base/gstbasesink.c: (gst_basesink_class_init),
(gst_basesink_event), (gst_basesink_activate):
* gst/base/gstbasesink.h:
* gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
* gst/base/gstbasesrc.h:
* gst/gstelement.c: (gst_element_pads_activate):
Some more documentation.
Fixed scheduling decision in _pads_activate().