Commit graph

3368 commits

Author SHA1 Message Date
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
Wim Taymans bb8289979b gst/gstbus.c: Doc fix.
Original commit message from CVS:
* gst/gstbus.c:
Doc fix.

* gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
(gst_queue_loop):
Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
2005-10-24 15:41:48 +00:00
Michael Smith 3d0989e9ef Fix some minor documentation typos
Original commit message from CVS:
Fix some minor documentation typos
2005-10-24 09:13:27 +00:00
Tim-Philipp Müller 7d5fda88d4 gst/elements/gstfilesink.c: Use fseeko() and ftello() if available. When falling back on lseek() to get the current o...
Original commit message from CVS:
* gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
(gst_file_sink_get_current_offset):
Use fseeko() and ftello() if available. When falling back on
lseek() to get the current offset, fflush() first to make sure
everything is up-to-date and we get the right offset.
2005-10-23 10:29:51 +00:00
Thomas Vander Stichele 013e3acc3d remove prematurely added error category and clean up the instances
Original commit message from CVS:
remove prematurely added error category and clean up the instances
2005-10-23 09:08:44 +00:00
Wim Taymans 62cfdde715 gst/base/gstbasesink.c: Simply set the right flag when going to playing, that's all we need to do instead of calling ...
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_commit_state),
(gst_base_sink_get_position), (gst_base_sink_query),
(gst_base_sink_change_state):
Simply set the right flag when going to playing, that's all
we need to do instead of calling a function inside the object
lock (that could take the lock as well and deadlock)
2005-10-21 17:53:31 +00:00
Wim Taymans c1f08609d1 gst/base/gstbasesrc.c: Don't warn, the peer element knows what to do best when the seek failed, it might try somethin...
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_do_seek),
(gst_base_src_loop):
Don't warn, the peer element knows what to do best when
the seek failed, it might try something else.
2005-10-21 16:18:54 +00:00
Wim Taymans 5b63b6489e gst/base/gstbasesrc.c: Fix seeking.
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_init),
(gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
Fix seeking.
2005-10-21 16:14:34 +00:00
Wim Taymans 5cce351ef3 docs/design/part-segments.txt: More docs.
Original commit message from CVS:
* docs/design/part-segments.txt:
More docs.

* gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
Correctly set caps, even on the subbufer.
2005-10-21 15:13:08 +00:00
Wim Taymans e1a166a584 And 2% more doc coverage.
Original commit message from CVS:
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* gst/gstelement.h:
* gst/gstevent.c:
* gst/gstevent.h:
* gst/gstmessage.h:
* gst/gstpad.h:
* gst/gstparse.h:
* gst/gsttask.c: (gst_task_finalize), (gst_task_func):
* gst/gsttask.h:
* gst/gstutils.c:
* gst/gstutils.h:
And 2% more doc coverage.
2005-10-21 11:36:32 +00:00
Andy Wingo 0e3178c111 gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent position reporting.
Original commit message from CVS:
2005-10-21  Andy Wingo  <wingo@pobox.com>

* gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
position reporting.
2005-10-21 09:24:28 +00:00
Wim Taymans c3fecfa6f8 gst/: More docs.
Original commit message from CVS:
* gst/gsterror.c: (gst_error_get_message):
* gst/gstparse.h:
* gst/gstquery.h:
* gst/gststructure.c:
* gst/gsttrace.c:
* gst/gstutils.c:
More docs.
2005-10-20 21:08:47 +00:00
Wim Taymans df2df58966 gst/: Another 1% more coverage.
Original commit message from CVS:
* gst/gstbuffer.h:
* gst/gstpad.c:
* gst/gstparse.c:
Another 1% more coverage.
2005-10-20 20:46:17 +00:00
Wim Taymans b8d492863b Yay! 1% more docs coverage.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstelement.c: (gst_element_get_state_func),
(gst_element_abort_state), (gst_element_commit_state),
(gst_element_lost_state):
* gst/gstevent.h:
* gst/gstquery.c: (gst_query_set_position),
(gst_query_parse_position), (gst_query_set_duration),
(gst_query_parse_duration), (gst_query_new_convert):
* gst/gstutils.c:
Yay! 1% more docs coverage.
2005-10-20 20:25:55 +00:00
Wim Taymans 8c96da05f2 gst/: Docs and consistency fixes.
Original commit message from CVS:
* gst/gstpad.h:
* gst/gstquery.c: (gst_query_set_position),
(gst_query_parse_position), (gst_query_set_duration),
(gst_query_parse_duration), (gst_query_new_convert):
* gst/gstquery.h:
* gst/gstutils.c: (gst_element_query_convert):
* gst/gstutils.h:
Docs and consistency fixes.
2005-10-20 19:47:07 +00:00
Wim Taymans 9e28a129a5 gst/gsttask.*: More docs.
Original commit message from CVS:
* gst/gsttask.c:
* gst/gsttask.h:
More docs.
2005-10-20 19:30:57 +00:00
Wim Taymans 40f11256e8 gst/gstbin.c: Reworked the message handling a bit, cache the messages instead of only the senders. alows us to do mor...
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),
(gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
Reworked the message handling a bit, cache the messages instead of
only the senders. alows us to do more in the future.
2005-10-20 17:22:40 +00:00
Wim Taymans 17b62f0353 docs/design/part-TODO.txt: Update TODO
Original commit message from CVS:
* docs/design/part-TODO.txt:
Update TODO

* gst/base/gstbasesink.c: (gst_base_sink_get_position),
(gst_base_sink_query):
Don't use clock time to report position when in EOS.
2005-10-20 17:18:12 +00:00
Wim Taymans 4dbc7a5bf8 gst/base/gstbasesink.c: Speed up current position calculation.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_get_position),
(gst_base_sink_query):
Speed up current position calculation.

* gst/base/gstbasesrc.c: (gst_base_src_query),
(gst_base_src_default_newsegment):
Correctly set stream position in newsegment.

* gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
(update_degree), (gst_bin_sort_iterator_next),
(gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
* gst/gstmessage.c: (gst_message_new_custom):
Clean up debugging info

* gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
(gst_queue_loop), (gst_queue_handle_src_query):
Pause task faster.
2005-10-20 11:48:53 +00:00
Wim Taymans ce3b4e17f6 gst/base/gstbasesink.c: Fix query handling again.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_commit_state),
(gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
Fix query handling again.
2005-10-19 17:06:56 +00:00
Wim Taymans 7612a38449 gst/: API change fix.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_commit_state),
(gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
* gst/base/gstbasesrc.c: (gst_base_src_query):
* gst/elements/gstfilesink.c: (gst_file_sink_query):
* gst/elements/gsttypefindelement.c:
(gst_type_find_handle_src_query), (find_element_get_length),
(gst_type_find_element_activate):
API change fix.

* gst/gstquery.c: (gst_query_new_position),
(gst_query_set_position), (gst_query_parse_position),
(gst_query_new_duration), (gst_query_set_duration),
(gst_query_parse_duration), (gst_query_set_segment),
(gst_query_parse_segment):
* gst/gstquery.h:
Bundling query position/duration is not a good idea since duration
does not change much and we don't want to recalculate it for every
position query, so they are separated again..
Base value in segment query is not needed.

* gst/gstqueue.c: (gst_queue_handle_src_query):
* gst/gstutils.c: (gst_element_query_position),
(gst_element_query_duration), (gst_pad_query_position),
(gst_pad_query_duration):
* gst/gstutils.h:
Updates for query API change.
Added some docs here and there.
2005-10-19 15:50:10 +00:00
Thomas Vander Stichele 8f79484b52 log an if branch
Original commit message from CVS:
log an if branch
2005-10-19 11:42:39 +00:00
Wim Taymans 1cef8c5b5a check/: Small state change torture test.
Original commit message from CVS:
* check/Makefile.am:
* check/pipelines/stress.c: (GST_START_TEST),
(simple_launch_lines_suite), (main):
Small state change torture test.

* docs/design/part-states.txt:
* gst/base/gstbasesink.c: (gst_base_sink_commit_state),
(gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
(gst_base_sink_change_state):
Never take state lock from streaming thread, clean up ugly
hacks. Unfortunatly core does not yet support nice ways to
async commit state.

* gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
(bin_bus_handler):
Start state recalc if a STATE_DIRTY message is posted, but only
on the toplevel bin.

* gst/gstelement.c: (gst_element_sync_state_with_parent),
(gst_element_get_state_func), (gst_element_abort_state),
(gst_element_commit_state), (gst_element_lost_state),
(gst_element_set_state_func), (gst_element_change_state):
* gst/gstelement.h:
State variables are now protected with the LOCK, the state
lock is only used to serialize _set_state().
2005-10-18 17:06:29 +00:00
Wim Taymans 0176d5a0cf Seriously, this is better than a previous commit as we only need to notify the fact that an element changed state in ...
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
* check/gst/gstmessage.c: (GST_START_TEST):
* check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
(bin_bus_handler):
* gst/gstelement.c: (gst_element_abort_state),
(gst_element_commit_state), (gst_element_lost_state):
* gst/gstmessage.c: (gst_message_new_state_changed),
(gst_message_new_state_dirty), (gst_message_new_segment_start),
(gst_message_new_segment_done), (gst_message_new_duration),
(gst_message_parse_state_changed),
(gst_message_parse_segment_start),
(gst_message_parse_segment_done), (gst_message_parse_duration):
* gst/gstmessage.h:
* tools/gst-launch.c: (event_loop):
Seriously, this is better than a previous commit as we only need
to notify the fact that an element changed state in a streaming
thread, marking the state of the parents dirty, hence the
STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
message.
2005-10-18 16:25:38 +00:00
Wim Taymans 2c61a2f4d5 gst/: Cleanups, prepare for state change fixes.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
(gst_bin_recalc_func):
* gst/gstelement.c: (gst_element_set_clock),
(gst_element_abort_state), (gst_element_lost_state):
Cleanups, prepare for state change fixes.
2005-10-18 15:15:11 +00:00
Wim Taymans 74c74e189e gst/: Pending ABI changes.
Original commit message from CVS:
* gst/gstbin.h:
* gst/gstelement.c: (gst_element_class_init),
(gst_element_set_state), (gst_element_set_state_func):
* gst/gstelement.h:
Pending ABI changes.
GThreadPool in GstBinClass to monitor async state changes.
state_cookie in GstElement to detect concurrent gst/set state.
set_state is now virtual too in case a very complicated element
has to be constructed.
2005-10-18 14:29:21 +00:00
Wim Taymans 20aff65b34 Make messages future proof. state-change gets a flag if it was a message comming from the streaming thread.
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
* check/gst/gstmessage.c: (GST_START_TEST):
* check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
* gst/gstbin.c: (bin_bus_handler):
* gst/gstelement.c: (gst_element_commit_state),
(gst_element_lost_state):
* gst/gstmessage.c: (gst_message_new_state_changed),
(gst_message_new_segment_start), (gst_message_new_segment_done),
(gst_message_new_duration), (gst_message_parse_state_changed),
(gst_message_parse_segment_start),
(gst_message_parse_segment_done), (gst_message_parse_duration):
* gst/gstmessage.h:
* tools/gst-launch.c: (event_loop):
Make messages future proof.
state-change gets a flag if it was a message comming from the
streaming thread.
segment-start/stop can also be specified in other formats.
A message to notify an app that a pipeline changed playback
duration.
Also fix a GstMessage leak in -launch
2005-10-18 13:19:16 +00:00
Andy Wingo 265df9f026 gst/gstelement.c (gst_element_dispose): More helpful message.
Original commit message from CVS:
2005-10-18  Andy Wingo  <wingo@pobox.com>

* gst/gstelement.c (gst_element_dispose): More helpful message.
2005-10-18 10:32:48 +00:00
Thomas Vander Stichele 4606a2002b gst/gstregistry.c: unref a plug-in we get that was already initialized
Original commit message from CVS:

* gst/gstregistry.c: (gst_registry_scan_path_level):
unref a plug-in we get that was already initialized
2005-10-18 07:13:25 +00:00
Stefan Kost e000de4064 add new api entries hide internal macro
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* docs/libs/gstreamer-libs-sections.txt:
* gst/gstelement.h:
add new api entries
hide internal macro
2005-10-17 20:16:55 +00:00
Andy Wingo 839de99850 gst/base/gstcollectpads.c (gst_collectpads_chain): Slight cleanup.
Original commit message from CVS:
2005-10-17  Andy Wingo  <wingo@pobox.com>

* gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
cleanup.

* gst/Makefile.am (gstenumtypes.c): Threadsafe now.

* gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.

* gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
(gst_element_get_state_func): Better debug message.
(gst_element_commit_state): s/INFO/DEBUG/.
(gst_element_lost_state, gst_element_change_state):

* gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
(gst_message_new_custom): s/INFO/LOG/.
2005-10-17 18:09:32 +00:00
Michael Smith 2992b384a6 Check validity of end time based on end time variable, not start time.
Original commit message from CVS:
Check validity of end time based on end time variable, not start time.
2005-10-17 17:46:37 +00:00
Thomas Vander Stichele 900aea46fa gst/: out. get out. you're fired. to the Attic !
Original commit message from CVS:

* gst/gstmemchunk.c:
* gst/gstmemchunk.h:
* gst/gsttrashstack.c:
* gst/gsttrashstack.h:
out.  get out.  you're fired.  to the Attic !
2005-10-17 14:42:22 +00:00
Thomas Vander Stichele d81f2a6d5b gst/gstcaps.c: fix signedness issues in a (hopefully) correct way
Original commit message from CVS:

* gst/gstcaps.c: (gst_caps_intersect):
fix signedness issues in a (hopefully) correct way
* gst/gstelement.c: (gst_element_pads_activate):
some debugging
* gst/gstobject.c: (gst_object_set_parent):
some debugging
2005-10-17 14:37:06 +00:00
Michael Smith e145f9f8a0 Fix a doc typo.
Original commit message from CVS:
Fix a doc typo.
2005-10-17 10:37:13 +00:00
Julien Moutte 3ecb7cbe6d gst/gstvalue.h: Fix prototypes.
Original commit message from CVS:
2005-10-17  Julien MOUTTE  <julien@moutte.net>

* gst/gstvalue.h: Fix prototypes.
2005-10-17 09:28:35 +00:00
Thomas Vander Stichele 8543a54a49 add gst_version_string ()
Original commit message from CVS:
add gst_version_string ()
2005-10-16 14:32:57 +00:00
Thomas Vander Stichele 8ceb90def1 configure.ac: clean up further
Original commit message from CVS:

* configure.ac:
clean up further
* gst/gst.c: (init_post):
* win32/common/config.h.in:
it's PLUGINDIR now
* gst/gstcaps.c: (gst_caps_intersect):
use gint64, the range could be bigger than a guint
2005-10-16 12:28:20 +00:00
Thomas Vander Stichele 9eea358a9e GStreamer consultants will make a lot of money in 2038
Original commit message from CVS:
GStreamer consultants will make a lot of money in 2038
2005-10-16 11:48:09 +00:00
Thomas Vander Stichele d9ffe247f6 gst/gstcaps.c: Fix guint j diving under 0
Original commit message from CVS:

* gst/gstcaps.c: (gst_caps_intersect):
Fix guint j diving under 0
2005-10-16 10:58:41 +00:00
Thomas Vander Stichele 593932d3ed check for process.h, declares getpid() on Windows
Original commit message from CVS:

* configure.ac:
* win32/common/config.h:
* win32/common/config.h.in:
check for process.h, declares getpid() on Windows
* gst/gstinfo.c:
include process.h if we have it
* gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
* gst/gstmemchunk.h:
fix signedness issues
* win32/common/libgstreamer.def:
fix get_type's
2005-10-16 10:38:02 +00:00
Thomas Vander Stichele 7490994ce6 fix signedness
Original commit message from CVS:
fix signedness
2005-10-16 10:22:29 +00:00
Julien Moutte c1e4762a6d gst/gstcaps.c: Fix a bad bug with a simple fix. Because of unsigned ints, caps intersection was going nuts and trying...
Original commit message from CVS:
2005-10-16  Julien MOUTTE  <julien@moutte.net>

* gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a
simple
fix. Because of unsigned ints, caps intersection was going nuts
and
trying to access structures with G_MAXUINT index. That fixes
videotestsrc ! ffmpegcolorspace ! fakesink
* gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
consistency.
2005-10-16 09:56:33 +00:00
Thomas Vander Stichele 0ecb219505 configure.ac: use the gettext macro
Original commit message from CVS:
2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>

* configure.ac:
use the gettext macro
* gst/elements/gstelements.c:
* gst/gst.c:
* gst/indexers/gstindexers.c:
update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
* win32/common/config.h:
updated config.h
* win32/common/config.h.in:
add the template to generate config.h
* win32/common/gstenumtypes.c:
* win32/common/gstversion.h:
updated copies
2005-10-16 09:20:52 +00:00
Thomas Vander Stichele b2ec3849fd gst/: add the nano
Original commit message from CVS:
* gst/gst.c: (gst_version):
* gst/gstversion.h.in:
add the nano
2005-10-16 09:10:17 +00:00
Tim-Philipp Müller 34c8e29cec gst/gstevent.h: Oops, add missing closing bracket.
Original commit message from CVS:
* gst/gstevent.h:
Oops, add missing closing bracket.
2005-10-15 22:24:20 +00:00
Tim-Philipp Müller 45a07481db Add GST_EVENT_TYPE_NAME() macro.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstevent.h:
Add GST_EVENT_TYPE_NAME() macro.
2005-10-15 20:33:09 +00:00
Thomas Vander Stichele 92f4901b64 gst/: privatize more symbols
Original commit message from CVS:

* gst/gstinfo.c:
* gst/gstpluginfeature.c:
* gst/gsttask.c:
privatize more symbols
2005-10-15 19:57:03 +00:00
Thomas Vander Stichele 4df2acee2e give each value a _get_type, removes the DATA exports
Original commit message from CVS:

* docs/gst/gstreamer-sections.txt:
* gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
* gst/gstvalue.h:
give each value a _get_type, removes the DATA exports
2005-10-15 17:59:07 +00:00
Thomas Vander Stichele cf83938008 fix link flags
Original commit message from CVS:
fix link flags
2005-10-15 17:22:34 +00:00
Thomas Vander Stichele 2ca1c89aac gst/gst.*: remove _gst_registry_auto_load, not used anymore
Original commit message from CVS:

* gst/gst.c:
* gst/gst.h:
remove _gst_registry_auto_load, not used anymore
* gst/gstbin.c: (gst_bin_get_type):
* gst/gstbin.h:
* gst/gstelement.c: (gst_element_get_type):
* gst/gstelement.h:
* gst/gstobject.c: (gst_object_get_type):
* gst/gstobject.h:
* gst/gstpad.c: (gst_pad_get_type):
* gst/gstpad.h:
make _get_type functions similar, fixes data export from library
2005-10-15 16:33:09 +00:00
Thomas Vander Stichele 3537119465 I'm too lazy to comment this
Original commit message from CVS:
gtk-doc insists on inserting <PARA> at every empty line, sigh
2005-10-15 16:16:04 +00:00
Thomas Vander Stichele bef56ce78d various style fixes
Original commit message from CVS:
various style fixes
2005-10-15 16:01:57 +00:00
Thomas Vander Stichele 14bbecccf3 configure.ac: correctly make conditionals
Original commit message from CVS:

* configure.ac:
correctly make conditionals
* gst/elements/Makefile.am:
* gst/elements/gstelements.c:
fix typo causing fdsrc not to build
2005-10-15 15:52:08 +00:00
Thomas Vander Stichele 2dd1598c56 whitespace fixes
Original commit message from CVS:
whitespace fixes
2005-10-15 15:30:24 +00:00
Thomas Vander Stichele e3e695a537 configure.ac: check for some headers
Original commit message from CVS:

* configure.ac:
check for some headers
* gst/elements/Makefile.am:
* gst/elements/gstelements.c:
don't compile fdsrc without sys/socket.h
* gst/indexers/Makefile.am:
* gst/indexers/gstindexers.c: (plugin_init):
don't compile fileindex without mmap
2005-10-15 15:01:39 +00:00
Thomas Vander Stichele 08479555e5 configure.ac: reorganize clean up document more remove cruft
Original commit message from CVS:

* configure.ac:
reorganize
clean up
document more
remove cruft
* check/Makefile.am:
* docs/gst/Makefile.am:
* examples/helloworld/Makefile.am:
* gst/Makefile.am:
* gst/base/Makefile.am:
* gst/check/Makefile.am:
* gst/elements/Makefile.am:
* gst/indexers/Makefile.am:
* gst/parse/Makefile.am:
* libs/gst/controller/Makefile.am:
* libs/gst/dataprotocol/Makefile.am:
* examples/helloworld/helloworld.c: (event_loop):
compile fixes, though it's not being compiled currently
2005-10-15 13:58:18 +00:00
Thomas Vander Stichele 2d8b674753 remove directory
Original commit message from CVS:
remove directory
2005-10-15 10:34:17 +00:00
Thomas Vander Stichele 4a74148bd4 signedness/type fixes
Original commit message from CVS:
signedness/type fixes
2005-10-15 00:22:02 +00:00
Thomas Vander Stichele 4ba0732136 signedness/type fixes
Original commit message from CVS:
signedness/type fixes
2005-10-15 00:20:45 +00:00
Thomas Vander Stichele 9ffd425b5d signedness fixes
Original commit message from CVS:
signedness fixes
2005-10-15 00:15:43 +00:00
Thomas Vander Stichele 58db19c2e7 signedness fixes
Original commit message from CVS:
signedness fixes
2005-10-15 00:12:22 +00:00
Tim-Philipp Müller 55c0c8ed51 gst/elements/: Beautify 'last-message' output: print 'none' for buffer timestamps and durations if none is set; impro...
Original commit message from CVS:
* gst/elements/gstfakesink.c: (gst_fake_sink_render):
* gst/elements/gstfakesrc.c: (gst_fake_src_create):
Beautify 'last-message' output: print 'none' for buffer timestamps
and durations if none is set; improve alignment with next messages.
2005-10-14 14:10:24 +00:00
Tim-Philipp Müller 45258dbc4c Add new API to check plugin feature version requirements.
Original commit message from CVS:
* gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
* gst/gstpluginfeature.h:
* gst/gstregistry.c: (gst_default_registry_check_feature_version):
* gst/gstregistry.h:
* docs/gst/gstreamer-sections.txt:
Add new API to check plugin feature version requirements.
* check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
Some basic tests for the above.
2005-10-14 11:09:29 +00:00
Thomas Vander Stichele b10cc10e8c gst/gststructure.c: guard against NULL printf - happens when for example a message structure with GstClock gets seria...
Original commit message from CVS:
2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>

* gst/gststructure.c: (gst_structure_to_string):
guard against NULL printf - happens when for example
a message structure with GstClock gets serialized
2005-10-13 21:27:57 +00:00
Tim-Philipp Müller 26eb6ab26d gst/base/gstcollectpads.c: Fix presumable copy'n'pasto.
Original commit message from CVS:
* gst/base/gstcollectpads.c: (gst_collectpads_event):
Fix presumable copy'n'pasto.
2005-10-13 18:33:27 +00:00
Thomas Vander Stichele 82d7d35d64 add correct header for WIN32
Original commit message from CVS:
add correct header for WIN32
2005-10-13 17:51:51 +00:00
Thomas Vander Stichele 2bc75efbf3 gst/elements/: fix some signedness
Original commit message from CVS:

* gst/elements/gstfakesrc.h:
* gst/elements/gstfilesrc.c: (gst_file_src_create_read):
* gst/elements/gsttypefindelement.c:
fix some signedness
* gst/elements/gstfilesink.c: (gst_file_sink_render):
I wonder if this could actually write +2GB files before
2005-10-13 17:43:36 +00:00
Thomas Vander Stichele ef8b2e27ec include header correctly; show me the name
Original commit message from CVS:
include header correctly; show me the name
2005-10-13 17:20:44 +00:00
Stefan Kost d2cd55ab84 fixed typos
Original commit message from CVS:
* docs/design/draft-push-pull.txt:
* docs/design/part-overview.txt:
* docs/random/TODO-pre-0.9:
* docs/random/old/ChangeLog.gstreamer:
* gst/base/gstpushsrc.c:
* gst/gstclock.c:
fixed typos
2005-10-13 15:27:40 +00:00
Thomas Vander Stichele eecd25e78f gst/: GLib 2.6 g_flags_get_first_value has a bug that triggers an infinite loop
Original commit message from CVS:

* gst/glib-compat.c: (gst_flags_get_first_value):
* gst/glib-compat.h:
* gst/gstvalue.c: (gst_value_deserialize_int_helper),
(gst_value_compare_double), (gst_value_serialize_flags):
GLib 2.6 g_flags_get_first_value has a bug that triggers an
infinite loop
2005-10-13 15:23:51 +00:00
Thomas Vander Stichele d4ea9fbeba gst/base/: fix up debugging
Original commit message from CVS:
2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>

* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
* gst/base/gstbasesrc.c: (gst_base_src_get_range):
fix up debugging
* tools/gst-launch.c: (event_loop):
print out clock nicely
2005-10-13 15:22:26 +00:00
Tim-Philipp Müller c32c04303c Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttaglist.h:
* gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
(gst_tag_list_get_date_index):
Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
2005-10-13 15:13:32 +00:00
Julien Moutte 04f521f191 gst/base/gstcollectpads.*: Handle newsegment and store informations in CollectData.
Original commit message from CVS:
2005-10-13  Julien MOUTTE  <julien@moutte.net>

* gst/base/gstcollectpads.c: (gst_collectpads_event),
(gst_collectpads_chain):
* gst/base/gstcollectpads.h: Handle newsegment and store
informations
in CollectData.
2005-10-13 14:55:17 +00:00
Stefan Kost 2bc2709c85 fix GOption context leaks doc fixes
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gst.c:
* gst/gsterror.h:
* tools/gst-inspect.c: (main):
* tools/gst-launch.c: (main):
* tools/gst-run.c: (main):
* tools/gst-xmlinspect.c: (main):
fix GOption context leaks
doc fixes
2005-10-13 09:57:15 +00:00
Thomas Vander Stichele feeb5f939e gst/gstbus.c: use HAVE_UNISTD_H
Original commit message from CVS:

* gst/gstbus.c:
use HAVE_UNISTD_H
* win32/common/config.h:
update config
* win32/vs6/grammar.dsp:
* win32/vs6/libgstelements.dsp:
* win32/vs6/libgstreamer.dsp:
update vs6 files
2005-10-12 22:34:47 +00:00
Thomas Vander Stichele 04a38508e1 gst/base/: fix more guint64<->gdouble conversions
Original commit message from CVS:

* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
* gst/base/gstbasesrc.c: (gst_base_src_query):
fix more guint64<->gdouble conversions
2005-10-12 21:56:52 +00:00
Wim Taymans f6e003890d gst/: Protect flags with proper lock. unref provided cached clock in dispose.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
(reset_degree), (gst_bin_dispose), (bin_bus_handler):
* gst/gstelement.c: (gst_element_commit_state),
(gst_element_set_state):
Protect flags with proper lock.
unref provided cached clock in dispose.
2005-10-12 19:38:44 +00:00
Thomas Vander Stichele 17e4681cdf layout cleanup
Original commit message from CVS:
layout cleanup
2005-10-12 19:14:23 +00:00
Stefan Kost 2aaf1df98f removed unused flags from miniobject doc fixes
Original commit message from CVS:
* gst/gst.c:
* gst/gstminiobject.h:
* gst/gstpad.h:
* win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
removed unused flags from miniobject
doc fixes
2005-10-12 19:10:46 +00:00
Wim Taymans e41e541dcc gst/elements/gstfilesink.c: Flush before seeking.
Original commit message from CVS:
* gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
(gst_file_sink_event), (gst_file_sink_render):
Flush before seeking.
2005-10-12 16:03:39 +00:00
Andy Wingo b5fcd112ae gst/gst.c (gst_init_check): Ignore unknown options, as has always been the case.
Original commit message from CVS:
2005-10-12  Andy Wingo  <wingo@pobox.com>

* gst/gst.c (gst_init_check): Ignore unknown options, as has
always been the case.
2005-10-12 15:58:24 +00:00
Stefan Kost a98aef82db renamed GST_FLAGS macros to GST_OBJECT_FLAGS moved bitshift from macro to enum definition
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
* docs/gst/gstreamer-sections.txt:
* gst/base/gstbasesink.c: (gst_base_sink_init):
* gst/base/gstbasesrc.c: (gst_base_src_init),
(gst_base_src_get_range), (gst_base_src_check_get_range),
(gst_base_src_start), (gst_base_src_stop):
* gst/base/gstbasesrc.h:
* gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
* gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
(bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
(bin_bus_handler):
* gst/gstbin.h:
* gst/gstbuffer.h:
* gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
* gst/gstbus.h:
* gst/gstelement.c: (gst_element_is_locked_state),
(gst_element_set_locked_state), (gst_element_commit_state),
(gst_element_set_state):
* gst/gstelement.h:
* gst/gstindex.c: (gst_index_init):
* gst/gstindex.h:
* gst/gstminiobject.h:
* gst/gstobject.c: (gst_object_init), (gst_object_sink),
(gst_object_set_parent):
* gst/gstobject.h:
* gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
(gst_pad_get_caps_unlocked), (gst_pad_set_caps):
* gst/gstpad.h:
* gst/gstpadtemplate.h:
* gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
(gst_pipeline_use_clock), (gst_pipeline_auto_clock):
* gst/gstpipeline.h:
* gst/indexers/gstfileindex.c: (gst_file_index_load),
(gst_file_index_commit):
* testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
* testsuite/pad/link.c: (gst_test_src_init),
(gst_test_filter_init), (gst_test_sink_init):
* testsuite/states/locked.c: (main):
renamed GST_FLAGS macros to GST_OBJECT_FLAGS
moved bitshift from macro to enum definition
2005-10-12 14:28:39 +00:00
Wim Taymans 427aa60014 gst/: Some more debugging info.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
* gst/elements/gstfilesink.c: (gst_file_sink_event),
(gst_file_sink_render):
Some more debugging info.
2005-10-12 14:12:37 +00:00
Wim Taymans 6d0be74351 Use GstClockTime in _get_state() instead of GTimeVal.
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
* check/gst/gstelement.c: (GST_START_TEST):
* check/gst/gstevent.c: (GST_START_TEST), (test_event):
* check/gst/gstghostpad.c: (GST_START_TEST):
* check/gst/gstpipeline.c: (GST_START_TEST):
* check/pipelines/simple_launch_lines.c: (run_pipeline):
* check/states/sinks.c: (GST_START_TEST):
* gst/elements/gsttypefindelement.c: (stop_typefinding):
* gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
(gst_bin_remove_func), (gst_bin_get_state_func),
(gst_bin_recalc_state), (gst_bin_change_state_func),
(bin_bus_handler):
* gst/gstelement.c: (gst_element_get_state_func),
(gst_element_get_state), (gst_element_abort_state),
(gst_element_commit_state), (gst_element_set_state),
(gst_element_change_state), (gst_element_change_state_func):
* gst/gstelement.h:
* gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
(gst_pipeline_provide_clock_func):
* gst/gstutils.c: (gst_element_link_pads_filtered):
* tools/gst-launch.c: (main):
* tools/gst-typefind.c: (main):
Use GstClockTime in _get_state() instead of GTimeVal.
Remove old code in gstutils.c
2005-10-12 12:18:48 +00:00
Andy Wingo c3cc492c7e gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if there is no task. Shouldn't affect any code, as nothing i...
Original commit message from CVS:
2005-10-12  Andy Wingo  <wingo@pobox.com>

* gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
there is no task. Shouldn't affect any code, as nothing in our
plugins checks this return value.
(gst_pad_stop_task): Also take the stream lock if the pad has no
task. Docs updated.
2005-10-12 11:49:35 +00:00
Wim Taymans e11ddea888 gst/gstpad.c: Cleanup activation code. Reset old state if activation failed.
Original commit message from CVS:
* gst/gstpad.c: (pre_activate), (post_activate),
(gst_pad_activate_pull), (gst_pad_activate_push):
Cleanup activation code. Reset old state if
activation failed.
2005-10-12 10:05:36 +00:00
Wim Taymans 0fd18045b1 gst/base/gstbasesink.c: No need to prerol after receiving EOS.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_change_state):
No need to prerol after receiving EOS.

* gst/elements/gstfakesink.c: (gst_fake_sink_event):
* gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
* gst/elements/gstidentity.c: (gst_identity_event):
Print events more verbosely.
2005-10-12 09:02:42 +00:00
Wim Taymans cc28efc239 check/: Moved sinks2 testcode in sinks check.
Original commit message from CVS:
* check/Makefile.am:
* check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
* check/states/sinks2.c:
Moved sinks2 testcode in sinks check.

* gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
(gst_bin_remove_func), (gst_bin_recalc_state),
(gst_bin_change_state_func), (bin_bus_handler):
Fix potential race condition when _get_state() iterated over an
ASYNC element right before it posted a state completion.

* gst/gstclock.h:
Do proper cast here.

* gst/gstevent.c: (gst_event_new_newsegment),
(gst_event_parse_newsegment):
A playback rate of 0.0 is not allowed.
2005-10-12 08:38:06 +00:00
Wim Taymans 7a2e55a750 forgot this one
Original commit message from CVS:
forgot this one
2005-10-11 17:33:25 +00:00
Wim Taymans 9decf461f5 gst/base/gstbasesink.*: Correctly parse newsegment info.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_do_sync), (gst_base_sink_query),
(gst_base_sink_change_state):
* gst/base/gstbasesink.h:
Correctly parse newsegment info.
2005-10-11 17:32:00 +00:00
Thomas Vander Stichele 593c714746 gst/gst.c: split plugin paths correctly
Original commit message from CVS:
2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>

* gst/gst.c: (init_post):
split plugin paths correctly
2005-10-11 16:54:41 +00:00
Wim Taymans c97e237a14 Added extra flag to newsegment for future API freeze.
Original commit message from CVS:
* check/gst/gstevent.c: (GST_START_TEST):
* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_change_state):
* gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
* gst/base/gstbasetransform.c: (gst_base_transform_event):
* gst/elements/gstfilesink.c: (gst_file_sink_event):
* gst/gstevent.c: (gst_event_new_newsegment),
(gst_event_parse_newsegment):
* gst/gstevent.h:
Added extra flag to newsegment for future API freeze.
Updated check and base elements.
2005-10-11 16:28:49 +00:00
Julien Moutte 5706cb69b4 gst/base/gstcollectpads.*: Handle EOS correctly.
Original commit message from CVS:
2005-10-11  Julien MOUTTE  <julien@moutte.net>

