Commit graph

3172 commits

Author SHA1 Message Date
Tim-Philipp Müller
a80ccecd5b gst/base/gstbasetransform.c: Hold STREAM_LOCK while pushing newsegment or tag events as well.
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_event):
Hold STREAM_LOCK while pushing newsegment or tag events as well.
2005-11-08 12:33:09 +00:00
Wim Taymans
5bb924622f gst/: Avoid excessive typechecking in macros.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
(gst_base_sink_do_sync), (gst_base_sink_handle_event),
(gst_base_sink_chain), (gst_base_sink_change_state):
* gst/base/gstbasesink.h:
* gst/base/gstbasesrc.h:
* gst/gstelement.h:
* gst/gstevent.h:
Avoid excessive typechecking in macros.

* gst/gstminiobject.c: (gst_mini_object_get_type),
(gst_mini_object_init), (gst_mini_object_new),
(gst_mini_object_free):
* gst/gstobject.c: (gst_object_class_init), (gst_object_init),
(gst_object_finalize):
Remove cruft code, optimize alloc_trace.
2005-11-08 11:13:07 +00:00
Wim Taymans
b03c54d446 gst/base/gstbasesrc.c: Set the segment_end to -1 initially. Fixed typefind.
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_init),
(gst_base_src_get_range):
Set the segment_end to -1 initially. Fixed typefind.
2005-11-07 10:33:07 +00:00
Tim-Philipp Müller
9fa579c299 gst/base/gstadapter.c: Debug category should be 'adapter', not 'GstAdapter'.
Original commit message from CVS:
* gst/base/gstadapter.c:
Debug category should be 'adapter', not 'GstAdapter'.
* gst/base/gstcollectpads.c: (gst_collectpads_base_init),
(gst_collectpads_class_init), (gst_collectpads_init),
(gst_collectpads_peek), (gst_collectpads_pop),
(gst_collectpads_event), (gst_collectpads_chain):
Add debug category and some debugging output. Use boilerplate
macros. Remove some extraneous words from docs.
2005-11-07 10:13:47 +00:00
Andy Wingo
fe7eeac197 gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate macro.
Original commit message from CVS:
2005-11-05  Andy Wingo  <wingo@pobox.com>

* gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
macro.
2005-11-05 15:14:33 +00:00
Stefan Kost
fd15eb56af more docs added
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstcaps.h:
* gst/gstinfo.c:
* gst/gstminiobject.h:
* gst/gstobject.h:
* gst/gstutils.h:
more docs added
2005-11-04 20:12:01 +00:00
Wim Taymans
875b25482c gst/base/gstbasesrc.c: Small update to stop at the configured segment_end position.
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_get_range):
Small update to stop at the configured segment_end
position.
2005-11-04 15:33:40 +00:00
Stefan Kost
77a1cfd244 gst/gstregistry.*: added missing docs
Original commit message from CVS:
* gst/gstregistry.c:
* gst/gstregistry.h:
added missing docs
2005-11-04 15:02:48 +00:00
Edward Hervey
0315b43942 gst/base/gstbasesrc.c: Check if we are doing a segment seek and have arrived at the end of that segment.
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_get_range):
Check if we are doing a segment seek and have arrived at the
end of that segment.
2005-11-04 14:35:10 +00:00
Wim Taymans
bb6d55f37c gst/gstbus.c: Don't leak a mutex unlock in case of an error.
Original commit message from CVS:
* gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
Don't leak a mutex unlock in case of an error.

* gst/gstbus.h:
Doc fixes.
2005-11-04 12:08:19 +00:00
Wim Taymans
ea9dd6099a gst/gstbus.c: Get the context to wake up only once.
Original commit message from CVS:
* gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
(gst_bus_post):
Get the context to wake up only once.
2005-11-04 11:43:10 +00:00
Wim Taymans
82a38aff77 check/states/sinks.c: Uncomment fixed check.
Original commit message from CVS:
* check/states/sinks.c: (GST_START_TEST):
Uncomment fixed check.

* docs/design/part-TODO.txt:
Updated TODO.

* gst/base/gstbasesink.c: (gst_base_sink_commit_state),
(gst_base_sink_handle_object), (gst_base_sink_do_sync),
(gst_base_sink_get_position):
If we are going to PLAYING, post the right pending state
when we post the intermediate paused message.

* gst/gstelement.c: (gst_element_continue_state),
(gst_element_set_state_func), (gst_element_change_state):
Don't post state changes that were between the same state
and were not ASYNC.
2005-11-03 20:14:24 +00:00
Stefan Kost
87df15ff58 doc fixes
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstelement.c:
* gst/gstminiobject.c:
doc fixes
2005-11-03 19:38:48 +00:00
Wim Taymans
43fe0b06e9 check/states/sinks.c: Added some more checks. Specifically the case where NO_PREROLL elements are in the pipeline.
Original commit message from CVS:
* check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
Added some more checks. Specifically the case where NO_PREROLL
elements are in the pipeline.

