Commit graph

80 commits

Author SHA1 Message Date
Thomas Vander Stichele
288f61d21f expand tabs
Original commit message from CVS:
expand tabs
2005-12-06 19:29:15 +00:00
Thomas Vander Stichele
aa56b376a7 gst/gstclock.c: remove crack non-portable handrolled DEBUG macro
Original commit message from CVS:
2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>

* gst/gstclock.c: (do_linear_regression):
remove crack non-portable handrolled DEBUG macro
2005-11-30 09:18:15 +00:00
Thomas Vander Stichele
597335c574 doc updates
Original commit message from CVS:
doc updates
2005-11-28 17:59:25 +00:00
Wim Taymans
870d272630 check/gst/gstutils.c: More checks.
Original commit message from CVS:
* check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
More checks.

* gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
(do_linear_regression), (gst_clock_add_observation):
Cleanups.
Release lock when the clock cannot be slaved.
Catch the case where the regression returned an invalid denominator.

* gst/gstutils.c: (gst_util_div128_64_iterate),
(gst_util_div128_64), (gst_util_uint64_scale_int64),
(gst_util_uint64_scale), (gst_util_uint64_scale_int):
Add protentially more performant non-iterative 128/64 divide function
that unfortunatly does not work yet.
Shortcut the trivial 0/X = 0 case.
Remove the warnings on overflow.
2005-11-28 16:05:35 +00:00
Wim Taymans
a9f7f7b7b6 Doc fixes.
Original commit message from CVS:
Doc fixes.
2005-11-24 09:44:07 +00:00
Andy Wingo
da72aaa235 check/net/gstnetclientclock.c (test_functioning): Adjust to rate_num/rate_denom change.
Original commit message from CVS:
2005-11-23  Andy Wingo  <wingo@pobox.com>

* check/net/gstnetclientclock.c (test_functioning): Adjust to
rate_num/rate_denom change.