* gst/base/gstcollectpads.c: (gst_collectpads_init),
(gst_collectpads_add_pad), (gst_collectpads_pop),
(gst_collectpads_event), (gst_collectpads_chain):
* gst/base/gstcollectpads.h: Handle EOS correctly.
2005-10-11 16:25:35 +00:00
Thomas Vander Stichele 03159ca232 gst/gst-i18n-lib.h: check for ENABLE_NLS, not GETTEXT_PACKAGE
Original commit message from CVS:

* gst/gst-i18n-lib.h:
check for ENABLE_NLS, not GETTEXT_PACKAGE
* gst/gstregistry.c: (gst_registry_add_plugin),
(gst_registry_scan_path_level),
(_gst_registry_remove_cache_plugins):
protect possibly NULL strings
* gst/parse/types.h:
config.h already included before
* tools/gst-inspect.c: (main):
sys/wait.h also doesnt exist on mingw, so change the ifdef check
check for ENABLE_NLS, not GETTEXT_PACKAGE
* tools/gst-launch.c: (main):
check for ENABLE_NLS, not GETTEXT_PACKAGE


This commit brought to you from msys/mingw
2005-10-11 16:05:16 +00:00
Thomas Vander Stichele 3b9e6b3eff configure.ac: if we don't have glib, fail before testing 2.8
Original commit message from CVS:

* configure.ac:
if we don't have glib, fail before testing 2.8
* gst/base/gstbasetransform.c: (gst_base_transform_change_state):
fix a leak, should fix plugins-base testsuite
2005-10-11 15:26:58 +00:00
Andy Wingo 3ef37179a1 gst/gstpad.c (pre_activate): Renamed from pre_activate_switch, take the mode we're going to as an arg. Go head and se...
Original commit message from CVS:
2005-10-11  Andy Wingo  <wingo@pobox.com>

* gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
take the mode we're going to as an arg. Go head and set the mode
and flushing flags now, so that if the activate function starts a
thread all the flags will be in the right state.
(post_activate): Renamed also. Just handle making sure streaming
finishes for the deactivation case, and setting the deactivated
mode.
(gst_pad_set_active): Complain loudly if deactivation fails.
(gst_pad_activate_pull): Adapt to pre/post_activate changes.
(gst_pad_activate_push): Adapt to pre/post_activate changes,
remove the terrible hack.
2005-10-11 15:23:10 +00:00
Wim Taymans 4dd6c2a587 gst/gstbin.*: Prepare to make current EOS message queue more generic.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
(is_eos), (gst_bin_add_func), (gst_bin_remove_func),
(gst_bin_recalc_state), (gst_bin_change_state_func),
(gst_bin_dispose), (bin_bus_handler):
* gst/gstbin.h:
Prepare to make current EOS message queue more generic.
Fix some typos.

* gst/gstevent.c: (gst_event_new_newsegment),
(gst_event_parse_newsegment):
* gst/gstevent.h:
Rename base to stream_time.