* gst/base/gstbasesink.c: (gst_base_sink_commit_state),
(gst_base_sink_handle_object), (gst_base_sink_do_sync),
(gst_base_sink_get_position):
Post READY->PAUSED state change messages too.
Fix bug where VOID was posted as pending state...

* gst/gstbin.c: (gst_bin_recalc_state):
use _element_continue_state() to continue the state change.

* gst/gstelement.c: (gst_element_continue_state),
(gst_element_commit_state), (gst_element_set_state_func),
(gst_element_change_state), (gst_element_change_state_func):
Lots of state change cleanups, assign the STATE_RETURN in
a new continue_state() function that also propagates the
last return value from a state change to the app.
Update some debug statements with proper category.
2005-11-03 17:12:00 +00:00
Wim Taymans
c4abf79f02 docs/: Small docs updates.
Original commit message from CVS:
* docs/design/part-events.txt:
* docs/design/part-gstpipeline.txt:
* docs/design/part-messages.txt:
* docs/design/part-overview.txt:
* docs/design/part-seeking.txt:
* docs/design/part-states.txt:
* docs/design/part-trickmodes.txt:
* docs/manual/advanced-position.xml:
Small docs updates.

* gst/gstobject.h:
People think !! is ugly, this looks better.

* gst/gstpad.c: (gst_pad_set_blocked_async):
Remove !! since it's fixed elsewhere now.
2005-11-03 14:22:44 +00:00
Tim-Philipp Müller
22993965c7 gst/: Add !! to _FLAG_IS_SET macros to make the result boolean.
Original commit message from CVS:
* gst/gstminiobject.h:
* gst/gstobject.h:
Add !! to _FLAG_IS_SET macros to make the result boolean.
2005-11-03 13:52:59 +00:00
Edward Hervey
7c1da7fee0 gst/gstpad.c: comparing a flag and a gboolean rarely returns coherent results...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_set_blocked_async):
comparing a flag and a gboolean rarely returns coherent results...
Added two characters (!!) to make that work correctly.
2005-11-03 12:48:30 +00:00
Tim-Philipp Müller
5c2af06cc5 gst/gstbus.c: Fix some typos.
Original commit message from CVS:
* gst/gstbus.c: (gst_bus_class_init):
Fix some typos.
* gst/gstqueue.c: (gst_queue_loop):
Don't assume a miniobject that isn't a buffer is an
event (it could be that there is a refcounting
problem somewhere and the pointer is stale and
refers to an already destroyed miniobject).
2005-11-03 12:16:49 +00:00
Julien Moutte
e4f8d3b6de gst/gstpad.c: Fix some typos.
Original commit message from CVS:
2005-11-03  Julien MOUTTE  <julien@moutte.net>

* gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2005-11-03 10:56:23 +00:00
Tim-Philipp Müller
215a6a26e0 docs/manual/advanced-position.xml: Update seek example and explanations to current 0.9 API.
Original commit message from CVS:
* docs/manual/advanced-position.xml:
Update seek example and explanations to current 0.9 API.
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_activate):
Remove FIXME comment now that the found caps
are unreffed.
2005-11-03 09:18:53 +00:00
Thomas Vander Stichele
102c29b3b8 Add another GST_STR_NULL instance
Original commit message from CVS:
Add another GST_STR_NULL instance
2005-11-03 00:39:54 +00:00
Edward Hervey
3b80a92550 gst/gstpad.c: Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
Original commit message from CVS:
* gst/gstpad.c: (handle_pad_block):
Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2005-11-02 19:04:20 +00:00
Wim Taymans
563477a64e gst/gstbin.c: Fix typo in docs.
Original commit message from CVS:
* gst/gstbin.c:
Fix typo in docs.

* gst/gstelement.c: (gst_element_commit_state):
Remove unused value.

* gst/gstiterator.c:
Mention that the returned element is reffed in the docs.
2005-11-02 18:44:20 +00:00
Wim Taymans
feca07fdd7 gst/gstpad.c: Unlock blocked pads when they are flushed.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
(gst_pad_push), (gst_pad_push_event):
Unlock blocked pads when they are flushed.
2005-11-02 18:33:00 +00:00
Thomas Vander Stichele
d581d5c976 doc updates
Original commit message from CVS:

* docs/README:
* docs/gst/gstreamer-sections.txt:
* gst/gstbin.c:
doc updates
* gst/gstregistry.c: (gst_registry_scan_path_level):
fix for a nasty little missed situation where an installed plug-in
which was in the cache did not get overridden by an uninstalled one
which was earlier in the plugin path because the newly created plugin
for the uninstalled one (not in the registry) didn't get its
->registered set to TRUE
2005-11-02 15:34:23 +00:00
Tim-Philipp Müller
3e5676f6a8 gst/base/gstcollectpads.c: Guard public API with assertions.
Original commit message from CVS:
* gst/base/gstcollectpads.c: (gst_collectpads_set_function),
(gst_collectpads_add_pad), (gst_collectpads_remove_pad),
(gst_collectpads_is_active), (gst_collectpads_collect),
(gst_collectpads_collect_range), (gst_collectpads_start),
(gst_collectpads_stop), (gst_collectpads_peek),
(gst_collectpads_pop), (gst_collectpads_available),
(gst_collectpads_read), (gst_collectpads_flush):
Guard public API with assertions.
* gst/gstpad.c:
Fix docs for gst_pad_set_link_function().
2005-11-02 15:08:05 +00:00
Johan Dahlin
c49861f331 gst/elements/gsttypefindelement.c (gst_type_find_element_activate): Unref found_caps after we used it.
Original commit message from CVS:
* gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
Unref found_caps after we used it.
2005-11-02 14:28:02 +00:00
Tim-Philipp Müller
327501d2bd gst/base/gstcollectpads.c: Don't try to ref NULL.
Original commit message from CVS:
* gst/base/gstcollectpads.c: (gst_collectpads_peek):
Don't try to ref NULL.
2005-11-02 12:20:54 +00:00
Thomas Vander Stichele
4652cba829 more doc updates
Original commit message from CVS:
more doc updates
2005-11-01 19:16:58 +00:00
Luca Ognibene
f06f22ef8d gst/gst.c: fix docs. popt is death, long live GOption.
Original commit message from CVS:
* gst/gst.c:
fix docs. popt is death, long live GOption.
2005-11-01 17:45:46 +00:00
Wim Taymans
45a69909bc gst/gstbuffer.h: Small doc fix.
Original commit message from CVS:
* gst/gstbuffer.h:
Small doc fix.
2005-10-31 11:44:32 +00:00
Andy Wingo
4a9df820e3 Boo!
Original commit message from CVS:
2005-10-31  Andy Wingo  <wingo@pobox.com>

* Boo!

* gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.

* gst/gstobject.c (gst_object_dispatch_properties_changed): No
need to serialize property notifications on GLib 2.8. GLib 2.6 has
the possibility of deadlocks here if code calling notify() or
set() has a lock that can be taken in another notify handler (ABBA
with class lock and e.g. python GIL state lock).
2005-10-31 09:52:13 +00:00
Julien Moutte
6f63540ea4 gst/gstbus.c: Doc updates.
Original commit message from CVS:
2005-10-28  Julien MOUTTE  <julien@moutte.net>

* gst/gstbus.c: Doc updates.
2005-10-28 18:18:23 +00:00
Wim Taymans
a71cbb326b Doc updates.
Original commit message from CVS:
* docs/design/part-TODO.txt:
* gst/gstiterator.c:
* gst/gstsystemclock.c:
* gst/gstsystemclock.h:
Doc updates.
2005-10-28 18:14:24 +00:00
Thomas Vander Stichele
4a8451a360 Documentation updates.
Original commit message from CVS:
Documentation updates.
2005-10-28 17:35:43 +00:00
Wim Taymans
55bf3d095b Documented the clocks.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstclock.c:
* gst/gstclock.h:
Documented the clocks.
2005-10-28 17:35:05 +00:00
Michael Smith
55c8e8b41e Work around gtkdoc deficiencies, document a macro differently.
Original commit message from CVS:
Work around gtkdoc deficiencies, document a macro differently.
2005-10-28 17:20:45 +00:00
Michael Smith
f6021bd73c Improve GstBuffer documentation. It's now 100% Spiffier.
Original commit message from CVS:
Improve GstBuffer documentation. It's now 100% Spiffier.
2005-10-28 17:01:14 +00:00
Stefan Kost
0572e3c3ae docs/gst/gstreamer-sections.txt: move some macros to private sections
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
move some macros to private sections
* gst/gstminiobject.c:
* gst/gstminiobject.h:
add descriptions provided by ds and some more
* gst/gstpad.h:
mark macro as to be removed
2005-10-28 16:46:58 +00:00
Wim Taymans
b3354de0b7 docs/design/part-TODO.txt: Add an item to TODO.
Original commit message from CVS:
* docs/design/part-TODO.txt:
Add an item to TODO.

* gst/gstiterator.c: (gst_iterator_fold),
(gst_iterator_find_custom):
* gst/gstiterator.h:
Add iterator docs.
2005-10-28 16:21:29 +00:00
Wim Taymans
8ce45b472d gst/base/gstbasetransform.c: Don't leak class.
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_class_init),
(gst_base_transform_init):
Don't leak class.

* gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
An EOS event marks the queue as completely filled.
2005-10-28 10:45:33 +00:00
Wim Taymans
f2e8f7198f gst/base/gstbasesink.c: Some more debugging.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_do_sync), (gst_base_sink_get_position):
Some more debugging.

* gst/base/gstbasetransform.c: (gst_base_transform_finalize),
(gst_base_transform_init), (gst_base_transform_buffer_alloc),
(gst_base_transform_event), (gst_base_transform_getrange),
(gst_base_transform_chain):
* gst/base/gstbasetransform.h:
Fix debugging,
Protect transform and concurrent buffer alloc with a new lock.
Try not to break ABI/API.
2005-10-27 20:59:00 +00:00
Wim Taymans
2e7411e8b8 gst/base/gstbasesrc.c: Move some stuff around and cleanup things.
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_class_init),
(gst_base_src_init), (gst_base_src_query),
(gst_base_src_default_newsegment),
(gst_base_src_configure_segment), (gst_base_src_do_seek),
(gst_base_src_send_event), (gst_base_src_event_handler),
(gst_base_src_pad_get_range), (gst_base_src_loop),
(gst_base_src_unlock), (gst_base_src_default_negotiate),
(gst_base_src_start), (gst_base_src_deactivate),
(gst_base_src_activate_push), (gst_base_src_change_state):
Move some stuff around and cleanup things.
2005-10-27 19:37:25 +00:00
Tim-Philipp Müller
27918022a2 gst/base/gstbasesrc.c: Add missing break statements.
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_query):
Add missing break statements.
2005-10-27 15:48:56 +00:00
Wim Taymans
67b27a2c01 check/gst/gstbin.c: An extra refcount is taken in basesrc.
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
An extra refcount is taken in basesrc.

* gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
(gst_base_src_get_range), (gst_base_src_pad_get_range),
(gst_base_src_loop):
Small cleanups, check for flushing after being unlocked from the
LIVE_LOCK. take refcounts correctly (not yet everywhere).
Don't send out EOS when going to READY.
2005-10-27 13:47:33 +00:00
Wim Taymans
7f22710f65 gst/base/gstbasesink.c: Some more debug.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_get_position):
Some more debug.

* gst/gstbin.c: (message_check), (bin_replace_message),
(bin_remove_messages), (is_eos), (gst_bin_add_func),
(update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
(bin_query_duration_init), (bin_query_duration_fold),
(bin_query_duration_done), (bin_query_generic_fold),
(gst_bin_query):
* tools/gst-launch.c: (main):
Remove old option.
2005-10-27 08:55:44 +00:00
Stefan Kost
349aa7e2e6 fixing examples fixing docs typos changing log priority in error situations
Original commit message from CVS:
* examples/controller/audio-example.c: (main):
* examples/queue/queue.c: (event_loop):
* gst/base/gstbasetransform.h:
* gst/gstelement.c: (gst_element_send_event):
* gst/gstevent.h:
* gst/gstpad.c: (gst_pad_send_event):
fixing examples
fixing docs typos
changing log priority in error situations
2005-10-26 18:57:43 +00:00
Wim Taymans
ef17d9b6bb gst/gstbin.c: Some doc and debug updates.
Original commit message from CVS:
* gst/gstbin.c: (message_check), (bin_replace_message),
(bin_remove_messages), (is_eos), (gst_bin_add_func),
(update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
(bin_query_duration_init), (bin_query_duration_fold),
(bin_query_duration_done), (bin_query_generic_fold),
(gst_bin_query):
Some doc and debug updates.
Cache previously requested query DURATION for speed. invalidate
cached duration if element posts a DURATION message.
2005-10-25 17:41:24 +00:00
Wim Taymans
2803a5587e docs/design/part-TODO.txt: Update TODO.
Original commit message from CVS:
* docs/design/part-TODO.txt:
Update TODO.

* gst/gstbin.c: (message_check), (bin_replace_message),
(bin_remove_messages), (is_eos), (gst_bin_add_func),
(update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
(bin_query_duration_init), (bin_query_duration_fold),
(bin_query_duration_done), (bin_query_generic_fold),
(gst_bin_query):
Handle SEGMENT_START/DONE messages correctly.
More evolved query algorithm that handles duration queries
correctly.

* gst/gstelement.c: (gst_element_send_event), (gst_element_query),
(gst_element_get_state_func), (gst_element_abort_state),
(gst_element_commit_state), (gst_element_lost_state):
Some more debugging.

* gst/gstmessage.h:
Added doc.
2005-10-25 15:39:36 +00:00
Wim Taymans
b204604572 gst/base/gstbasesink.c: Don't use invalid stream_time.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_get_position):
Don't use invalid stream_time.

* gst/gstevent.c: (gst_event_new_newsegment):
stream_time in newsegment cannot be undefined.
2005-10-25 10:15:45 +00:00