Commit graph

2042 commits

Author SHA1 Message Date
Jan Schmidt
aff648ab66 gst/base/gstbasetransform.c: Treat a pad alloc with new caps the same as if we were not negotiated, in order to allow...
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
Treat a pad alloc with new caps the same as if we were not
negotiated, in order to allow a changing upstream output
to produce a new format of data.
2005-11-29 15:12:22 +00:00
Edward Hervey
33a15d5e67 gst/base/gstbasetransform.c: The event virtual method is now properly implemented, with a default handler
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_class_init),
(gst_base_transform_event), (gst_base_transform_eventfunc):
The event virtual method is now properly implemented, with a default
handler
Sub classes should call the parent_class event method. They should
return FALSE if they had a problem handling the given event, or don't
want GstBaseTransform to send that even downstream
* gst/elements/gstidentity.c: (gst_identity_class_init),
(gst_identity_init), (gst_identity_event),
(gst_identity_transform_ip), (gst_identity_set_property),
(gst_identity_get_property):
* gst/elements/gstidentity.h:
Added the single-segment boolean property.
If set to TRUE, it will output a single segment of data, starting from
0, will eat up all incoming newsegment, and modify the timestamp of the
buffers accordingly
2005-11-29 14:47:07 +00:00
Tim-Philipp Müller
696cf53af5 gst/gstghostpad.c: Don't ref NULL target pad (#322751). Improve docs.
Original commit message from CVS:
* gst/gstghostpad.c: (gst_proxy_pad_get_target):
Don't ref NULL target pad (#322751). Improve docs.
2005-11-29 13:10:38 +00:00
Michael Smith
9bc0e85dce gst/gstregistryxml.c: Don't crash if we failed to load a feature from a plugin.
Original commit message from CVS:
* gst/gstregistryxml.c: (load_plugin):
Don't crash if we failed to load a feature from a plugin.
2005-11-29 11:07:54 +00:00
Thomas Vander Stichele
5d87c67d6b check/pipelines/simple_launch_lines.c: use more check API and less GLib API
Original commit message from CVS:

* check/pipelines/simple_launch_lines.c: (setup_pipeline),
(GST_START_TEST):
use more check API and less GLib API
2005-11-28 21:51:37 +00:00
Thomas Vander Stichele
eaf17081ca Makefile.am: don't run checks if we don't have check
Original commit message from CVS:
* Makefile.am:
don't run checks if we don't have check
* common/check.mak:
remove the registry when running make torture
* docs/gst/gstreamer-sections.txt:
remove second multiply
* gst/gstqueue.c: (gst_queue_loop):
fix a compile warning when disabling debug
2005-11-28 19:58:56 +00:00
Jan Schmidt
9f5ea35423 gst/gstinfo.h: Hey! Let's print the pad name if the pointer != NULL instead of when it == NULL :-)
Original commit message from CVS:
* gst/gstinfo.h:
Hey! Let's print the pad name if the pointer != NULL instead
of when it == NULL :-)
2005-11-28 19:43:27 +00:00
Wim Taymans
2dc0ef57fd check/gst/gstutils.c: Updated check, add some scaling accuracy checking code.
Original commit message from CVS:
* check/gst/gstutils.c: (GST_START_TEST):
Updated check, add some scaling accuracy checking code.

* gst/gstutils.c: (gst_util_div128_64),
(gst_util_uint64_scale_int64), (gst_util_uint64_scale),
(gst_util_uint64_scale_int):
Fix 6 times faster division code. Optimize for common
1/1 and less common X/1 cases.
2005-11-28 18:44:11 +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
Thomas Vander Stichele
faa56ab3a8 gst/gstplugin.c: everything causing a plugin not to load should be at least a WARNING
Original commit message from CVS:
* gst/gstplugin.c: (gst_plugin_register_func):
everything causing a plugin not to load should be at least a WARNING
2005-11-28 14:18:22 +00:00
Stefan Kost
5f11755575 docs/random/ensonic/dparams.txt: some TODOs for the next dev cycle
Original commit message from CVS:
* docs/random/ensonic/dparams.txt:
some TODOs for the next dev cycle
* libs/gst/controller/gstcontroller.c:
(gst_controlled_property_set_interpolation_mode),
(gst_controlled_property_new):
* libs/gst/controller/gstcontroller.h:
use base type to assign acccessor functions
2005-11-28 13:25:14 +00:00
Jan Schmidt
cdfe12031f check/Makefile.am: Oops, that should have been top_srcdir
Original commit message from CVS:
* check/Makefile.am:
Oops, that should have been top_srcdir
2005-11-28 11:31:31 +00:00
Jan Schmidt
6710452e44 check/: Use a cmdline define to specify the location of a file to use for testing, to avoid breaking distcheck.
Original commit message from CVS:
* check/Makefile.am:
* check/elements/fdsrc.c: (GST_START_TEST):
Use a cmdline define to specify the location of a file to use for
testing, to avoid breaking distcheck.
2005-11-28 10:07:38 +00:00
Andy Wingo
3cf09efb92 gst/gstpad.c (fixate_value): Use array functions for arrays.
Original commit message from CVS:
2005-11-28  Andy Wingo  <wingo@pobox.com>