* gst/gstmessage.h:
Fix typo in docs.
2005-10-11 15:05:55 +00:00
Wim Taymans fc5dc6de66 gst/gstbin.*: Work on proper clock selection.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
(gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
(gst_bin_change_state_func), (bin_bus_handler):
* gst/gstbin.h:
Work on proper clock selection.
2005-10-11 12:58:44 +00:00
Wim Taymans fd1a66e8b5 docs/design/part-states.txt: Some more docs.
Original commit message from CVS:
* docs/design/part-states.txt:
Some more docs.

* gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
(gst_bin_change_state_func), (bin_bus_handler):
Doc updates. Don't distribute the same clock over and over again.

* gst/gstclock.c:
* gst/gstclock.h:
Doc updates.

* gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
(gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
(gst_pad_send_event):
* gst/gstpad.h:
Make probe emission threadsafe again.
Register quarks and move _get_name() from utils.
Doc updates.

* gst/gstpipeline.c: (gst_pipeline_class_init),
(gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
Only redistribute the clock of it changed.

* gst/gstsystemclock.h:
Doc updates.

* gst/gstutils.c:
* gst/gstutils.h:
Moved the _flow_get_name() to GstPad.
2005-10-11 11:08:52 +00:00
Thomas Vander Stichele c43e9db780 if we log our init, should also log finalize
Original commit message from CVS:
if we log our init, should also log finalize
2005-10-11 09:14:59 +00:00
Thomas Vander Stichele 33a77b7a01 don't declare on the proper define
Original commit message from CVS:
don't declare on the proper define
2005-10-10 23:11:33 +00:00
Thomas Vander Stichele 5fb2b32a1f unmangle the nesting a little
Original commit message from CVS:
unmangle the nesting a little
2005-10-10 22:59:22 +00:00
Thomas Vander Stichele 1b27dd60dd gst/parse/grammar.y: some cleanup before the hacking
Original commit message from CVS:

* gst/parse/grammar.y:
some cleanup before the hacking
2005-10-10 22:49:42 +00:00
Thomas Vander Stichele e2af9ca6c6 gst/base/gstbasesrc.c: use conversions
Original commit message from CVS:

* gst/base/gstbasesrc.c: (gst_base_src_query):
use conversions
* gst/gstutils.c: (gst_guint64_to_gdouble),
(gst_gdouble_to_guint64), (gst_util_uint64_scale):
* gst/gstutils.h:
externalize, basesrc uses it
obviously the implementation needs testing
2005-10-10 18:16:37 +00:00
Thomas Vander Stichele 78c180ea28 another cast bites the dust
Original commit message from CVS:
another cast bites the dust
2005-10-10 17:05:04 +00:00
Thomas Vander Stichele 8808565b44 another cast bites the dust
Original commit message from CVS:
another cast bites the dust
2005-10-10 16:45:45 +00:00
Thomas Vander Stichele 0d129e5757 gst/gstutils.c: apparently converting from guint64 to double is not implemented on MSVC
Original commit message from CVS:

* gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
apparently converting from guint64 to double is not implemented
on MSVC
2005-10-10 16:38:59 +00:00
Wim Taymans 2153c45964 check/: Check fixes, use API as stated in design docs, remove hacks.
Original commit message from CVS:
* check/Makefile.am:
* check/generic/states.c: (GST_START_TEST):
* check/gst/gstbin.c: (GST_START_TEST):
* check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
* check/states/sinks.c: (GST_START_TEST):
* check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
(main):
Check fixes, use API as stated in design docs, remove hacks.

* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_change_state):
Catch stopping our task while we're shutting down.

* gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
(gst_bin_remove_func), (gst_bin_get_state_func),
(gst_bin_recalc_state), (gst_bin_change_state_func),
(bin_bus_handler):
* gst/gstbin.h:
* gst/gstelement.c: (gst_element_init),
(gst_element_get_state_func), (gst_element_abort_state),
(gst_element_commit_state), (gst_element_lost_state),
(gst_element_set_state), (gst_element_change_state),
(gst_element_change_state_func):
* gst/gstelement.h:
New state change algorithm (see #318116)

* gst/gstpipeline.c: (gst_pipeline_class_init),
(gst_pipeline_init), (gst_pipeline_set_property),
(gst_pipeline_get_property), (do_pipeline_seek),
(gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
* gst/gstpipeline.h:
Remove crude state change hacks.

* gst/gstutils.h:
Remove crude hacks.

* tools/gst-launch.c: (main):
Fixes for state change. Needs some more work to fully use the
new stuff.
2005-10-10 16:38:26 +00:00
Andy Wingo e415bd9957 gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires this flag, but it's not even in GLib 2.6. Odd. Hack ar...
Original commit message from CVS:
2005-10-10  Andy Wingo  <wingo@pobox.com>

* gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
this flag, but it's not even in GLib 2.6. Odd. Hack around the
issue.
2005-10-10 16:04:28 +00:00
Tim-Philipp Müller 29e78cb4b0 gst/gstiterator.c: Fix my previous commit: GTypes passed to gst_iterator_new() can be fundamental types.
Original commit message from CVS:
* gst/gstiterator.c: (gst_iterator_new):
Fix my previous commit: GTypes passed to gst_iterator_new()
can be fundamental types.
2005-10-10 15:58:32 +00:00
Wim Taymans 63f02ce9ad gst/gstelement.c: Use src/sink pads lists for the respective iterators instead of filtering.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_iterate_pad_list),
(gst_element_iterate_pads), (gst_element_iterate_src_pads),
(gst_element_iterate_sink_pads):
Use src/sink pads lists for the respective iterators instead
of filtering.
2005-10-10 15:55:37 +00:00
Ronald ac8289c7a9 Merged in popt removal + GOption addition patch from Ronald, bug #169772.
Original commit message from CVS:
2005-10-10  Andy Wingo  <wingo@pobox.com>

Merged in popt removal + GOption addition patch from Ronald, bug
#169772.

* docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
GstElement macros around, remove popt-related symbols, add goption
stuff.

* configure.ac: Remove popt checks, require GLib 2.6 for GOption.

* docs/gst/Makefile.am:
* docs/libs/Makefile.am: No POPT_CFLAGS.

* examples/manual/Makefile.am:
* docs/manual/basics-init.xml: Doc updates with an example.

* gst/gst.c: (gst_init_get_option_group), (gst_init_check),
(gst_init), (parse_one_option), (parse_goption_arg):
* gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
bit of hand merging and debugging to get the GOption stuff working
tho.

* tests/Makefile.am:
* tools/Makefile.am:
* tools/gst-inspect.c: (main):
* tools/gst-launch.c: (main):
* tools/gst-run.c: (main):
* tools/gst-xmlinspect.c: (main): Thanks Ronald!
2005-10-10 15:53:59 +00:00
Tim-Philipp Müller a1702b7646 gst/gstiterator.c: Add assertions to make sure passed GType is likely to really be a GType (as the compiler won't cat...
Original commit message from CVS:
* gst/gstiterator.c: (gst_iterator_new):
Add assertions to make sure passed GType is likely to really
be a GType (as the compiler won't catch it if the size and
GType arguments get mixed up, see #318447).
2005-10-10 15:30:45 +00:00
Tim-Philipp Müller ee379a13b6 gst/gstbin.c: Pass GType and size arguments to gst_iterator_new() in the right order (maybe we should make _new() tak...
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
* gst/gstbin.c: (gst_bin_iterate_sorted):
Pass GType and size arguments to gst_iterator_new() in the right
order (maybe we should make _new() take the GType as first argument
just like _new_list()?) (#318447).
2005-10-10 15:27:12 +00:00
Wim Taymans 9e17ca91dd gst/gstelement.c: And free the GStaticRecMutex too
Original commit message from CVS:
* gst/gstelement.c: (gst_element_finalize):
And free the GStaticRecMutex too
2005-10-10 15:17:35 +00:00
Andy Wingo cfd14e0fd3 gst/gstelement.c (gst_element_init, gst_element_finalize): Allocate and free the mutex properly.
Original commit message from CVS:
2005-10-10  Andy Wingo  <wingo@pobox.com>

* gst/gstelement.c (gst_element_init, gst_element_finalize):
Allocate and free the mutex properly.

* gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
New macros.
(GstElement): The state_lock is now recursive. Rebuild your
plugins, suckers. Old macros adapted.
2005-10-10 14:33:13 +00:00
Andy Wingo 16dfb8d4df docs/gst/gstreamer-sections.txt: Doc updates.
Original commit message from CVS:
2005-10-10  Andy Wingo  <wingo@pobox.com>

* docs/gst/gstreamer-sections.txt: Doc updates.

* gst/gstutils.h:
* gst/gstutils.c (g_static_rec_cond_timed_wait)
(g_static_rec_cond_wait): Ported from state changes patch, while
we wait on bug #317802 to be solved in a well-distributed GLib.
2005-10-10 14:23:26 +00:00
Andy Wingo addf0c460b gst/gstelement.c (gst_element_change_state_func): Renamed from gst_element_change_state, variable name changes.
Original commit message from CVS:
2005-10-10  Andy Wingo  <wingo@pobox.com>

* gst/gstelement.c (gst_element_change_state_func): Renamed from
gst_element_change_state, variable name changes.
(gst_element_change_state): Split out of gst_element_set_state in
preparation for the state change merge. Doesn't pay attention to
the 'transition' argument.
(gst_element_set_state): Updates, hopefully purely cosmetic.
(gst_element_sync_state_with_parent): MT-safety. Ported from the
state change patch.
(gst_element_get_state_func): Renamed from get_state, cosmetic
changes.
2005-10-10 14:03:25 +00:00
Sebastien Moutte b4e68ab0a3 updates for the win32 build (patch from Sebastien Moutte)
Original commit message from CVS:

* gst/elements/gstelements.c:
* win32/GStreamer.vcproj:
* win32/config.h:
* win32/dirent.c: (_tseekdir):
* win32/gst-inspect.vcproj:
* win32/gst-launch.vcproj:
* win32/gstconfig.h:
* win32/gstelements.vcproj:
* win32/gstenumtypes.c: (gst_object_flags_get_type):
* win32/gstreamer.def:
* win32/msvc71.sln:
updates for the win32 build (patch from Sebastien Moutte)
2005-10-10 13:52:18 +00:00
Andy Wingo 933bf92949 gst/gstbin.c (gst_bin_get_state_func): Renamed from gst_bin_get_state, cleaned up (but no logic changes).
Original commit message from CVS:
2005-10-10  Andy Wingo  <wingo@pobox.com>

* gst/gstbin.c (gst_bin_get_state_func): Renamed from
gst_bin_get_state, cleaned up (but no logic changes).
(bin_element_is_sink): Comment updates.
(sink_iterator_filter): Remove needless cast.
(gst_bin_iterate_sinks): Doc update.
(gst_bin_change_state_func): Renamed from gst_bin_change_state,
cleaned up (but no logic changes).
2005-10-10 11:52:58 +00:00
Tim-Philipp Müller b846fed997 gst/base/gsttypefindhelper.c: Check whether we have the requested data already in our list of cached buffers before p...
Original commit message from CVS:
* gst/base/gsttypefindhelper.c: (helper_find_peek),
(gst_type_find_helper):
Check whether we have the requested data already in our list of
cached buffers before pulling a new buffer; also make the buffer
list a GSList. Speeds up typefinding by ca. 5-10% altogether.
2005-10-10 10:43:15 +00:00
Thomas Vander Stichele 2b7c3ac5e5 gst/: doc updates
Original commit message from CVS:

* gst/gstcaps.c:
* gst/gstevent.c:
doc updates
* gst/gstvalue.c: (gst_value_deserialize_int_helper):
don't use long long, it's not portable.  Replacing with
gint64 seems to work; let's hope no skeletons fall out of the closet.
2005-10-10 09:48:21 +00:00
Stefan Kost f9c812c51c more docs, fix compilation
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstevent.c:
* gst/gstevent.h:
* gst/gstinfo.c:
* gst/gstinfo.h:
* gst/gstmessage.c: (gst_message_parse_state_changed):
* gst/gstpad.c:
* gst/gstpad.h:
more docs, fix compilation
2005-10-09 20:49:46 +00:00
Philippe Kalaf b6ea453bc1 gst/gstmessage.c: Fixed a few forgotten variables on previous commit
Original commit message from CVS:
2005-10-09  Philippe Khalaf <burger@speedy.org>
* gst/gstmessage.c:
Fixed a few forgotten variables on previous commit
2005-10-09 20:19:48 +00:00
Tim-Philipp Müller 2b41c044a2 gst/base/gsttypefindhelper.c: Fix evil typefind crasher: getrange() might return a short buffer at the end of a file,...
Original commit message from CVS:
* gst/base/gsttypefindhelper.c: (helper_find_peek):
Fix evil typefind crasher: getrange() might return a short
buffer at the end of a file, but gst_type_find_peek() must
either return the full data as requested or NULL, but
never a short buffer.
2005-10-09 17:59:08 +00:00
Thomas Vander Stichele d8efd5cc51 gst/gstmessage.*: don't use new, it's a C++ keyword
Original commit message from CVS:

* gst/gstmessage.c: (gst_message_new_state_changed),
(gst_message_parse_state_changed):
* gst/gstmessage.h:
don't use new, it's a C++ keyword
2005-10-09 17:53:33 +00:00
Wim Taymans e823f47cdd gst/: Small docs and debug updates.
Original commit message from CVS:
* gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
* gst/gstelement.c: (gst_element_post_message):
* gst/gstpipeline.c: (gst_pipeline_change_state):
Small docs and debug updates.
2005-10-08 18:21:20 +00:00
Stefan Kost 796a232d59 more docs
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstelementfactory.c:
* gst/gstevent.c:
* gst/gsttaglist.c:
more docs
2005-10-08 18:07:20 +00:00
Wim Taymans ae25867a05 gst/gstbin.c: Fix typos, add comments.
Original commit message from CVS:
* gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
(gst_bin_dispose), (bin_bus_handler):
Fix typos, add comments.
Clear EOS list when going to PAUSED from any direction and do it
in a threadsafe way.
Get base time in a threadsafe way too.
Fix confusing debug in the change_state function.
Various other mall cleanups.

* gst/gstelement.c: (gst_element_post_message):
Fix very verbose bus posting code.

* gst/gstpipeline.c: (gst_pipeline_class_init),
(gst_pipeline_set_property), (gst_pipeline_get_property),
(gst_pipeline_change_state):
Small ARG_ -> PROP_ cleanup
2005-10-08 18:01:04 +00:00
Wim Taymans 3988477b17 gst/gstbin.c: Do a less CPU demanding EOS check because we can.
Original commit message from CVS:
* gst/gstbin.c: (is_eos), (bin_bus_handler):
Do a less CPU demanding EOS check because we can.
2005-10-08 17:30:29 +00:00
Wim Taymans bed8c238f0 gst/gstevent.*: Fix event quark registration.
Original commit message from CVS:
* gst/gstevent.c:
* gst/gstevent.h:
Fix event quark registration.
Add some space between events so we can insert them in the
right groups.
2005-10-08 16:13:50 +00:00
Wim Taymans 06bc343e3f gst/base/gstbasesink.c: Better log message.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_handle_buffer):
Better log message.

* gst/gstbus.h:
* gst/gstelement.h:
More docs.

* gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
(gst_queue_set_property), (gst_queue_get_property):
* gst/gstqueue.h:
Remove old unused properties.
2005-10-08 14:57:09 +00:00
Stefan Kost 8167fcdd78 lots of new docs and doc fixes
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstmessage.c:
* gst/gstmessage.h:
* gst/gstminiobject.c:
* gst/gstminiobject.h:
* gst/gstobject.h:
* gst/gstpad.h:
* gst/gstutils.h:
lots of new docs and doc fixes
2005-10-08 14:48:17 +00:00
Thomas Vander Stichele c7d09f7c4f fix a leak I introduced
Original commit message from CVS:
fix a leak I introduced
2005-10-08 14:41:56 +00:00
Thomas Vander Stichele 871217319a gst/: Only ever load one plugin for a given plugin basename.
Original commit message from CVS:

* gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
* gst/gstplugin.h:
* gst/gstregistry.c: (gst_registry_lookup_locked),
(gst_registry_scan_path_level):
* gst/gstregistryxml.c: (load_plugin):
Only ever load one plugin for a given plugin basename.
This ensures correct overriding of GST_PLUGIN_PATH over
GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
system installed plugins.
2005-10-08 13:57:17 +00:00
Wim Taymans 5d5dbe9bc0 gst/base/gstbasesink.c: Prepare for doing QOS.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
Prepare for doing QOS.
2005-10-08 13:39:02 +00:00
Wim Taymans dafe104298 gst/gstmessage.*: Also carry the clock in question.
Original commit message from CVS:
* gst/gstmessage.c: (gst_message_new_error),
(gst_message_new_warning), (gst_message_new_tag),
(gst_message_new_state_changed), (gst_message_new_clock_provide),
(gst_message_new_clock_lost), (gst_message_new_new_clock),
(gst_message_new_segment_start), (gst_message_new_segment_done),
(gst_message_parse_state_changed),
(gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
(gst_message_parse_new_clock):
* gst/gstmessage.h:
Also carry the clock in question.
2005-10-08 12:56:37 +00:00
Wim Taymans 677becd06a gst/gstmessage.*: Clean up.
Original commit message from CVS:
* gst/gstmessage.c: (gst_message_new_custom),
(gst_message_new_eos), (gst_message_new_error),
(gst_message_new_warning), (gst_message_new_tag),
(gst_message_new_state_changed), (gst_message_new_clock_provide),
(gst_message_new_new_clock), (gst_message_new_segment_start),
(gst_message_new_segment_done), (gst_message_parse_state_changed),
(gst_message_parse_clock_provide), (gst_message_parse_new_clock):
* gst/gstmessage.h:
Clean up.
Added clock related messages.

* gst/gstpipeline.c: (gst_pipeline_change_state):
Post message when the clock changed.

* tools/gst-launch.c: (event_loop):
Print new clock.
2005-10-08 12:36:36 +00:00
Thomas Vander Stichele e1d580ab0e Makefile.am: remove include dir
Original commit message from CVS:

* Makefile.am:
remove include dir
* configure.ac:
remove PLUGINS_BUILDDIR stuff
* gst/gst.c: (init_post):
reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
* idiottest.mak:
remove, it was condescending and not needed
2005-10-08 11:10:17 +00:00
Wim Taymans d80f874fc8 gst/base/gstbasesink.*: Repost EOS message while going to PLAYING if still EOS.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
(gst_base_sink_handle_object), (gst_base_sink_event),
(gst_base_sink_wait), (gst_base_sink_handle_event),
(gst_base_sink_change_state):
* gst/base/gstbasesink.h:
Repost EOS message while going to PLAYING if still EOS.
Make sure that when receiving a FLUSH_START we don't attempt
to sync on the clock anymore.
2005-10-08 09:58:30 +00:00
Wim Taymans 65006292ce gst/: Make ChildProxy threadsafe and fix mem leaks.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
(gst_bin_child_proxy_get_children_count):
* gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
(gst_child_proxy_lookup), (gst_child_proxy_get_property),
(gst_child_proxy_get_valist), (gst_child_proxy_set_property),
(gst_child_proxy_set_valist):
* gst/parse/grammar.y:
Make ChildProxy threadsafe and fix mem leaks.
2005-10-08 09:24:25 +00:00
Thomas Vander Stichele 9e539e0202 gst/gst.c: debug the GST_PLUGIN_ env vars
Original commit message from CVS:
* gst/gst.c: (init_post):
debug the GST_PLUGIN_ env vars
2005-10-08 09:09:55 +00:00
Wim Taymans ce081d6341 Added extra field to STATE_CHANGE message with the pending state, which will be different from the new state soon.
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
* check/gst/gstmessage.c: (GST_START_TEST):
* check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
* gst/gstelement.c: (gst_element_commit_state),
(gst_element_lost_state):
* gst/gstmessage.c: (gst_message_new_state_changed),
(gst_message_parse_state_changed):
* gst/gstmessage.h:
* tools/gst-launch.c: (event_loop):
Added extra field to STATE_CHANGE message with the pending
state, which will be different from the new state soon.
2005-10-08 08:58:45 +00:00
Wim Taymans 8e213e710b gst/: Small cleanups and doc updates.
Original commit message from CVS:
* gst/gstbus.c: (gst_bus_pop):
* gst/gstclock.c:
* gst/gstsystemclock.c: (gst_system_clock_async_thread):
Small cleanups and doc updates.
2005-10-08 08:00:37 +00:00
Thomas Vander Stichele 80ca485dad gst/: log distributing clocks and base time
Original commit message from CVS:

* gst/gst.c: (init_pre):
* gst/gstbin.c: (gst_bin_add_func):
log distributing clocks and base time
* gst/gstregistry.c: (gst_registry_add_plugin),
(gst_registry_scan_path_level), (gst_registry_scan_path):
clean up the debugging output a little
* gst/gstutils.c: (gst_element_state_get_name):
warn about a memleak (I've actually seen this be used, though
it was probably a bug)
2005-10-08 06:49:09 +00:00
Wim Taymans 5a74215411 gst/base/gstbasesrc.*: Make the newsegment event customizable by subclasses.
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_class_init),
(gst_base_src_init), (gst_base_src_default_newsegment),
(gst_base_src_newsegment), (gst_base_src_do_seek),
(gst_base_src_loop), (gst_base_src_start):
* gst/base/gstbasesrc.h:
Make the newsegment event customizable by subclasses.
2005-10-07 18:17:23 +00:00
Wim Taymans c6ae655d0a gst/gstevent.*: New event for future idea.
Original commit message from CVS:
* gst/gstevent.c: (gst_event_new_buffersize),
(gst_event_parse_buffersize):
* gst/gstevent.h:
New event for future idea.
2005-10-07 18:02:14 +00:00
Andy Wingo 7fe57d86a0 gst/gstelement.c (gst_element_post_message): Doc update.
Original commit message from CVS:
2005-10-07  Andy Wingo  <wingo@pobox.com>

* gst/gstelement.c (gst_element_post_message): Doc update.
2005-10-07 16:28:56 +00:00
Andy Wingo 5ba9a47aaa docs/gst/gstreamer-sections.txt: Update.
Original commit message from CVS:
2005-10-07  Andy Wingo  <wingo@pobox.com>

* docs/gst/gstreamer-sections.txt: Update.

* gst/gstmessage.c (gst_message_new_application): Made into a
function like honest API calls.
(gst_message_new_element): New message type.

* gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
2005-10-07 16:13:51 +00:00
Thomas Vander Stichele 3976fb1c3e fdsrc does not build currently on win32 due to socketpair
Original commit message from CVS:
fdsrc does not build currently on win32 due to socketpair
2005-10-07 15:25:49 +00:00
Andy Wingo ab96505bce check/elements/fakesrc.c (test_no_preroll): New check, checks that setting a live fakesrc to PAUSED returns NO_PREROL...
Original commit message from CVS:
2005-10-07  Andy Wingo  <wingo@pobox.com>

* check/elements/fakesrc.c (test_no_preroll): New check, checks
that setting a live fakesrc to PAUSED returns NO_PREROLL both
times.

* gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
NO_PREROLL from gst_element_change_state to fall through.
2005-10-07 15:22:38 +00:00
Wim Taymans 45867cc853 gst/gstghostpad.c: Activating a ghostpad with no internal pad in push mode is ok.
Original commit message from CVS:
* gst/gstghostpad.c: (gst_ghost_pad_get_internal),
(gst_ghost_pad_do_activate_push):
Activating a ghostpad with no internal pad in push mode
is ok.
2005-10-07 12:52:15 +00:00
Thomas Vander Stichele 100a96c969 gst/gstobject.h: there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
Original commit message from CVS:

* gst/gstobject.h:
there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
Fixes compilation on Windows.
2005-10-07 12:45:49 +00:00
Johan Dahlin 25a0f8c57f Add a GType to GstIterator, update callsites and tests.
Original commit message from CVS:
* check/gst/gstiterator.c: (GST_START_TEST):
* gst/gstbin.c: (gst_bin_iterate_elements),
(gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
* gst/gstelement.c: (gst_element_iterate_pads):
* gst/gstformat.c: (gst_format_iterate_definitions):
* gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
(gst_iterator_new_list), (gst_iterator_filter):
* gst/gstiterator.h:
* gst/gstquery.c: (gst_query_type_iterate_definitions):
Add a GType to GstIterator, update callsites and tests.
2005-10-07 00:14:45 +00:00
Thomas Vander Stichele 2effd1018d initialize quarks
Original commit message from CVS:
initialize quarks
2005-10-06 14:20:15 +00:00
Thomas Vander Stichele 68e6852e0e gst/gstpad.c: give events a chance to be handled by event probes when the pad is not linked
Original commit message from CVS:

* gst/gstpad.c: (gst_pad_event_default_dispatch):
give events a chance to be handled by event probes when the pad
is not linked
2005-10-06 14:01:44 +00:00
Thomas Vander Stichele 37c3c87edb gst/gstevent.*: add string representations for event types
Original commit message from CVS:

* gst/gstevent.c: (gst_event_type_get_name),
(gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
* gst/gstevent.h:
add string representations for event types
2005-10-06 13:55:43 +00:00
Thomas Vander Stichele c6f9c38da2 whitespace fixes
Original commit message from CVS:
whitespace fixes
2005-10-06 13:42:56 +00:00
Wim Taymans cb64b2a586 gst/elements/gstfilesink.c: Don't use NULL pointers.
Original commit message from CVS:
* gst/elements/gstfilesink.c: (gst_file_sink_close_file):
Don't use NULL pointers.
2005-10-06 13:24:28 +00:00
Thomas Vander Stichele 93c6b88036 gst/: widen the debug category in output to fit the biggest one we have add a bus category and use it play with the c...
Original commit message from CVS:

* gst/gst_private.h:
* gst/gstbus.c:
* gst/gstelement.c:
* gst/gstinfo.c:
* gst/gstpluginfeature.c:
widen the debug category in output to fit the biggest one we have
add a bus category and use it
play with the colors
fix up some categories
2005-10-06 09:49:42 +00:00
Thomas Vander Stichele f22af4c0bb gst/gstghostpad.c: add push activation of sink ghost pads.
Original commit message from CVS:
2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>

* gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
add push activation of sink ghost pads.
Andye, please verify
2005-10-06 07:13:01 +00:00
Thomas Vander Stichele 6eb5fb3112 doc updates
Original commit message from CVS:
doc updates
2005-10-05 22:35:14 +00:00
Thomas Vander Stichele 8b0f1ffe11 gst/gstutils.c: fix a bug in the case where neither element has a pad
Original commit message from CVS:
* gst/gstutils.c: (gst_element_link_pads):
fix a bug in the case where neither element has a pad
* check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
add a test for that case
2005-10-05 21:34:42 +00:00
Thomas Vander Stichele 06c7f2231b gst/gstpad.c: emit have-data before checking for peers. This allows for probe handlers to connect elements. This he...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
emit have-data before checking for peers.  This allows
for probe handlers to connect elements.  This helps autopluggers.
* check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
(gst_pad_suite):
add six checks, linked/unlinked with no/true/false probe
2005-10-05 16:16:58 +00:00
Thomas Vander Stichele 593cdc30dd indent ifdefs
Original commit message from CVS:
indent ifdefs
2005-10-05 11:50:49 +00:00
Wim Taymans aabe6fe013 gst/elements/: Protect last_message with lock.
Original commit message from CVS:
* gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
(gst_fake_sink_event), (gst_fake_sink_preroll),
(gst_fake_sink_render), (gst_fake_sink_change_state):
* gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
(gst_fake_src_get_property), (gst_fake_src_create),
(gst_fake_src_stop):
* gst/elements/gstidentity.c: (gst_identity_stop):
Protect last_message with lock.
2005-10-04 18:46:09 +00:00
Edward Hervey c07a5da265 gst/gstformat.h: Added precision in the comments for GST_FORMAT_DEFAULT
Original commit message from CVS:
* gst/gstformat.h:
Added precision in the comments for GST_FORMAT_DEFAULT
2005-10-04 15:04:50 +00:00
Michael Smith 35188bbe39 gst/gsterror.c: Add another error string used in a few existing plugins.
Original commit message from CVS:
* gst/gsterror.c: (_gst_stream_errors_init):
Add another error string used in a few existing plugins.

* gst/gstplugin.c:
* gst/gstpluginfeature.c: (gst_plugin_feature_load):
* tools/gst-inspect.c: (print_element_info):
When a feature disappears from a plugin (and the feature exists in
the cached registry file), things went horribly wrong. This isn't a
complete fix, we should actually be removing the 'missing' features
from the features list when we load the actual plugin. That's not
yet implemented.
2005-10-04 11:10:04 +00:00
Julien Moutte 0a55c5f642 gst/gstbus.c: We don't need this header.
Original commit message from CVS:
2005-10-04  Julien MOUTTE  <julien@moutte.net>

* gst/gstbus.c: We don't need this header.
2005-10-04 11:09:41 +00:00
Andy Wingo 60f3c2b541 gst/gstpad.c (gst_pad_activate_push): There is a race condition whereby calling a pad's activatepush() function can s...
Original commit message from CVS:
2005-10-03  Andy Wingo  <wingo@pobox.com>

* gst/gstpad.c (gst_pad_activate_push): There is a race condition
whereby calling a pad's activatepush() function can start a thread
that starts to push or pull before the pad gets the FLUSHING flag
unset. Hack around it by holding the stream lock until the flag is
set. Need to replace this with a proper solution. Together with
the ghost pad fixes, this fixes mp3 playing/tagreading.
2005-10-02 23:24:25 +00:00
Andy Wingo 9d28c696bd docs/design/part-gstghostpad.txt: Add a note about activation of proxy pads outside of ghost pads.
Original commit message from CVS:
2005-10-03  Andy Wingo  <wingo@pobox.com>

* docs/design/part-gstghostpad.txt: Add a note about activation of
proxy pads outside of ghost pads.

* gst/gstghostpad.c: Implement the ghost pad activation design.
2005-10-02 23:20:26 +00:00
Andy Wingo 381006822b gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
Original commit message from CVS:
2005-10-02  Andy Wingo  <wingo@pobox.com>

* gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
It is volatile, after all.

* docs/design/part-gstghostpad.txt: Flesh out activation with
ghost pads.

* gst/base/gstbasesrc.c (gst_base_src_init): Use
GST_DEBUG_FUNCPTR.
2005-10-02 18:57:07 +00:00
Tim-Philipp Müller 5b5e1702fe gst/gstutils.c: Add assertion that makes sure src_val is >=0, just like gst_query_new_convert() has. (#315895)
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
* gst/gstutils.c: (gst_pad_query_convert):
Add assertion that makes sure src_val is >=0, just like
gst_query_new_convert() has. (#315895)
2005-10-01 17:11:07 +00:00
Edward Hervey 6fcaf333b1 gst/elements/gsttee.c: Let's not iterate pads we're not interested in, it avoids getting sky-high refcounts on sinkpad.
Original commit message from CVS:
* gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
Let's not iterate pads we're not interested in, it avoids getting
sky-high refcounts on sinkpad.
2005-09-30 15:43:03 +00:00
Wim Taymans 93823de17e gst/gstelement.c: Small tweak, element in ASYNC remains ASYNC.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_set_state),
(gst_element_change_state):
Small tweak, element in ASYNC remains ASYNC.
2005-09-30 08:29:02 +00:00
Wim Taymans 2d3e9f6438 gst/base/gstbasesink.c: Only error is an error.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_change_state):
Only error is an error.

* gst/gstbin.c: (gst_bin_change_state):
Better debugging.

* gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
Also call pad_block in pad alloc.

* gst/gstutils.c: (gst_flow_get_name):
Better debugging.
2005-09-30 08:00:12 +00:00
Tim-Philipp Müller 428cf34142 gst/base/gstbasesrc.c: Fix documentation typos. Add some more debug info.
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_class_init),
(gst_base_src_get_range):
Fix documentation typos. Add some more debug info.
2005-09-29 20:26:12 +00:00
David Schleef 1ba0964a87 gst/gstplugin.c: Make some error messages more end-user friendly.
Original commit message from CVS:
* gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
more end-user friendly.
* tools/gst-inspect.c: (main): Check if command-line argument is
a file and attempt to load that file as a plugin.
2005-09-29 19:45:27 +00:00
Thomas Vander Stichele 18682cacc1 check/: fix tests for the new warning
Original commit message from CVS:

* check/gst/gstbin.c:
* check/states/sinks.c:
fix tests for the new warning
* check/gst/gstpipeline.c:
add a test for pipeline and bus interaction
* gst/gstelement.c:
elements should be NULL if they get disposed; add a warning if not
2005-09-29 18:37:48 +00:00
Thomas Vander Stichele 91e8b0bb91 gst/gstobject.c: for 2.6 refcounting, make debug log more correct by printing the actual refcounts at the time of swa...
Original commit message from CVS:

* gst/gstobject.c:
for 2.6 refcounting, make debug log more correct by printing
the actual refcounts at the time of swap (Wim)
2005-09-29 18:35:38 +00:00
Thomas Vander Stichele 8c2deca31b use message type names
Original commit message from CVS:
use message type names
2005-09-29 18:25:50 +00:00
Andy Wingo 410315b375 gst/gstbus.c (gst_bus_remove_signal_watch): New function, removes signal watches previously added via gst_bus_add_sig...
Original commit message from CVS:
2005-09-29  Andy Wingo  <wingo@pobox.com>

* gst/gstbus.c (gst_bus_remove_signal_watch): New function,
removes signal watches previously added via
gst_bus_add_signal_watch.
(gst_bus_add_signal_watch): Don't return the source id, just store
it on the bus if there wasn't an id already.

* gst/gstbus.h (GstBus): Add a couple new fields. API changes for
add_signal_watch and remove_signal_watch.
2005-09-29 16:04:31 +00:00
Wim Taymans 4d6a030306 check/gst/gstbin.c: Change for new bus API.
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
Change for new bus API.

* check/gst/gstbus.c: (message_func_eos), (message_func_app),
(send_messages), (GST_START_TEST), (gstbus_suite):
Change for new bus signal API.

* gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
(gst_bus_source_prepare), (gst_bus_source_check),
(gst_bus_create_watch), (gst_bus_add_watch_full),
(gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
(gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
* gst/gstbus.h:
Remove support for multiple GSources operating on different
message types as it is too complex and unneeded when using
signals.
Added support for receiving signals from the bus.
2005-09-29 13:07:37 +00:00
Thomas Vander Stichele 482d36244d rename filter-caps to caps property
Original commit message from CVS:

* docs/libs/tmpl/gstdataprotocol.sgml:
* docs/manual/advanced-dataaccess.xml:
* gst/elements/gstcapsfilter.c:
* gst/gstutils.c:
rename filter-caps to caps property
2005-09-29 12:37:38 +00:00
Tim-Philipp Müller fa0afcafb4 gst/gstvalue.c: More robust fraction string parsing.
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_deserialize_fraction):
More robust fraction string parsing.
* docs/pwg/appendix-porting.xml:
Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
2005-09-29 12:05:51 +00:00
Tim-Philipp Müller 356893d5f8 gst/gstcaps.c: Thou shalt not free a structure and then continue using it in the next loop iteration.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_do_simplify):
Thou shalt not free a structure and then continue using it
in the next loop iteration.
* check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
(gst_caps_suite):
Add test case for caps simplification.
2005-09-29 10:56:57 +00:00
Wim Taymans 92836e5172 check/gst/gstbin.c: Add bus to bin.
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
Add bus to bin.

* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
(add_to_queue), (clear_queue), (reset_degree), (update_degree),
(find_element), (gst_bin_sort_iterator_next),
(gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
(gst_bin_iterate_sorted), (gst_bin_element_set_state),
(gst_bin_change_state), (gst_bin_dispose):
A bin does not have a bus, it gets the bus from the parent.

* gst/gstelement.c: (gst_element_requires_clock),
(gst_element_provides_clock), (gst_element_is_indexable),
(gst_element_is_locked_state), (gst_element_change_state),
(gst_element_set_bus_func):
Small cleanups.

* gst/gstpipeline.c: (gst_pipeline_class_init),
(gst_pipeline_init), (gst_pipeline_provide_clock_func):
The pipeline provides a bus.
2005-09-29 09:39:36 +00:00
Johan Dahlin d52d4b4a4d gst/gstmessage.c (gst_message_parse_state_changed): Use gst_structure_get_enum instead of gst_structure_get_int
Original commit message from CVS:
* gst/gstmessage.c (gst_message_parse_state_changed): Use
gst_structure_get_enum instead of gst_structure_get_int

* gst/gststructure.c (gst_structure_get_enum): Impl.

* gst/gststructure.h (gst_structure_get_enum): Add

* docs/gst/gstreamer-sections.txt: Ditto
2005-09-29 02:32:37 +00:00
Johan Dahlin bdb214775d gst/gstmessage.c (gst_message_new_state_changed): Use
Original commit message from CVS:
* gst/gstmessage.c (gst_message_new_state_changed): Use
GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
which does introspection.
Reviewed by Christian Schaller
2005-09-29 01:57:00 +00:00
Stefan Kost e37803d652 gst/gstinfo.c: don't do dummy g_strdup()s
Original commit message from CVS:
* gst/gstinfo.c: (gst_debug_log_default):
don't do dummy g_strdup()s
* libs/gst/controller/gstcontroller.c:
(on_object_controlled_property_changed),
(gst_controlled_property_new), (gst_controller_new_valist),
(gst_controller_new_list),
(gst_controller_remove_properties_valist), (gst_controller_set),
(gst_controller_get), (gst_controller_sync_values),
(gst_controller_get_value_array), (_gst_controller_class_init),
(gst_controller_get_type):
* libs/gst/controller/gstcontroller.h:
* libs/gst/controller/gstinterpolation.c:
(gst_controlled_property_find_timed_value_node):
convert // to /**/ comments
2005-09-28 17:30:13 +00:00
Wim Taymans bf443a4639 gst/gstbus.*: Added async-message and sync-message signals to the bus.
Original commit message from CVS:
* gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
(gst_bus_post), (poll_func), (gst_bus_async_signal_func),
(gst_bus_sync_signal_handler):
* gst/gstbus.h:
Added async-message and sync-message signals to the bus.
Added helper BusFunc to emit signals for all posted messages.

* gst/gstmessage.c: (gst_message_type_get_name),
(gst_message_type_to_quark), (gst_message_get_type):
* gst/gstmessage.h:
Register quarks for message names.
2005-09-28 16:43:20 +00:00
Thomas Vander Stichele 5ae3bc47ec check/gst/gstpipeline.c: add another check
Original commit message from CVS:

* check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
add another check
* gst/gstbus.c:
add some doc
* gst/gstinfo.c: (_gst_debug_init):
slightly more readable color for refcount debugging
2005-09-28 15:45:21 +00:00
Wim Taymans de789ca484 gst/gstbin.c: Small doc fixes. get_clock -> provide_clock.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
(add_to_queue), (clear_queue), (reset_degree), (update_degree),
(find_element), (gst_bin_sort_iterator_next),
(gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
(gst_bin_iterate_sorted), (gst_bin_element_set_state),
(gst_bin_change_state), (gst_bin_dispose):
Small doc fixes. get_clock -> provide_clock.

* gst/gstelement.c: (gst_element_class_init),
(gst_element_provides_clock), (gst_element_provide_clock),
(gst_element_get_clock), (gst_element_commit_state),
(gst_element_lost_state):
* gst/gstelement.h:
Make get/set_clock() symetric. Add provide_clock vmethod since
that is actually what this function does.

* gst/gstpipeline.c: (gst_pipeline_class_init),
(gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
(gst_pipeline_get_clock):
get_clock -> provide_clock.
2005-09-28 13:41:27 +00:00
Andy Wingo 5111420fa2 gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in lieu of real docs...
Original commit message from CVS:
2005-09-28  Andy Wingo  <wingo@pobox.com>

* gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
lieu of real docs...

* gst/elements/gstfdsrc.c: Cleaned up a bit.
2005-09-28 13:05:12 +00:00
Tim-Philipp Müller 99d855fdc9 gst/elements/: Make element details static.
Original commit message from CVS:
* gst/elements/gstcapsfilter.c:
* gst/elements/gstfakesink.c:
* gst/elements/gstfakesrc.c:
* gst/elements/gstfdsink.c:
* gst/elements/gstfdsrc.c:
* gst/elements/gstfilesink.c:
* gst/elements/gstfilesrc.c:
* gst/elements/gstidentity.c:
* gst/elements/gsttee.c:
* gst/elements/gsttypefindelement.c:
Make element details static.
2005-09-28 12:52:51 +00:00
Wim Taymans cacb844d6f gst/gstbin.c: Some documentation updates.
Original commit message from CVS:
* gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
(update_outdegree), (find_element), (gst_bin_sort_iterator_next),
(gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
(gst_bin_iterate_sorted), (gst_bin_element_set_state),
(gst_bin_change_state), (gst_bin_dispose):
Some documentation updates.
Clean up dispose handlers.

* gst/gstobject.c: (gst_object_ref), (gst_object_unref):
* gst/gstpad.c: (gst_pad_dispose):
Clean up dispose handler.

* gst/gstpipeline.c: (gst_pipeline_change_state):
Removed spurious UNLOCK.
2005-09-28 11:03:58 +00:00
Stefan Kost 6de84a3d83 added two new functions to the docs documents all undocumented GstXXXFlags completed some incomplete docs
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/base/gstbasesrc.h:
* gst/gstelement.h:
* gst/gstevent.h:
* gst/gstobject.h:
* gst/gstpad.h:
* gst/gstpipeline.c:
* gst/gstpipeline.h:
* gst/gstutils.h:
* gst/gstxml.h:
added two new functions to the docs
documents all undocumented GstXXXFlags
completed some incomplete docs
2005-09-27 20:40:35 +00:00
Thomas Vander Stichele daadaad81b gst/: remove now useless and leaky resurrection code in dispose
Original commit message from CVS:

* gst/gstbin.c: (gst_bin_dispose):
* gst/gstelement.c: (gst_element_dispose):
remove now useless and leaky resurrection code in dispose
* gst/base/gstbasesrc.c: (gst_base_src_init):
* gst/gstelementfactory.c: (gst_element_factory_create):
* gst/gstobject.c: (gst_object_set_parent):
add some debugging
2005-09-27 18:33:48 +00:00
Wim Taymans 1da84c7e67 docs/design/part-TODO.txt: Update TODO.
Original commit message from CVS:
* docs/design/part-TODO.txt:
Update TODO.

* gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
(update_outdegree), (find_element), (gst_bin_sort_iterator_next),
(gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
(gst_bin_iterate_sorted), (gst_bin_element_set_state),
(gst_bin_change_state):
* gst/gstelement.h:
Remove element variable, we keep element info in the iterator now.
2005-09-27 17:00:13 +00:00
Wim Taymans 4d4a60f6c9 check/gst/gstbin.c: Enable check that works now.
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
Enable check that works now.

* gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
(update_outdegree), (find_element), (gst_bin_sort_iterator_next),
(gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
(gst_bin_iterate_sorted), (gst_bin_element_set_state),
(gst_bin_change_state):
* gst/gstbin.h:
Redid the state change algorithm using a topological sort algo.
Handles all cases correctly.
Exposed iterator for state change order.

* gst/gstelement.h:
Temp storage for state changes. Need to get rid of this soon.
2005-09-27 16:16:39 +00:00
Wim Taymans 590a0cfb57 gst/: Leak fixes, the fold functions need to unref the passed object and _get_parent_*() returns ref to parent.
Original commit message from CVS:
* gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
* gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
(link_fold_func), (gst_pad_proxy_setcaps):
Leak fixes, the fold functions need to unref the passed object and
_get_parent_*() returns ref to parent.
2005-09-27 15:37:40 +00:00
Tim-Philipp Müller 246fee258f gst/gstbuffer.c: Set READONLY flag on subbuffers, so that gst_buffer_make_writable() works correctly in all circumsta...
Original commit message from CVS:
* gst/gstbuffer.c: (gst_subbuffer_init):
Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
works correctly in all circumstances (we could have just copied
the parent buffer's readonly flag, but conceptually it seems
cleaner to mark all subbuffers as read-only). (based on patch
by Alessandro Decina, #314710).
* check/gst/gstbuffer.c: (create_read_only_buffer),
(test_make_writable), (test_subbuffer_make_writable),
(gst_test_suite):
Add some tests for gst_buffer_make_writable().
2005-09-27 13:07:14 +00:00
Wim Taymans 01085fa26a gst/gstbin.c: use gst_object_has_ancestor().
Original commit message from CVS:
* gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
use gst_object_has_ancestor().

* gst/gstobject.c: (gst_object_has_ancestor):
* gst/gstobject.h:
gst_object_has_ancestor() copied from gstbin.c as it is a
usefull function.

* tests/instantiate/create.c: (create_all_elements):
* tests/lat.c: (handoff_src), (handoff_sink):
* tests/sched/runxml.c: (main):
* tests/seeking/seeking1.c: (main):
* tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
(main):
Fix compilation of some tests.
2005-09-27 09:57:20 +00:00
Tim-Philipp Müller f9a16f0ac7 gst/gsterror.h: Remove comment. GST_TYPE_G_ERROR is here to stay,
Original commit message from CVS:
* gst/gsterror.h:
Remove comment. GST_TYPE_G_ERROR is here to stay,
G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
(#316961, #300610).
2005-09-27 09:29:04 +00:00