* gst/net/gstnetclientclock.c
(gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
OBJECT_LOCK. Don't call add_observation with the lock.

* gst/gstclock.c (gst_clock_init): Initialize the rate as a
fraction.
(gst_clock_adjust_unlocked): Adjust using uint64_scale and the
rate fraction.
(gst_clock_set_calibration, gst_clock_get_calibration): Change to
deal with rate as a fraction whose numerator and denominator are
GstClockTime values.
(gst_clock_set_master): Only use the OBJECT_LOCK to set the
master; the other fields are protected by the SLAVE_LOCK.
(do_linear_regression): Note that this must be called with the
SLAVE_LOCK.
(gst_clock_add_observation): Take the SLAVE_LOCK, not the
OBJECT_LOCK. Call set_calibration instead of touching the
variables directly.
(gst_clock_set_property, gst_clock_get_property): Protect
master/slave parameters with the SLAVE_LOCK.

* gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
note that all of the instance variables that add_observation and
the set_master functions use are protected by that lock and not
the OBJECT_LOCK.
(GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.

* gst/gstclock.c (gst_clock_add_observation): No longer requires
the caller to take the object lock.
2005-11-23 12:36:00 +00:00
Wim Taymans
cf925ebb6f gst/base/gstbasesink.*: No need to store the clock, the parent element class already has it.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_class_init),
(gst_base_sink_wait), (gst_base_sink_do_sync),
(gst_base_sink_handle_event):
* gst/base/gstbasesink.h:
No need to store the clock, the parent element class already
has it.

* gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
Updates for clock_set returning a gboolean

* gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
(gst_clock_id_wait_async), (gst_clock_class_init),
(gst_clock_init), (gst_clock_finalize),
(gst_clock_get_internal_time), (gst_clock_get_time),
(gst_clock_slave_callback), (gst_clock_set_master),
(gst_clock_get_master), (do_linear_regression),
(gst_clock_add_observation), (gst_clock_set_property),
(gst_clock_get_property):
* gst/gstclock.h:
Implement master/slave. When setting a clock as a slave, a
periodic timeout is scheduled to sample master and slave times.
Then the slave clock is recalibrated to match offset and rate
of the master clock.
Update logging a bit.
Add flag so that a clock can state that is cannot be slaved to
another clock.

* gst/gstelement.c: (gst_element_set_clock):
* gst/gstelement.h:
The set_clock returns a gboolean for when an element cannot
deal with the selected clock in the pipeline.

* gst/gstpipeline.c: (gst_pipeline_change_state),
(gst_pipeline_set_clock):
* gst/gstpipeline.h:
Handle the case where the selected clock cannot be set on
the pipeline.

* gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
(gst_net_client_clock_init), (gst_net_client_clock_finalize),
(gst_net_client_clock_set_property),
(gst_net_client_clock_get_property),
(gst_net_client_clock_observe_times):
* gst/net/gstnetclientclock.h:
Use regression code in GstClock parent, remove duplicated
functionality.
2005-11-22 18:28:44 +00:00
Wim Taymans
e6bbe0ddb2 gst/: Convert Clock flags to object flags.
Original commit message from CVS:
* gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
(gst_clock_get_master):
* gst/gstclock.h:
* gst/gstsystemclock.c: (gst_system_clock_init):
Convert Clock flags to object flags.
Added methods to manage master/slave clocks.
2005-11-21 17:12:50 +00:00
Andy Wingo
44c548b205 *.*: Ran scripts/update-macros. Oh yes. gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* *.h:
* *.c: Ran scripts/update-macros. Oh yes.

* gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
(GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
GST_GET_LOCK, etc.

* scripts/update-macros: New script. Run it on your files to
change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
well.
2005-11-21 16:34:26 +00:00
Andy Wingo
f082cb34a4 gst/gstclock.*: Change resolution to be a GstClockTime.
Original commit message from CVS:
2005-11-19  Andy Wingo  <wingo@pobox.com>

* gst/gstclock.h:
* gst/gstclock.c (GstClock, GstClockClass): Change resolution to
be a GstClockTime.
(gst_clock_set_resolution, gst_clock_get_resolution): Resolution
is a GstClockTime. Fixes #321710.
2005-11-19 18:17:29 +00:00
Andy Wingo
c0b753f74f gst/gstclock.h (GstClock): Remove offset property. Add internal_calibration and external_calibration. Fix padding. Pa...
Original commit message from CVS:
2005-11-19  Andy Wingo  <wingo@pobox.com>

* gst/gstclock.h (GstClock): Remove offset property. Add
internal_calibration and external_calibration. Fix padding. Pad
also by GstClockTime so we don't run into problems.

* gst/gstclock.c (gst_clock_set_rate_offset): Remove.
(gst_clock_get_rate_offset): Remove.
(gst_clock_set_time_adjust): Remove. Fixes #321712.
2005-11-19 18:06:56 +00:00
Wim Taymans
3eb5b03dfd gst/gstclock.c: Doc and API fixes.
Original commit message from CVS:
* gst/gstclock.c: (gst_clock_set_calibration),
(gst_clock_get_calibration):
Doc and API fixes.
Callibration can be set with internal time equal to current
internal time too.
2005-11-18 19:21:50 +00:00
Andy Wingo
fa09daa3d2 gst/net/gstnetclientclock.c (do_linear_regression): Use all integer arithmetic. Return the minimum of the domain, whi...
Original commit message from CVS:
2005-11-18  Andy Wingo  <wingo@pobox.com>

* gst/net/gstnetclientclock.c (do_linear_regression): Use all
integer arithmetic. Return the minimum of the domain, which can be
set as "internal" for gst_clock_set_calibration.
(gst_net_client_clock_observe_times): Call _set_calibration.
(gst_net_client_clock_new): Call _set_calibration instead of
rate_offset.

* check/net/gstnetclientclock.c (test_functioning): Use the right
adjustment api.

* gst/gstclock.h:
* gst/gstclock.c (gst_clock_get_calibration)
(gst_clock_set_calibration): New functions, obsolete the ones I
added yesterday. Doh. Precision issues mean we have to extrapolate
from a point in the more recent past than 1970.
(gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
obsolete.
(gst_clock_adjust_unlocked): Use the right calibration data.
2005-11-18 15:30:18 +00:00
Michael Smith
3f80a0d393 gst/gstclock.*: Anonymous structs are a gcc (and some other compilers) extension, so don't use them. Since this is on...
Original commit message from CVS:
* gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
(gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
* gst/gstclock.h:
Anonymous structs are a gcc (and some other compilers) extension, so
don't use them. Since this is only for ABI-compatibility, and our
API/ABI freeze is over in a few days, this whole thing will only
last a few days, so don't bother trying to think up a meaningful
name for the struct.
2005-11-17 12:36:30 +00:00
Andy Wingo
c557e030a9 gst/gstclock.h (GstClock): Add rate and offset properties, preserving ABI stability. Add rate/offset accessors. Will ...
Original commit message from CVS:
2005-11-17  Andy Wingo  <wingo@pobox.com>

* gst/gstclock.h (GstClock): Add rate and offset properties,
preserving ABI stability. Add rate/offset accessors. Will file bug
for the freeze break.

* gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
and offset, trying to keep precision and avoiding
underflow/overflow.
(gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
functions. Make gst_clock_set_time_adjust obsolete.
(gst_clock_set_time_adjust): Note that this function is obsolete.
Will file bug soon.

* gst/base/gstbasetransform.h: Make the ABI-stability hack
greppable by using GST_PADDING-1+1.
2005-11-17 11:51:49 +00:00
Wim Taymans
a628e6f4be docs/gst/gstreamer-sections.txt: Added some new macros.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
Added some new macros.

* gst/gstclock.c:
* gst/gstclock.h:
* gst/gstobject.h:
Docs updates.
2005-11-09 12:36:17 +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
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
2dd1598c56 whitespace fixes
Original commit message from CVS:
whitespace fixes
2005-10-15 15:30:24 +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
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
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
Wim Taymans
84770e8437 Various documentation updates.
Original commit message from CVS:
* docs/design/part-events.txt:
* docs/design/part-gstbus.txt:
* docs/design/part-gstpipeline.txt:
* docs/design/part-messages.txt:
* docs/design/part-overview.txt:
* docs/design/part-segments.txt:
* gst/gstbin.c:
* gst/gstbuffer.c:
* gst/gstclock.c:
* gst/gstelement.c:
* gst/gstevent.c:
* gst/gstfilter.c:
* gst/gstiterator.c:
Various documentation updates.
2005-09-24 14:14:03 +00:00
Thomas Vander Stichele
5526c2dbe4 gst/gstclock.c: Commit from the Political Party For More Atomic CVS Commits, so that people don't waste too much of t...
Original commit message from CVS:
* gst/gstclock.c: (_gst_clock_id_free):
Commit from the Political Party For More Atomic CVS Commits,
so that people don't waste too much of their day fishing
out obvious leaks out of massive commits.
Oh, and fix a pretty damn obvious leak in the memchunk
removal code.
2005-09-20 09:28:56 +00:00
David Schleef
6e96e1bff5 docs/gst/Makefile.am: Ignore a few more internal headers
Original commit message from CVS:
* docs/gst/Makefile.am: Ignore a few more internal headers
* docs/gst/gstreamer-docs.sgml: Remove old sections
* docs/gst/gstreamer-sections.txt: Remove old sections
* docs/gst/tmpl/gstobject.sgml: update
* docs/gst/tmpl/gstplugin.sgml: update
* docs/gst/tmpl/gstpluginfeature.sgml: update
* docs/random/ds/0.9-suggested-changes: update.
* gst/Makefile.am: remove memchunk and trashstack, since they're
not used.
* gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
* gst/gst.h: don't include some headers
* gst/gstchildproxy.c: add gstmarshal.h
* gst/gstclock.c: Don't use memchunks
* gst/gstminiobject.c: Add some docs
* gst/gstobject.c: remove DESTROYED flag, since it's redundant
* gst/gstobject.h: same
* gst/gstplugin.c: include gstmacros.h
* gst/gstplugin.h: don't include gstmacros.h, since it's private
* gst/gstquery.c: don't use memchunks
* gst/gstregistry.c: rename gst_registry_deinit()
* gst/gstregistry.h: same
2005-09-20 06:28:33 +00:00
Stefan Kost
c73b03243a docs/design/part-messages.txt: update info
Original commit message from CVS:
* docs/design/part-messages.txt:
update info
* docs/gst/tmpl/.cvsignore:
* docs/gst/tmpl/gstcaps.sgml:
* docs/gst/tmpl/gstclock.sgml:
* gst/gstbus.c:
* gst/gstcaps.c:
* gst/gstcaps.h:
* gst/gstclock.c:
* gst/gstclock.h:
* gst/gstmessage.c:
added descriptions for bus and message
inline caps and clock docs
2005-08-27 10:57:00 +00:00
Thomas Vander Stichele
dcfa474078 valgrind more tests
Original commit message from CVS:
valgrind more tests
2005-08-20 12:39:05 +00:00
Wim Taymans
d2bf92842c gst/: Fix name lookup in GstBin.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_send_event), (compare_name),
(gst_bin_get_by_name):
* gst/gstbuffer.h:
* gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
(gst_clock_finalize):
* gst/gstdata.c: (gst_data_replace):
* gst/gstdata.h:
* gst/gstelement.c: (gst_element_request_pad),
(gst_element_pads_activate):
* gst/gstobject.c: (gst_object_init), (gst_object_ref),
(gst_object_unref):
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
(gst_pad_set_checkgetrange_function),
(gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
(gst_pad_check_pull_range), (gst_pad_pull_range),
(gst_static_pad_template_get_caps), (gst_pad_start_task),
(gst_pad_pause_task), (gst_pad_stop_task):
* gst/gstutils.c: (gst_element_get_compatible_pad_template),
(gst_element_request_pad), (gst_pad_proxy_getcaps):
Fix name lookup in GstBin.
Added _data_replace() function and _buffer_replace()
Use finalize method to clean up clock.
Fix refcounting on request pads.
Fix pad schedule mode error.
Some more object refcounting debug info,
2005-05-05 09:28:01 +00:00
Wim Taymans
71359c38a0 gst/: Better debugging of clocking info.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_base_init),
(gst_basesink_pad_getcaps), (gst_basesink_init),
(gst_basesink_do_sync):
* gst/gstclock.c: (gst_clock_entry_new):
* gst/gstevent.c: (gst_event_discont_get_value):
* gst/gstpipeline.c: (pipeline_bus_handler),
(gst_pipeline_change_state):
* gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
Better debugging of clocking info.
Allow NULL values when getting discont values.
2005-04-28 16:28:28 +00:00
David Schleef
46e13eb5e2 Convert everything from GstAtomicInt to g_atomic_int_*, and remove gstatomic.
Original commit message from CVS:
Convert everything from GstAtomicInt to g_atomic_int_*, and
remove gstatomic.
* gst/Makefile.am:
* gst/gstatomic.c:
* gst/gstatomic.h:
* gst/gstatomic_impl.h:
* gst/gstbuffer.c:
* gst/gstcaps.c:
* gst/gstcaps.h:
* gst/gstclock.c:
* gst/gstclock.h:
* gst/gstdata.c:
* gst/gstdata.h:
* gst/gstdata_private.h:
* gst/gstevent.c:
* gst/gstinfo.c:
* gst/gstinfo.h:
* gst/gstmessage.c:
* gst/gstobject.c:
* gst/gstobject.h:
* gst/gststructure.c:
* gst/gststructure.h:
* gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
* gst/gstutils.h:
2005-04-24 22:49:45 +00:00
Wim Taymans
c47dc4d853 First THREADED backport attempt, focusing on adding locks and making sure the API is threadsafe. Needs more work. Mor...
Original commit message from CVS:
First THREADED backport attempt, focusing on adding locks and
making sure the API is threadsafe. Needs more work. More docs
follow this week.
2005-03-07 18:27:42 +00:00
David Schleef
a2a974bfae A bunch of portability fixes, derived from Steve Lhomme's MSVC
Original commit message from CVS:
A bunch of portability fixes, derived from Steve Lhomme's MSVC
patch (bug #141317):
* gst/gst-i18n-lib.h: Allow disabling gettext.
* gst/gstatomic_impl.h: disable warning when it's dumb.
* gst/gstclock.c: fix include
* gst/gstcompat.h: fix variadic macro
* gst/gstinfo.c: fix include
* gst/gstmacros.h: add defines for inlines on MSVC
* gst/gstplugin.c: fix includes
* gst/gstregistry.c: fix includes
* gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
* gst/gstsystemclock.c: fix include
* gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
* gst/registries/gstxmlregistry.c:
(gst_xml_registry_parse_element_factory): fix use of non-portable
functions
* libs/gst/control/dparam.h: Remove trailing comma in enum definition
* libs/gst/control/dparammanager.h: same
2004-04-28 23:26:06 +00:00
Benjamin Otte
3147797afb gst/: don't use memchunks for these objects, use malloc instead
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_get_type):
* gst/gstclock.c: (gst_clock_get_type):
* gst/gstindex.c: (gst_index_get_type):
* gst/gstobject.c: (gst_object_get_type),
(gst_signal_object_get_type):
* gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
(gst_pad_template_get_type), (gst_ghost_pad_get_type):
* gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
* gst/gstqueue.c: (gst_queue_get_type):
* gst/gstregistry.c: (gst_registry_get_type):
* gst/gstsystemclock.c: (gst_system_clock_get_type):
* gst/gstthread.c: (gst_thread_get_type):
don't use memchunks for these objects, use malloc instead
2004-04-09 19:05:03 +00:00
Martin Soto
78640b89c0 gst/gstelement.*: New function for setting element time taking into account a hardware buffering delay.
Original commit message from CVS:
* gst/gstelement.h:
* gst/gstelement.c (gst_element_set_time_delay): New function for
setting element time taking into account a hardware buffering
delay.
(gst_element_set_time): Now just an invocation of
gst_element_set_time_delay.
* gst/gstclock.h:
* gst/gstclock.c (gst_clock_get_event_time_delay): New function
allowing to set event times in the future.
(gst_clock_get_event_time): Now just an invocation of
gst_clock_get_event_time_delay.
2004-03-28 13:15:21 +00:00
Thomas Vander Stichele
7baa6c18e7 don't mix tabs and spaces
Original commit message from CVS:
don't mix tabs and spaces
2004-03-15 19:27:17 +00:00
Thomas Vander Stichele
a967370df5 gst-indent run on core
Original commit message from CVS:
gst-indent run on core
2004-03-13 15:27:01 +00:00
David Schleef
5fe57b5dc4 gst/gstclock.c: fixes structure initialisation of clock (bug #134128)
Original commit message from CVS:
reviewed by: David Schleef  <ds@schleef.org>
* gst/gstclock.c: (gst_clock_entry_new): fixes structure
initialisation of clock (bug #134128)
2004-02-11 19:02:00 +00:00
Benjamin Otte
642685bbbc gst/gstclock.*: reset padding, remove unused fields
Original commit message from CVS:
2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
(gst_clock_get_speed):
* gst/gstclock.h:
reset padding, remove unused fields
2004-02-04 22:35:12 +00:00
Benjamin Otte
b26be1ef68 gst/gstclock.c: make it compile with gcc 2.95 again.
Original commit message from CVS:
2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstclock.c: (gst_clock_get_time):
make it compile with gcc 2.95 again.
Patch by Scott Wheeler
2004-01-16 22:56:34 +00:00
Benjamin Otte
5e8a2fb8a4 gst/autoplug/gstspideridentity.c: break infinite loop by just returning instead of looping
Original commit message from CVS:
2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/autoplug/gstspideridentity.c:
(gst_spider_identity_sink_loop_type_finding):
break infinite loop by just returning instead of looping
* gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
set event time difference correctly. Set it to 1 second instead
of 100ms to be more tolerant
* gst/gstelement.c: (gst_element_set_time):
add debugging output
2004-01-15 01:35:41 +00:00
Benjamin Otte
1e82f617e4 gst/gstclock.*: deprecate old interface and disable functions that aren't in use anymore.
Original commit message from CVS:
2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
(gst_clock_set_speed), (gst_clock_set_active),
(gst_clock_is_active), (gst_clock_reset),
(gst_clock_handle_discont):
* gst/gstclock.h:
deprecate old interface and disable functions that aren't in use
anymore.
* gst/gstelement.h:
* gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
(gst_element_set_time), (gst_element_adjust_time):
add concept of "element time" and functions to get/set this time.
* gst/gstelement.c: (gst_element_change_state):
update element time correctly.
* gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
This is a debug message, not a g_critical.
* gst/gstpad.c: (gst_pad_event_default):
handle discontinuous events right with element time.
* gst/gstscheduler.c: (gst_scheduler_state_transition):
update to clocking fixes.
set clocks on elements in READY=>PAUSED. The old behaviour caused
a wrong element time on the first element that started playing.
* gst/schedulers/gstbasicscheduler.c:
(gst_basic_scheduler_class_init):
* gst/schedulers/gstoptimalscheduler.c:
(gst_opt_scheduler_class_init):
remove code that just implements the default behaviour.
* gst/elements/gstfakesink.c: (gst_fakesink_chain):
update to use new clocking functions
* testsuite/clock/clock1.c: (gst_clock_debug), (main):
* testsuite/clock/clock2.c: (gst_clock_debug), (main):
update to test new element time.
* gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
use _get_allowed_caps instead of _get_caps. This catches filtered
caps correctly.
* testsuite/debug/commandline.c:
update for new GST_DEBUG syntax.
* testsuite/threads/Makefile.am:
disable a test that only works sometimes.
2004-01-14 00:46:48 +00:00
Ronald S. Bultje
c231ca28a8 Remove need for calling set_active(FALSE)+set_active(TRUE) before calling handle_discont(). I didn't really understan...
Original commit message from CVS:
Remove need for calling set_active(FALSE)+set_active(TRUE) before
calling handle_discont(). I didn't really understand this part but
I'm assuming that "hey, it works!" is good enough this time...
2003-12-17 22:35:25 +00:00
Benjamin Otte
803ce6bf48 GST_DEBUG reorganization containing loads of stuff:
Original commit message from CVS:
GST_DEBUG reorganization
This is a big diff (ca 450k), containing loads of stuff:
- gstinfo.[ch] complete rewrite
- changing of all GST_DEBUG messages to reflect that change
- reorganization of subsystem disabling
- addition of gstconfig.h.in so we can track the disablings
- <gst/gst.h> does not include <unistd.h> and <config.h> anymore
- documentation updated for gstinfo stuff (build the docs yourself to know what changed)
- bugfixes for making of the docs (files from CVS are not deleted anymore
- testsuite for debugging changes in testsuite/debug

expect breakage
2003-06-29 14:05:49 +00:00
Thomas Vander Stichele
2565248558 gtk-doc fixes clock debug
Original commit message from CVS:
gtk-doc fixes
clock debug
2003-05-15 22:46:37 +00:00
Benjamin Otte
f4f0a51890 - added macros GST_CLOCK_TIME_IS_VALID and GST_BUFFE_TIMESTAMP_IS_VALID
Original commit message from CVS:
- added macros GST_CLOCK_TIME_IS_VALID and GST_BUFFE_TIMESTAMP_IS_VALID
- use macros in some places
- buffer's timestamp field is a GstClockTime, not a guint64 - this is currently the same, but be sure to only use GstClockTime when working with timestamps in the future
2003-04-13 03:07:07 +00:00
Wim Taymans
b030b5cef2 - Add more --disable options
Original commit message from CVS:
- Add more --disable options
- fix makefiles to only compile non-disabled features
- some compile fixes.
- removed extratypes, added gsturitype
- make get/set clock on a bin overridable
- some portability fixes for GUINT64
- separate pools from gstregistry.[ch] into gstregistrypool.[ch]
- make gstobject size fixed, even if we disabled load/save
- don't use 'new' as a variable as it is not a valib C++ variable
2003-02-10 20:32:32 +00:00
Wim Taymans
3521cec843 - Added dispose handler
Original commit message from CVS:
- Added dispose handler
- remove unused mutex/cond
- use trace API
2003-02-02 19:21:06 +00:00
Wim Taymans
90cff65964 Remove bogus inline
Original commit message from CVS:
Remove bogus inline
2003-01-15 18:29:40 +00:00
Wim Taymans
290a082d53 - Keep track of pending clock waits so we can unlock them
Original commit message from CVS:
- Keep track of pending clock waits so we can unlock them
- don't wait when diff bigger than configurable max to avoid clock lockups
2002-12-27 04:11:59 +00:00
Wim Taymans
68b53ac4ab - Cleanups
Original commit message from CVS:
- Cleanups
- Added padding to structs
- fixed typechecking/casts
- reduced casts
- implemented remove_element in gstbin
- implemented set index on bin
2002-12-19 21:31:03 +00:00