* gst/gstpad.c (fixate_value): Use array functions for arrays.
2005-11-28 10:04:45 +00:00
Edward Hervey
5fa6a29e9f tools/gst-launch.c: Clarify the output strings, makes it easier to translate.
Original commit message from CVS:
* tools/gst-launch.c: (main):
Clarify the output strings, makes it easier to translate.
Fixes #322626
2005-11-28 09:55:19 +00:00
Thomas Vander Stichele
9e3259dd14 gst/Makefile.am: don't try and build net if we don't even have <sys/socket.h>
Original commit message from CVS:
* gst/Makefile.am:
don't try and build net if we don't even have <sys/socket.h>
2005-11-28 08:20:48 +00:00
Jan Schmidt
84279849a8 check/: Add tests for fdsrc seekability
Original commit message from CVS:
* check/Makefile.am:
* check/elements/fdsrc.c: (event_func), (setup_fdsrc),
(cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
Add tests for fdsrc seekability

* gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
(gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
(gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
(gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
* gst/elements/gstfdsrc.h:
fdsrc should not be a 'live' source.
Implement seeking on seekable fd's.

* gst/gstquery.c: (gst_query_new_seeking),
(gst_query_parse_seeking):
* gst/gstquery.h:
Implement SEEKING query functions:
*_new_seeking and *_parse_seeking
2005-11-27 22:50:09 +00:00
Stefan Kost
7b347681d5 gst/gstelement.c: don't loop forever
Original commit message from CVS:
* gst/gstelement.c: (gst_element_dispose):
don't loop forever
* gst/gstiterator.c:
* gst/gststructure.c:
doc fixes
* libs/gst/controller/gstcontroller.c:
(gst_controlled_property_set_interpolation_mode):
* libs/gst/controller/gstcontroller.h:
* libs/gst/controller/gstinterpolation.c:
(interpolate_none_get_enum_value_array):
support controlling enums
2005-11-27 22:43:08 +00:00
Tim-Philipp Müller
676421cf07 gst/gstvalue.c: Improve documentation for gst_value_union().
Original commit message from CVS:
* gst/gstvalue.c:
Improve documentation for gst_value_union().
* gst/gstvalue.h:
Change return value for union, intersect and subtract functions
from gint to gboolean.
2005-11-27 19:52:49 +00:00
Tim-Philipp Müller
abaf6b22f1 gst/gstvalue.*: Use gint, gdouble and gchar in our API instead of int, double and char (and make usage in gstvalue.c ...
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_serialize_any_list),
(gst_value_transform_any_list_string),
(gst_value_deserialize_list), (gst_value_deserialize_array),
(gst_value_set_int_range), (gst_value_deserialize_int_range),
(gst_value_set_double_range), (gst_value_deserialize_double_range),
(gst_value_set_fraction_range_full),
(gst_value_deserialize_fraction_range),
(gst_value_deserialize_caps), (gst_value_deserialize_buffer),
(gst_value_deserialize_boolean),
(gst_value_deserialize_int_helper), (gst_value_deserialize_double),
(gst_value_serialize_float), (gst_value_deserialize_float),
(gst_string_wrap), (gst_value_deserialize_string),
(gst_value_deserialize_enum), (gst_value_deserialize_flags),
(gst_value_union_int_range_int_range),
(gst_value_intersect_int_range_int_range),
(gst_value_intersect_double_range_double_range),
(gst_value_create_new_range), (gst_value_subtract_int_range_int),
(gst_value_subtract_int_range_int_range),
(gst_value_subtract_double_double_range),
(gst_value_subtract_double_range_double_range),
(gst_value_deserialize_fraction):
* gst/gstvalue.h:
Use gint, gdouble and gchar in our API instead of int, double and
char (and make usage in gstvalue.c more consistent).
2005-11-27 18:11:02 +00:00
Thomas Vander Stichele
f21e4cc7c3 fix up Makefile.am and remove GST_ENABLE_NEW
Original commit message from CVS:
fix up Makefile.am and remove GST_ENABLE_NEW
2005-11-27 16:46:48 +00:00
Thomas Vander Stichele
f496f75765 update LDFLAGS use some more
Original commit message from CVS:

* configure.ac:
* gst/Makefile.am:
* gst/base/Makefile.am:
* gst/check/Makefile.am:
* gst/elements/Makefile.am:
* gst/net/Makefile.am:
update LDFLAGS use some more
2005-11-27 15:15:35 +00:00
Thomas Vander Stichele
9ccdb9e4d5 Fixes #312589
Original commit message from CVS:
Fixes #312589
2005-11-27 14:19:38 +00:00
Edward Hervey
8a5411d0be gst/gstpluginfeature.c: This shouldn't issue a g_warning since it returns NULL if it couldn't find the plugin, and al...
Original commit message from CVS:
* gst/gstpluginfeature.c: (gst_plugin_feature_load):
This shouldn't issue a g_warning since it returns NULL if it
couldn't find the plugin, and all functions using this behave
properly on a NULL return. Switching to a GST_WARNING.
2005-11-26 11:28:32 +00:00
Jan Schmidt
4b3455b7a8 gst/gstbin.c: Don't leak clock messages.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_handle_message_func):
Don't leak clock messages.
2005-11-25 17:06:36 +00:00
Wim Taymans
7386cce105 gst/gstutils.c: Optimisations, remove unneeded vars.
Original commit message from CVS:
* gst/gstutils.c: (gst_util_uint64_scale_int64),
(gst_util_uint64_scale_int):
Optimisations, remove unneeded vars.
2005-11-25 11:38:38 +00:00
Wim Taymans
fb7302fc41 check/gst/gstutils.c: Added more checks for the high precision uint64 cases.
Original commit message from CVS:
* check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
Added more checks for the high precision uint64 cases.

* gst/gstutils.c: (gst_util_uint64_scale_int64),
(gst_util_uint64_scale), (gst_util_uint64_scale_int):
Implement high precission (guint64 * guint64) / guint64.
2005-11-25 00:02:05 +00:00
Wim Taymans
d0c276b717 gst/base/gstbasesrc.c: Fix wrong percentage query.
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_query):
Fix wrong percentage query.

* gst/gstutils.c: (gst_util_uint64_scale),
(gst_util_uint64_scale_int):
Add some more common cases that can be handled
efficiently to _scale.
2005-11-24 19:06:58 +00:00
Thomas Vander Stichele
888bf79853 check/gst/gstminiobject.c: don't use check calls from threads; check probably isn't threadsafe and using a lock to ma...
Original commit message from CVS:

* check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
(gst_mini_object_suite):
don't use check calls from threads; check probably isn't
threadsafe and using a lock to make it threadsafe would
defeat the purpose of this check
* gst/check/gstcheck.c:
* gst/check/gstcheck.h:
use GST_DEBUG some more
2005-11-24 18:40:58 +00:00
Wim Taymans
6ceca6153b gst/gstutils.c: Chain trivial case to _scale_int.
Original commit message from CVS:
* gst/gstutils.c: (gst_util_uint64_scale),
(gst_util_uint64_scale_int):
Chain trivial case to _scale_int.
2005-11-24 18:03:15 +00:00
Wim Taymans
fbf5f16d69 check/gst/gstutils.c: Added test for scaling.
Original commit message from CVS:
* check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
Added test for scaling.

* gst/gstclock.h:
Small doc fix.

* gst/gstutils.c: (gst_util_uint64_scale_int):
Implemented high precision scaling code.
2005-11-24 17:44:57 +00:00
Stefan Kost
9cd1643368 gst/gstinfo.h: do not crash on pad==NULL
Original commit message from CVS:
* gst/gstinfo.h:
do not crash on pad==NULL
2005-11-24 16:56:28 +00:00
Stefan Kost
72396245b5 Fix distcheck issues for the libraries docs build
Original commit message from CVS:

Patch by: Stefan Kost

* common/gtk-doc.mak:
* docs/gst/Makefile.am:
* docs/libs/Makefile.am:
Fix distcheck issues for the libraries docs build
Closes #319599
2005-11-24 16:32:26 +00:00
Michael Smith
85e7a3989c docs/manual/basics-helloworld.xml: Fix bug #315027: memory leak in example code in docs.
Original commit message from CVS:
* docs/manual/basics-helloworld.xml:
Fix bug #315027: memory leak in example code in docs.
2005-11-24 14:39:59 +00:00
Michael Smith
836eb1dd02 gst/base/gstbasesink.c: Unlock the PREROLL_LOCK in a failure case.
Original commit message from CVS:
2005-11-24  Michael Smith <msmith@fluendo.com>

* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
Unlock the PREROLL_LOCK in a failure case.
2005-11-24 12:44:25 +00:00
Wim Taymans
a9f7f7b7b6 Doc fixes.
Original commit message from CVS:
Doc fixes.
2005-11-24 09:44:07 +00:00
Thomas Vander Stichele
047dc85f20 back to HEAD
Original commit message from CVS:
back to HEAD
2005-11-23 20:04:25 +00:00
Thomas Vander Stichele
505dced8dc releasing 0.9.6
Original commit message from CVS:
releasing 0.9.6
2005-11-23 19:55:09 +00:00
Wim Taymans
ca6f8f5387 Doc updates.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/glib-compat.c:
* gst/gsttagsetter.c:
* gst/gstvalue.c:
* gst/net/gstnetclientclock.c:
* gst/net/gstnettimepacket.h:
Doc updates.
2005-11-23 16:10:38 +00:00
Thomas Vander Stichele
3dfcce5a99 remove mentions of sinesrc
Original commit message from CVS:
remove mentions of sinesrc
2005-11-23 15:49:06 +00:00
Michael Smith
f1819a7a28 docs/gst/gstreamer-sections.txt: Update for new API and API changes.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
Update for new API and API changes.
* gst/gstobject.h:
Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
* gst/gstvalue.c:
Documentation typo fix.
* gst/net/gstnettimepacket.c:
Documentation fixes for arguments.
2005-11-23 14:52:31 +00:00
Jan Schmidt
cfc78f21ec API Changes.
Original commit message from CVS:
* gst/gststructure.c: (gst_structure_get_fraction),
(gst_structure_parse_value),
(gst_structure_fixate_field_nearest_fraction):
* gst/gststructure.h:
* gst/gstutils.c: (gst_util_uint64_scale_int):
* gst/gstutils.h:
* scripts/update-funcnames:
API Changes.
Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
Make gst_structure_fixate_field_nearest_fraction take a numerator
and denominator argument instead of a GValue
add gst_structure_get_fraction helper function.
2005-11-23 13:22:21 +00:00
Wim Taymans
9e0575c379 docs/design/part-TODO.txt: Update TODO.
Original commit message from CVS:
* docs/design/part-TODO.txt:
Update TODO.

* gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
* gst/net/gstnetclientclock.h:
Use parent fields for timeout and window_size.
2005-11-23 13:14:46 +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
79991c29b1 gst/gsterror.*: Add error for clock stuff.
Original commit message from CVS:
* gst/gsterror.c: (_gst_core_errors_init):
* gst/gsterror.h:
Add error for clock stuff.

* gst/gstpipeline.c: (gst_pipeline_change_state),
(gst_pipeline_set_clock):
Post clock error when clock cannot be used in a pipeline.
2005-11-23 11:22:39 +00:00
Stefan Kost
df00e2ede5 docs/gst/gstreamer-sections.txt: make two symbols from gstinfo private for the docs
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
make two symbols from gstinfo private for the docs
* gst/base/gstcollectpads.h:
* gst/gstutils.c:
fix doc typos, update docs
2005-11-23 11:05:37 +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
Michael Smith
59ac39499a Add underscores
Original commit message from CVS:
Add underscores
2005-11-22 16:31:08 +00:00
Thomas Vander Stichele
54f5eb6c8a gst/: correctly fix GEnumValues so that nick is the short lowercase dashed tag
Original commit message from CVS:

* gst/elements/Makefile.am:
* gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
* gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
(gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
(gst_fake_src_init), (gst_fake_src_prepare_buffer),
(gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
* gst/elements/gstfakesrc.h:
* gst/gstqueue.c: (queue_leaky_get_type):
correctly fix GEnumValues so that nick is the short lowercase
dashed tag
* tools/gst-inspect.c: (print_element_properties_info):
also show the nick, since it's useful to use from parse_launch
syntax
Fixes #322139
2005-11-22 15:52:03 +00:00
Michael Smith
4a36e535e9 Add util method for scaling a clocktime by a fraction. Useful implementation is left as an exercise for the reader.
Original commit message from CVS:
* gst/gstutils.c: (gst_util_clocktime_scale):
* gst/gstutils.h:
* docs/gst/gstreamer-sections.txt:
Add util method for scaling a clocktime by a fraction. Useful
implementation is left as an exercise for the reader.
2005-11-22 15:15:53 +00:00