Commit graph

3368 commits

Author SHA1 Message Date
Jan Schmidt
9f96921e90 gst/gstpad.c: Catch misbehaving pad_alloc functions that don't set up caps and do it for them.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_alloc_buffer):
Catch misbehaving pad_alloc functions that don't
set up caps and do it for them.
2005-09-06 22:57:05 +00:00
Stefan Kost
6f89a64207 check/pipelines/simple_launch_lines.c: test for pipe!=NULL
Original commit message from CVS:
* check/pipelines/simple_launch_lines.c: (run_pipeline):
test for pipe!=NULL
* docs/gst/tmpl/.cvsignore:
* docs/gst/tmpl/gstmemchunk.sgml:
* docs/gst/tmpl/gstparse.sgml:
* docs/gst/tmpl/gsttaglist.sgml:
* docs/gst/tmpl/gsttagsetter.sgml:
* docs/gst/tmpl/gsttypefind.sgml:
* docs/gst/tmpl/gsttypefindfactory.sgml:
* gst/gstmemchunk.c:
* gst/gstparse.c:
* gst/gsttag.c:
* gst/gsttaginterface.c:
* gst/gsttypefind.c:
* gst/gsttypefind.h:
inlined more docs
2005-09-06 22:03:01 +00:00
Andy Wingo
0b03315981 gst/registries/gstxmlregistry.*: and update to newer API.
Original commit message from CVS:
* gst/registries/gstxmlregistry.h:
* gst/registries/gstxmlregistry.c: and update to newer API.
Incidentally they should be a bit faster now that they don't have
to parse the caps.
2005-09-05 16:54:54 +00:00
Andy Wingo
a43d430d06 gst/registries/gstxmlregistry.*: Um... resurrect...
Original commit message from CVS:
2005-09-05  Andy Wingo  <wingo@pobox.com>

* gst/registries/gstxmlregistry.h:
* gst/registries/gstxmlregistry.c: Um... resurrect...
2005-09-05 16:52:56 +00:00
Andy Wingo
2ed742742e gst/registries/gstxmlregistry.*: Remove from CVS, they were replaced by the libxml registry a while back
Original commit message from CVS:
2005-09-05  Andy Wingo  <wingo@pobox.com>

* gst/registries/gstxmlregistry.h:
* gst/registries/gstxmlregistry.c: Remove from CVS, they were
replaced by the libxml registry a while back
2005-09-05 16:36:47 +00:00
Thomas Vander Stichele
0fcba6ca57 fix for a critical when a module returns NULL on opening
Original commit message from CVS:
fix for a critical when a module returns NULL on opening
2005-09-03 17:36:20 +00:00
Thomas Vander Stichele
25169fe885 add a source plugin description field, to represent the source module this plugin is a part of. By default GST_PLUGI...
Original commit message from CVS:
add a source plugin description field, to represent the source
module this plugin is a part of.  By default GST_PLUGIN_DEFINE
will set it to PACKAGE, which is automake's idea of the name of
the source project.
2005-09-03 17:00:52 +00:00
Thomas Vander Stichele
2a7078e1e7 whitespace cleanups
Original commit message from CVS:
whitespace cleanups
2005-09-02 23:36:24 +00:00
Tim-Philipp Müller
46616180d1 gst/base/gstbasesink.c: Add comment.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
Add comment.
* gst/elements/gstfakesink.c: (gst_fake_sink_init),
(gst_fake_sink_change_state):
Make state change function thread-safe.
* gst/gstpad.c: (gst_pad_alloc_buffer):
Set offset on generic buffer allocated by fallback.
2005-09-02 23:17:26 +00:00
Thomas Vander Stichele
64a74152c2 whitespace fixes
Original commit message from CVS:
whitespace fixes
2005-09-02 23:03:36 +00:00
Stefan Kost
49127d2e3e run the wingo-magic script against the docs
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/gstelement.sgml:
* gst/gstpad.c:
* libs/gst/controller/gst-controller.c:
(gst_controlled_property_set_interpolation_mode),
(gst_controlled_property_new),
(gst_controller_find_controlled_property):
run the wingo-magic script against the docs
2005-09-02 21:37:55 +00:00
Stefan Kost
407c5a4116 merged elementdetails docs into elementfactory docs inlined both
Original commit message from CVS:
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/.cvsignore:
* docs/gst/tmpl/gstelementdetails.sgml:
* docs/gst/tmpl/gstelementfactory.sgml:
* gst/gst.c:
* gst/gstbus.c:
* gst/gstelementfactory.c:
* gst/gstelementfactory.h:
merged elementdetails docs into elementfactory docs
inlined both
2005-09-02 17:23:06 +00:00
Andy Wingo
1b38cd4afa gst/gstelement.h: Add magical pixie dust to make glib-mkenums consider this enum an enum and not a flags.
Original commit message from CVS:
2005-09-02  Andy Wingo  <wingo@pobox.com>

* gst/gstelement.h: Add magical pixie dust to make glib-mkenums
consider this enum an enum and not a flags.
2005-09-02 16:44:57 +00:00
Stefan Kost
c253951dcd more docs inlined
Original commit message from CVS:
* docs/gst/gstreamer-docs.sgml:
* docs/gst/tmpl/.cvsignore:
* docs/gst/tmpl/gstghostpad.sgml:
* docs/gst/tmpl/gstiterator.sgml:
* docs/gst/tmpl/gstmacros.sgml:
* docs/gst/tmpl/gstrealpad.sgml:
* docs/gst/tmpl/gstregistry.sgml:
* docs/gst/tmpl/gstregistrypool.sgml:
* docs/gst/tmpl/gststructure.sgml:
* docs/gst/tmpl/gstsystemclock.sgml:
* docs/gst/tmpl/gsttrace.sgml:
* gst/gstghostpad.c:
* gst/gstmacros.h:
* gst/gstmemchunk.c:
* gst/gstmemchunk.h:
* gst/gstqueue.c:
* gst/gstregistry.c:
* gst/gstregistrypool.c:
* gst/gststructure.c:
* gst/gstsystemclock.c:
more docs inlined
2005-09-02 16:17:23 +00:00
Andy Wingo
e040bb2dbe gst/gstelement.h (GstState): Renamed from GstElementState, changed to be a normal enum instead of flags.
Original commit message from CVS:
2005-09-02  Andy Wingo  <wingo@pobox.com>

* gst/gstelement.h (GstState): Renamed from GstElementState,
changed to be a normal enum instead of flags.
(GstStateChangeReturn): Renamed from GstElementStateReturn, names
munged to be GST_STATE_CHANGE_*.
(GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
work with the new state representation.
(GstStateChange): New enumeration of possible state transitions.
Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
(GstElementClass::change_state): Pass the GstStateChange along as
an argument. Helps language bindings, so they don't have to use
tricky lock-needing macros like GST_STATE_CHANGE ().

* scripts/update-states (file): New script. Run it on a file to
update it for state naming and API changes. Updates files in
place.

* All files updated for the new API.
2005-09-02 15:42:00 +00:00
Thomas Vander Stichele
57efe08cd0 gst/: fix a bunch of unchecked return values
Original commit message from CVS:

* gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
* gst/gstutils.c: (gst_util_set_value_from_string),
(gst_util_set_object_arg):
fix a bunch of unchecked return values
* tools/gst-complete.c: (main):
* gstreamer.spec.in:
clean up a little
2005-09-02 12:08:45 +00:00
Wim Taymans
8099c34220 gst/base/gstbasesink.*: Handle newsegments more correctly.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_event), (gst_base_sink_do_sync),
(gst_base_sink_handle_event):
* gst/base/gstbasesink.h:
Handle newsegments more correctly.

* gst/gstbus.c:
Fix docs.

* gst/gstevent.c: (gst_event_new_newsegment):
A newsegment cannot have a start_time of -1
2005-09-01 18:12:18 +00:00
Thomas Vander Stichele
e5d298f4f4 docs/faq/gst-uninstalled: add -good
Original commit message from CVS:

* docs/faq/gst-uninstalled:
add -good
* gst/gstevent.c:
* gst/gstevent.h:
remove wrong docs
* gst/gstutils.c: (gst_element_link_filtered):
* gst/gstutils.h:
add gst_element_link_filtered
2005-08-31 15:27:55 +00:00
Stefan Kost
1561a0767a inlined more docs, fixed double id-ref
Original commit message from CVS:
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/.cvsignore:
* docs/gst/tmpl/gsterror.sgml:
* docs/gst/tmpl/gstfilter.sgml:
* docs/gst/tmpl/gsturihandler.sgml:
* docs/gst/tmpl/gsturitype.sgml:
* docs/gst/tmpl/gstutils.sgml:
* docs/gst/tmpl/gstxml.sgml:
* gst/gsterror.c:
* gst/gsterror.h:
* gst/gstfilter.c:
* gst/gsturi.c:
* gst/gsturitype.c:
* gst/gstutils.c:
* gst/gstxml.c:
inlined more docs, fixed double id-ref
2005-08-31 14:08:45 +00:00
Wim Taymans
6116cdc149 gst/base/gstbasetransform.c: Passthrough elements don't need the caps as they don't care.
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
(gst_base_transform_handle_buffer):
Passthrough elements don't need the caps as they don't care.
2005-08-31 13:53:39 +00:00
Wim Taymans
8cd2dc7a81 gst/base/gstbasetransform.c: Don't leak refcounts on buffers.
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
(gst_base_transform_handle_buffer), (gst_base_transform_chain):
Don't leak refcounts on buffers.
2005-08-31 13:50:40 +00:00
Wim Taymans
2db910992f gst/base/gstbasetransform.*: Handle the case where we are not negotiated more gracefully.
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
(gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
(gst_base_transform_chain), (gst_base_transform_change_state):
* gst/base/gstbasetransform.h:
Handle the case where we are not negotiated more gracefully.
2005-08-31 13:41:19 +00:00
Tim-Philipp Müller
09f803fd76 gst/elements/gstfilesrc.c: Set READONLY flag on mmap'ed buffers, otherwise gst_buffer_make_writable() won't work prop...
Original commit message from CVS:
* gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
(gst_file_src_map_region):
Set READONLY flag on mmap'ed buffers, otherwise
gst_buffer_make_writable() won't work properly (#314708).
2005-08-31 12:55:54 +00:00
Wim Taymans
cd599c3718 gst/base/gstbasetransform.c: passthrough elements can even do inplace on non writable buffers (as they don't touch th...
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
passthrough elements can even do inplace on non writable
buffers (as they don't touch them).
2005-08-31 10:07:24 +00:00
Stefan Kost
f02b655fc0 check/gst-libs/controller.c: more tests (hehe I have the most)
Original commit message from CVS:
* check/gst-libs/controller.c: (gst_test_mono_source_get_property),
(gst_test_mono_source_set_property),
(gst_test_mono_source_class_init), (GST_START_TEST),
(gst_controller_suite):
more tests (hehe I have the most)
* gst/gstbus.c:
describe popping messages whenusing mulltiple sources
* libs/gst/controller/gst-controller.c:
(gst_controlled_property_set_interpolation_mode),
(gst_controlled_property_new):
* libs/gst/controller/gst-controller.h:
* libs/gst/controller/gst-interpolation.c:
implement boolean properties
2005-08-31 10:00:08 +00:00
Wim Taymans
42dee8bf71 gst/gstminiobject.c: Cannot assert that the refcount has to be positive since a disposed object can be resurected.
Original commit message from CVS:
* gst/gstminiobject.c: (gst_mini_object_ref):
Cannot assert that the refcount has to be positive
since a disposed object can be resurected.
2005-08-31 08:57:14 +00:00
Wim Taymans
5711214593 gst/gstpad.c: Revert change, need to first fix badly behaving apps.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_init):
Revert change, need to first fix badly behaving
apps.
2005-08-31 08:38:39 +00:00
Wim Taymans
d7cfd8a12e gst/base/gstadapter.c: Flushing out 0 bytes is ok for this function.
Original commit message from CVS:
* gst/base/gstadapter.c: (gst_adapter_flush):
Flushing out 0 bytes is ok for this function.

* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
no newsegment gives a warning and sets the start/stop to
invalid.

* gst/base/gstbasetransform.c: (gst_base_transform_change_state),
(gst_base_transform_set_passthrough):
Some debug info.

* gst/gstminiobject.c: (gst_mini_object_ref):
Check refcount here too.

* gst/gstpad.c: (gst_pad_init):
Pads are initially flushing and refusing data.

* gst/gstutils.c: (gst_element_link_pads_filtered):
When adding a capsfilter element make sure it has the
same state as the parent bin.
2005-08-30 19:29:59 +00:00
Stefan Kost
a44593349c more docs and two more inlined
Original commit message from CVS:
* docs/gst/tmpl/.cvsignore:
* docs/gst/tmpl/gstformat.sgml:
* docs/gst/tmpl/gstversion.sgml:
* gst/gstbus.h:
* gst/gstformat.c:
* gst/gstformat.h:
* gst/gstversion.h.in:
more docs and two more inlined
2005-08-30 17:23:19 +00:00
Wim Taymans
da88afccc5 gst/elements/gstfilesink.c: Don't sync to clock.
Original commit message from CVS:
* gst/elements/gstfilesink.c: (gst_file_sink_class_init):
Don't sync to clock.
2005-08-30 17:12:33 +00:00
Stefan Kost
219c0c1947 docs/gst/gstreamer-sections.txt: ultral33t func10ns deserve to appear in the docs actualy
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
ultral33t func10ns deserve to appear in the docs actualy
* docs/gst/tmpl/.cvsignore:
* docs/gst/tmpl/gstcompat.sgml:
* docs/gst/tmpl/gstconfig.sgml:
* gst/check/gstcheck.c:
* gst/gstcompat.h:
* gst/gstconfig.h.in:
inlined more docs
2005-08-30 08:17:48 +00:00
Stefan Kost
ba327dcf92 inlined and extended docs
Original commit message from CVS:
* docs/gst/tmpl/.cvsignore:
* docs/gst/tmpl/gstquery.sgml:
* docs/gst/tmpl/gstutils.sgml:
* gst/gstquery.c:
* gst/gstquery.h:
inlined and extended docs
2005-08-29 21:41:02 +00:00
Stefan Kost
d7b4691c3b check/gst-libs/controller.c: more tests
Original commit message from CVS:
* check/gst-libs/controller.c: (GST_START_TEST),
(gst_controller_suite):
more tests
* docs/gst/tmpl/gstutils.sgml:
* docs/libs/gstreamer-libs-sections.txt:
* docs/libs/tmpl/gstdataprotocol.sgml:
include path fixes
* examples/controller/audio-example.c: (main):
controller example works now
* gst/gstclock.h:
doc fixes
* tools/gst-inspect.c: (print_element_properties_info):
show param spec flags
2005-08-29 19:59:52 +00:00
Andy Wingo
95e4e1382d gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
Original commit message from CVS:
2005-08-29  Andy Wingo  <wingo@pobox.com>

* gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
2005-08-29 16:10:36 +00:00
Andy Wingo
944491ab45 gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init as having two arguments instead of just one. Allows su...
Original commit message from CVS:
2005-08-28  Andy Wingo  <wingo@pobox.com>

* gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
as having two arguments instead of just one. Allows superclasses
to access information on subclasses -- see the terrible for() loop
in gtype.c:g_type_create_instance for the reason why. All callers
changed.
2005-08-28 17:45:58 +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
Stefan Kost
6aa69df224 gst/gstmessage.*: doc fixes
Original commit message from CVS:
* gst/gstmessage.c:
* gst/gstmessage.h:
doc fixes
2005-08-26 22:32:51 +00:00
Stefan Kost
90b2a570bb gst/base/gstbasetransform.c: fix div-by-zero
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
fix div-by-zero
2005-08-26 21:23:51 +00:00
Andy Wingo
9d1b5e07b3 check/pipelines/simple_launch_lines.c (run_pipeline): Check element_set_state's return val.
Original commit message from CVS:
2005-08-26  Andy Wingo  <wingo@pobox.com>

* check/pipelines/simple_launch_lines.c (run_pipeline): Check
element_set_state's return val.
(test_2_elements): Add test that's been disabled for months.

* gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
can-activate-pull properties.

* gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
can-activate-pull properties. Implement is_seekable so fakesrc can
operate in pull mode.

* gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
properties.
(gst_base_sink_activate, gst_base_sink_activate_pull)
(gst_base_sink_activate_push): Make activation mode choosing work.
Cleanups.
(gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
is right. Make pull mode work. Post an eos before pausing in pull
mode.
(gst_base_sink_change_state): Pay attention to the core's
change_state() return val.

* gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
has-getrange properties. Cleanups.

* gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
has_getrange and replace with can_activate_pull and
can_activate_push.

* gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
locking comments. Remove has_loop, has_chain and replace with
can_activate_pull and can_activate_push.
2005-08-26 14:21:43 +00:00
Jan Schmidt
e4b8f77538 Add metadata reading example that loops over a list of filenames, dumping any tags found.
Original commit message from CVS:
* configure.ac:
* examples/Makefile.am:
* examples/metadata/Makefile.am:
* examples/metadata/read-metadata.c: (message_loop),
(have_pad_handler), (make_pipeline), (print_tag), (main):
Add metadata reading example that loops over a list of filenames,
dumping any tags found.

* gst/gstbus.c: (gst_bus_dispose):
* gst/gstelement.c: (gst_element_dispose):
Release a few potentially-held references in dispose.
2005-08-26 13:28:01 +00:00
Thomas Vander Stichele
6c3416a44d gst/base/: fix up some debugging
Original commit message from CVS:

* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
* gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
fix up some debugging
(gst_base_transform_get_unit_size),
(gst_base_transform_buffer_alloc), (gst_base_transform_event),
(gst_base_transform_handle_buffer):
* gst/base/gstbasetransform.h:
handle and store timed NEWSEGMENT events so that subclasses that
calculate time by counting samples have a segment_start time they
need to add to their timestamps - see audioresample
2005-08-26 11:56:11 +00:00
Thomas Vander Stichele
8b739d91e7 whitespace, doc and debug fixing/additions
Original commit message from CVS:
whitespace, doc and debug fixing/additions
2005-08-26 11:19:22 +00:00
Stefan Kost
a28d63431a gst/gstbin.h: removed ';' from the end of macro defs
Original commit message from CVS:
* gst/gstbin.h:
removed ';' from the end of macro defs
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/.cvsignore:
* gst/gstbus.h:
* gst/gstelement.c: (gst_element_class_init),
(gst_element_set_state), (activate_pads),
(gst_element_save_thyself):
* gst/gstevent.c: (gst_event_new_newsegment):
* gst/gstevent.h:
* gst/gstiterator.c:
* gst/gstiterator.h:
* gst/gstpad.c:
* gst/gstprobe.h:
* gst/gstutils.c: (gst_pad_query_convert):
* gst/gstutils.h:
fixed parameter name mismatches between source, header and docs
added some more docs, resolved the last batch of unused elements in
docs (now someone needs to doc them)
2005-08-25 23:17:18 +00:00
Thomas Vander Stichele
34359ad6d7 respect order of plugin dirs when loading pllugins and rebuilding registry
Original commit message from CVS:
respect order of plugin dirs when loading pllugins and rebuilding registry
2005-08-25 20:52:07 +00:00
Wim Taymans
b9ab9854e3 gst/base/gstbasetransform.*: Cache caps unit_size.
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_init),
(gst_base_transform_transform_size),
(gst_base_transform_configure_caps),
(gst_base_transform_get_unit_size),
(gst_base_transform_buffer_alloc),
(gst_base_transform_change_state):
* gst/base/gstbasetransform.h:
Cache caps unit_size.
Make sure we cannot negotiate up and downstream at the
same time.
2005-08-25 19:36:05 +00:00
Thomas Vander Stichele
7ecd2c3772 make registry respect order of GST_PLUGIN_PATH; make the installed location go last
Original commit message from CVS:
make registry respect order of GST_PLUGIN_PATH; make the installed location go last
2005-08-25 18:55:34 +00:00
Thomas Vander Stichele
31e37fe64c add docs
Original commit message from CVS:
add docs
2005-08-25 18:54:00 +00:00
Thomas Vander Stichele
9ef5832ec0 add a uint64 checking method
Original commit message from CVS:
add a uint64 checking method
2005-08-25 16:27:44 +00:00
Wim Taymans
46bb10ac37 gst/gstbin.c: Be a bit more conservative about the posted message.
Original commit message from CVS:
* gst/gstbin.c: (bin_bus_handler):
Be a bit more conservative about the posted message.

* gst/gstbus.c: (gst_bus_post):
Some cleanups, warn wrong return values.
2005-08-25 13:52:13 +00:00
Jan Schmidt
864b976fef Revert unpopular change for GST_MESSAGE_SRC to GObject.
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
* gst/gstbin.c: (bin_bus_handler):
* gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
(gst_message_new), (gst_message_new_eos), (gst_message_new_error),
(gst_message_new_warning), (gst_message_new_tag),
(gst_message_new_state_changed), (gst_message_new_segment_start),
(gst_message_new_segment_done), (gst_message_new_custom):
* gst/gstmessage.h:
* tools/gst-launch.c: (event_loop):
* tools/gst-md5sum.c: (event_loop):
Revert unpopular change for GST_MESSAGE_SRC to GObject.
2005-08-25 10:51:14 +00:00
Thomas Vander Stichele
7b4161583c fix docs by fixing enum typedef
Original commit message from CVS:
fix docs by fixing enum typedef
2005-08-25 10:35:46 +00:00
Wim Taymans
74c68bb7fc check/generic/states.c: Cleanup can be done at the end.
Original commit message from CVS:
* check/generic/states.c: (GST_START_TEST):
Cleanup can be done at the end.

* gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
(gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
(gst_task_get_state), (gst_task_start), (gst_task_pause):
Oh boy.. Thanks for finding this, Thomas.
2005-08-25 10:01:47 +00:00
Stefan Kost
2445f27de7 added miissing classes and symbols (123 more to go) removed removed symbols from section file fixed many doc-comments
Original commit message from CVS:
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/.cvsignore:
* gst/gstbin.c:
* gst/gstiterator.c:
* gst/gstutils.c:
* gst/registries/gstxmlregistry.h:
added miissing classes and symbols (123 more to go)
removed removed symbols from section file
fixed many doc-comments
2005-08-24 21:35:43 +00:00
Wim Taymans
1e40e471d9 check/generic/states.c: Make sure all tasks are stopped.
Original commit message from CVS:
* check/generic/states.c: (GST_START_TEST):
Make sure all tasks are stopped.

* check/gst/gstbin.c: (GST_START_TEST):
Unref after usage for proper valgrinding.

* gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
Really wait for the task to stop before destroying the
mutex.

* gst/gstqueue.c: (gst_queue_sink_activate_push),
(gst_queue_src_activate_push):
Small cleanups. Don't stop the task when we did not start
it.

* gst/gsttask.c: (gst_task_get_type), (gst_task_init),
(gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
(gst_task_get_state), (gst_task_start), (gst_task_pause),
(gst_task_join):
* gst/gsttask.h:
Protect the stream lock with the object lock.
Disallow setting the stream lock when running.
Add cleanup_all to wait for the threadpool to finish.
Remove code to autoallocate a mutex if none was provided.
Add _join() to wait for a task to stop.
Protect the thread pool with a global lock.
2005-08-24 20:49:53 +00:00
Wim Taymans
ec8ec3da8a gst/base/gstbasesink.*: Handle newsegment events correctly.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_get_times), (gst_base_sink_do_sync),
(gst_base_sink_handle_buffer), (gst_base_sink_change_state):
* gst/base/gstbasesink.h:
Handle newsegment events correctly.
Drop buffers out of the segment range.
2005-08-24 17:57:36 +00:00
Thomas Vander Stichele
6ed334f0f8 check/: add a test that does a bunch of state changes on elements needs some fixing for valgrind
Original commit message from CVS:

* check/Makefile.am:
* check/generic/states.c: (GST_START_TEST), (states_suite), (main):
add a test that does a bunch of state changes on elements
needs some fixing for valgrind
* check/states/sinks.c: (gst_object_suite):
whitespace
* gst/gstcaps.h:
add prototype for gst_caps_is_equal_fixed
* gst/gstplugin.c:
* gst/gstregistrypool.c:
doc fixes
2005-08-24 16:09:50 +00:00
Andy Wingo
438739a556 gst/gstquery.c (gst_query_new_convert): Spew if we try to convert a negative value. Doesn't make much sense. Mostly t...
Original commit message from CVS:
2005-08-24  Andy Wingo  <wingo@pobox.com>

* gst/gstquery.c (gst_query_new_convert): Spew if we try to
convert a negative value. Doesn't make much sense. Mostly this is
here to force callers to ensure -1 maps to -1.
2005-08-24 15:49:03 +00:00
Jan Schmidt
8aa248c92b docs/pwg/advanced-types.xml: Well done to Michael for catching my deliberate introduction of this spelling mistake.
Original commit message from CVS:
* docs/pwg/advanced-types.xml:
Well done to Michael for catching my deliberate introduction
of this spelling mistake.
* gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
* gst/gstelement.h:
Add GST_ELEMENT_UNPARENTING to prevent races so that we can
unlink pads before removing the element from the bin.
2005-08-24 15:10:41 +00:00
Andy Wingo
76fffe8fc5 gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean the same thing as GST_DEBUG=*:4.
Original commit message from CVS:
2005-08-24  Andy Wingo  <wingo@pobox.com>

* gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
the same thing as GST_DEBUG=*:4.
(parse_debug_level, parse_debug_category): New helper parsers.
2005-08-24 13:49:21 +00:00
Thomas Vander Stichele
6519d7bfba gst/base/gstbasetransform.c: use gboolean return values and pointers to size so we can use the full GST_BUFFER_SIZE r...
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
(gst_base_transform_transform_size), (gst_base_transform_getcaps),
(gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
(gst_base_transform_buffer_alloc),
(gst_base_transform_handle_buffer):
use gboolean return values and pointers to size so we can use the
full GST_BUFFER_SIZE range (guint) for buffer sizes
use GstPadDirection for transform_caps
* gst/base/gstbasetransform.h:
rename get_size to get_unit_size since that's what it is
* gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
use GstPadDirection for transform_caps
* gst/gstbuffer.c: (gst_buffer_new_and_alloc):
* gst/gstutils.h:
cleanup and debugging
2005-08-24 13:33:21 +00:00
Stefan Kost
a7d4464ac1 Fixed long standing mem-leak
Original commit message from CVS:
* gst/gstelement.c: (gst_element_class_init),
(gst_element_set_state), (activate_pads),
(gst_element_save_thyself):
* tools/gst-compprep.c: (main):
* tools/gst-inspect.c: (print_element_properties_info):
* tools/gst-xmlinspect.c: (print_element_properties):
Fixed long standing mem-leak
2005-08-24 13:04:31 +00:00
Jan Schmidt
59a41141ca Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so that applications can sensibly post custom message...
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
* gst/gstbin.c: (bin_bus_handler):
* gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
(gst_message_new), (gst_message_new_eos), (gst_message_new_error),
(gst_message_new_warning), (gst_message_new_tag),
(gst_message_new_state_changed), (gst_message_new_segment_start),
(gst_message_new_segment_done), (gst_message_new_custom):
* gst/gstmessage.h:
* tools/gst-launch.c: (event_loop):
* tools/gst-md5sum.c: (event_loop):
Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
that applications can sensibly post custom messages with references
to their own objects.
2005-08-24 11:54:37 +00:00
Wim Taymans
15af2428df gst/base/gstbasetransform.*: Many fixes and new features added by Thomas. Can now also do transforms with variable si...
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_init),
(gst_base_transform_transform_caps),
(gst_base_transform_transform_size),
(gst_base_transform_configure_caps), (gst_base_transform_setcaps),
(gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
(gst_base_transform_handle_buffer):
* gst/base/gstbasetransform.h:
Many fixes and new features added by Thomas. Can now also do
transforms with variable sizes and a custom fixate_caps function.
2005-08-24 11:44:24 +00:00
Andy Wingo
b2c0b3a162 gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed already.
Original commit message from CVS:
2005-08-24  Andy Wingo  <wingo@pobox.com>

* gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
already.
2005-08-24 11:36:49 +00:00
Wim Taymans
4101d268d0 gst/gstbuffer.c: Some debugging.
Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_new_and_alloc):
Some debugging.

* gst/gstclock.h:
Cast to ClockTime before formatting to time.

* gst/gstutils.h:
Cleanups.
2005-08-24 11:22:32 +00:00
Wim Taymans
bc3dfd5d55 gst/gstevent.*: Some more debugging output and doc cleanups.
Original commit message from CVS:
* gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
(gst_event_new_newsegment), (gst_event_parse_newsegment),
(gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
(gst_event_parse_qos), (gst_event_new_seek),
(gst_event_parse_seek):
* gst/gstevent.h:
Some more debugging output and doc cleanups.

* gst/gstqueue.c: (gst_queue_handle_sink_event):
Fix possible deadlock.
2005-08-23 18:17:01 +00:00
Stefan Kost
eef38df668 added about 100 symbols from gstreamer-unused.txt to the right sections fixed more broken comments added GstBus to docs
Original commit message from CVS:
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* docs/gst/gstreamer.types:
* docs/gst/tmpl/.cvsignore:
* gst/gstbin.h:
* gst/gstbus.c:
* gst/gstelement.c:
* gst/gstevent.h:
added about 100 symbols from gstreamer-unused.txt to the right sections
fixed more broken comments
added GstBus to docs
2005-08-23 14:25:55 +00:00
Stefan Kost
3e1c4a2c42 inlined more doc comments, added missing comments and fixed comments fixed typos
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/.cvsignore:
* docs/gst/tmpl/gstbin.sgml:
* docs/gst/tmpl/gstbuffer.sgml:
* gst/base/gstbasesrc.c:
* gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
* gst/gstbuffer.c:
* gst/gstbuffer.h:
* tools/gst-launch.1.in:
inlined more doc comments, added missing comments and fixed comments
fixed typos
2005-08-23 11:53:58 +00:00
Thomas Vander Stichele
4b0a255e95 gst/gstbuffer.c: some debugging
Original commit message from CVS:

* gst/gstbuffer.c: (gst_buffer_new_and_alloc):
some debugging
* gst/gstcaps.h:
whitespace fixes
* gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
more debugging
* gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
* gst/gststructure.h:
add a fixate function for booleans; add a FIXME that these func
names should probably be gst_structure_fixate_*
2005-08-23 11:38:28 +00:00
Stefan Kost
650687b449 ported gstchildproxy over from 0.8 ported gst-inspect fixes and enhancements over from 0.8
Original commit message from CVS:
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* gst/Makefile.am:
* gst/gstbin.c: (gst_bin_get_type),
(gst_bin_child_proxy_get_child_by_index),
(gst_bin_child_proxy_get_children_count),
(gst_bin_child_proxy_init):
* gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
(gst_child_proxy_get_child_by_index),
(gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
(gst_child_proxy_get_property), (gst_child_proxy_get_valist),
(gst_child_proxy_get), (gst_child_proxy_set_property),
(gst_child_proxy_set_valist), (gst_child_proxy_set),
(gst_child_proxy_child_added), (gst_child_proxy_child_removed),
(gst_child_proxy_base_init), (gst_child_proxy_get_type):
* gst/gstchildproxy.h:
* gst/parse/grammar.y:
* tools/gst-inspect.c: (print_interfaces),
(print_element_properties_info), (print_element_info):
ported gstchildproxy over from 0.8
ported gst-inspect fixes and enhancements over from 0.8
2005-08-22 21:03:33 +00:00
Wim Taymans
5ffafdb34a gst/base/gstbasetransform.c: Also call the transform function if we have ANY caps.
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
(gst_base_transform_handle_buffer):
Also call the transform function if we have ANY caps.

* gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
Fix debug info.
2005-08-22 19:48:46 +00:00
Jan Schmidt
ee1f83092e gst/base/gstbasesrc.c: (gst_base_src_event_handler)
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_event_handler)
Don't pretend to handle seek events if the source is not seekable
2005-08-22 19:22:34 +00:00
Jan Schmidt
05fa076d05 gst/base/gstbasesink.c: Remove extra parameter to debug output
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
Remove extra parameter to debug output

* gst/base/gstbasesrc.c: (gst_base_src_send_discont),
(gst_base_src_do_seek), (gst_base_src_activate_push):
Fix seek event handling.

* gst/gstpipeline.c: (gst_pipeline_change_state):
* gst/gstqueue.c: (gst_queue_handle_sink_event),
(gst_queue_src_activate_push):
Don't start the src pad task on FLUSH_STOP if the pad
isn't linked.
Debug changes.
2005-08-22 18:48:48 +00:00
Andy Wingo
e6d23e0aee gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto macro, implements an interface and gstimplementsinterface...
Original commit message from CVS:
2005-08-22  Andy Wingo  <wingo@pobox.com>

* gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
macro, implements an interface and gstimplementsinterface for a
new type.
2005-08-22 15:12:56 +00:00
Wim Taymans
d31c5ea1f6 gst/gstcaps.c: Make _static_caps_get() refcounting sane.
Original commit message from CVS:
* gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
Make _static_caps_get() refcounting sane.

* gst/gstelement.c: (gst_element_set_state):
Add g_return_val_if_fail() to protect against segfaults.
2005-08-22 14:35:42 +00:00
Stefan Kost
33e36f56a4 inlined remaining docs, added missing doc comments
Original commit message from CVS:
* docs/gst/tmpl/gstevent.sgml:
* gst/gstevent.c:
* gst/gstevent.h:
inlined remaining docs, added missing doc comments
2005-08-22 10:37:02 +00:00
Thomas Vander Stichele
d961ea4c93 check/gst/gstbin.c: since we don't know when preroll is done, use refcount range check for the sink
Original commit message from CVS:

* check/gst/gstbin.c: (GST_START_TEST):
since we don't know when preroll is done, use refcount range
check for the sink
* gst/check/gstcheck.h:
add macro for checking refcount range
2005-08-22 09:25:51 +00:00
Thomas Vander Stichele
e5afa8a31b check/Makefile.am: clean up environment for when registry gets built versus when actual tests are run; valgrind seems...
Original commit message from CVS:

* check/Makefile.am:
clean up environment for when registry gets built versus
when actual tests are run; valgrind seems to not report
leaks if GST_PLUGIN_PATH is set to some specific values
* check/gst/gstbin.c: (GST_START_TEST):
add more refcounting checks; maybe this exposes a
preroll lock bug ?
* common/check.mak:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
* gst/check/gstcheck.h:
* gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
(gst_bin_change_state):
* gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
add/fix debugging/whitespace
2005-08-21 15:01:18 +00:00
Jan Schmidt
84b76a4359 check/Makefile.am: Use CHECK_CFLAGS and CHECK_LIBS
Original commit message from CVS:
* check/Makefile.am:
Use CHECK_CFLAGS and CHECK_LIBS
* check/gst/gstevent.c: (event_probe), (test_event),
(GST_START_TEST):
Don't leak events.
* gst/base/gstbasesrc.c: (gst_base_src_send_discont),
(gst_base_src_start), (gst_base_src_stop),
(gst_base_src_activate_push), (gst_base_src_activate_pull),
(gst_base_src_change_state):
Sprinkle gst_base_src_stop liberally around error paths to fix
problems reusing a source after failed state changes.
* gst/base/gsttypefindhelper.c: (helper_find_peek),
(helper_find_suggest), (gst_type_find_helper):
Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
* gst/gstevent.h:
* docs/gst/tmpl/gstevent.sgml:
Migrate part of the docs from the SGML file. Wait for ensonic to
tell me how I did it wrong ;)
* tools/gst-typefind.c: (main):
Extra robustness to state changes between files.
2005-08-21 10:54:47 +00:00
Thomas Vander Stichele
744193f884 check/Makefile.am: don't valgrind the controller test - it's leaking - Stefan, HELP
Original commit message from CVS:

* check/Makefile.am:
don't valgrind the controller test - it's leaking - Stefan, HELP
* gst/check/gstcheck.c: (gst_check_message_error),
(gst_check_chain_func), (gst_check_setup_element),
(gst_check_teardown_element), (gst_check_setup_src_pad),
(gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
(gst_check_teardown_sink_pad):
* gst/check/gstcheck.h:
add a bunch of methods to set up elements, and src and sink pads
* check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
* check/elements/identity.c: (setup_identity), (cleanup_identity),
(GST_START_TEST):
use them
* gst/gstmessage.c:
* gst/gsttag.h:
whitespace/doc fixes
2005-08-21 10:39:39 +00:00
Thomas Vander Stichele
feb446c5d4 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should be handled by the application and not always pri...
Original commit message from CVS:
make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
be handled by the application and not always printed as well
2005-08-20 20:30:36 +00:00
Thomas Vander Stichele
088fed6d36 check/Makefile.am: set GST_TOOLS_DIR
Original commit message from CVS:

* check/Makefile.am:
set GST_TOOLS_DIR
* gst/check/gstcheck.c: (gst_check_message_error):
* gst/check/gstcheck.h:
add a fail_unless_equals_int
add fail_unless for error messages
2005-08-20 20:15:53 +00:00
Thomas Vander Stichele
ab6525549c work on builds without check
Original commit message from CVS:
work on builds without check
2005-08-20 13:17:42 +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
Thomas Vander Stichele
8ce827c406 move check stuff to its own library to be used by other modules
Original commit message from CVS:
move check stuff to its own library to be used by other modules
2005-08-20 12:14:28 +00:00
Stefan Kost
60f5fbb210 eliminate another tmpl file, fix spelling in the long-description
Original commit message from CVS:
* docs/gst/tmpl/gst.sgml:
* gst/gst.c:
eliminate another tmpl file, fix spelling in the long-description
2005-08-19 09:58:42 +00:00
Andy Wingo
aa0fb69d49 Make sure that when a pipeline goes to PLAYING, that data has actually hit the sink.
Original commit message from CVS:
2005-08-18  Andy Wingo  <wingo@pobox.com>

Make sure that when a pipeline goes to PLAYING, that data has
actually hit the sink.

* check/states/sinks.c (test_sink): A sink that doesn't get any
data shouldn't return SUCCESS for going to either PLAYING or
PAUSED. Test also the return values on the way back down.

* gst/gstelement.c (gst_element_set_state): When changing the
state of an element currently changing state asynchronously, go to
lost-state after commiting the pending state. Makes future calls
to get_state continue to return ASYNC.

* gst/base/gstbasesink.c (gst_base_sink_change_state): Return
ASYNC when going to PLAYING if we still don't have preroll, as can
happen with live sources.
2005-08-18 16:20:24 +00:00
Jan Schmidt
8377afc0ba check/: I wrote a test!
Original commit message from CVS:
* check/Makefile.am:
* check/gst/gstevents.c: (GST_START_TEST), (event_probe),
(test_event), (timediff), (gstevents_suite), (main):
I wrote a test!

* docs/design/part-seeking.txt:
Spelling correction

* docs/gst/tmpl/gstevent.sgml:
Docs updates.

* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
Treat a buffer-without-newsegment the same as a receiving
a newsegment not in time format, and disable syncing to the clock
with a warning.

* gst/gstbus.c: (gst_bus_set_sync_handler):
Assert if anyone tries to replace the existing sync_handler for bus,
as only the owner should be setting it.

* gst/gstevent.h:
Have a fixed set of custom event enums with events identified by
their structure name (as in 0.8), rather than a free-for-all
allowing collisions between enum values from different plugins.

* gst/gstpad.c: (gst_pad_class_init):
Docs change.

* gst/gstqueue.c: (gst_queue_handle_sink_event):
Handle out-of-band downstream events from the sending thread.
2005-08-18 15:31:28 +00:00
Andy Wingo
de7347bda6 gst/gstpipeline.c (gst_pipeline_change_state): Interpret play-timeout==0 to mean no timeout at all. In that case, don...
Original commit message from CVS:
2005-08-17  Andy Wingo  <wingo@pobox.com>

* gst/gstpipeline.c (gst_pipeline_change_state): Interpret
play-timeout==0 to mean no timeout at all. In that case, don't
bother with a get_state or a warning, just return directly, even
if it's ASYNC.
2005-08-17 16:57:01 +00:00
Andy Wingo
c5e2202f20 gst/base/gstbasetransform.c: Debug changes.
Original commit message from CVS:
2005-08-17  Andy Wingo  <wingo@pobox.com>

* gst/base/gstbasetransform.c: Debug changes.

* gst/gstutils.h:
* gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
ensure bins post state change messages. A bit of a hack but I can't
think of a way to avoid it.

* check/gst/gstbin.c (test_watch_for_state_change): Added test.
2005-08-17 16:33:27 +00:00
Andy Wingo
ecbae942c5 gst/base/gstadapter.*: New function, like peek() but you own the data. Not terribly efficient atm.
Original commit message from CVS:
2005-08-16  Andy Wingo  <wingo@pobox.com>

* gst/base/gstadapter.h:
* gst/base/gstadapter.c (gst_adapter_take): New function, like
peek() but you own the data. Not terribly efficient atm.
2005-08-16 17:23:55 +00:00
Ronald S. Bultje
3b0897e827 gst/gstutils.*: Add two utility functions for tag handling.
Original commit message from CVS:
* gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
(gst_element_found_tags):
* gst/gstutils.h:
Add two utility functions for tag handling.
2005-08-16 16:29:04 +00:00
Wim Taymans
01ace6b592 check/gst/gstvalue.c: Added subtract checks.
Original commit message from CVS:
* check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
Added subtract checks.

* docs/design/part-events.txt:
Some more docs about newsegment

* gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
Fix FIXME

* gst/gstcaps.c: (gst_caps_to_string):
Add comments, cleanups.

* gst/gstelement.c: (gst_element_save_thyself):
cleanups

* gst/gstvalue.c: (gst_value_collect_int_range),
(gst_string_unwrap), (gst_value_union_int_int_range),
(gst_value_union_int_range_int_range),
(gst_value_intersect_int_int_range),
(gst_value_intersect_int_range_int_range),
(gst_value_intersect_double_double_range),
(gst_value_intersect_double_range_double_range),
(gst_value_intersect_list), (gst_value_subtract_int_int_range),
(gst_value_subtract_int_range_int),
(gst_value_subtract_double_range_double),
(gst_value_subtract_double_range_double_range),
(gst_value_subtract_from_list), (gst_value_subtract_list),
(gst_value_can_compare), (gst_value_compare_fraction):
Cleanups, add comments, remove unneeded asserts.
2005-08-16 09:42:50 +00:00
Thomas Vander Stichele
b27244a943 don't convert NULL structures to strings
Original commit message from CVS:
don't convert NULL structures to strings
2005-08-15 18:15:38 +00:00
Stefan Kost
cdc8ba9725 docs/gst/gstreamer-sections.txt: made some defines private
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
made some defines private
* docs/gst/tmpl/gstconfig.sgml:
* docs/gst/tmpl/gstqueue.sgml:
* docs/gst/tmpl/gsttaglist.sgml:
* docs/gst/tmpl/gsttypes.sgml:
* docs/gst/tmpl/gstutils.sgml:
* docs/pwg/appendix-porting.xml:
* gst/base/gstbasesink.h:
* gst/base/gstbasesrc.c:
* gst/base/gstbasesrc.h:
* gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
* gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
* gst/gstelement.c: (gst_element_class_init):
* gst/gstpad.c: (gst_pad_class_init):
* gst/gstqueue.c: (gst_queue_class_init):
* gst/gstxml.c: (gst_xml_class_init):
documented all undocumented signal inline
* libs/gst/controller/gst-controller.h:
added padding
2005-08-15 16:57:34 +00:00
Thomas Vander Stichele
5dee6ba2e8 check/Makefile.am: add a .check target for running the check
Original commit message from CVS:

* check/Makefile.am:
add a .check target for running the check
* check/gst-libs/controller.c: (GST_START_TEST):
cosmetic fixups
* check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
complete checks for gstbuffer; would be nice if I could get the
gcov stuff to work so I can see if I actually completed gstbuffer.c
* check/gstcheck.h:
add ASSERT_BUFFER_REFCOUNT
2005-08-14 22:29:07 +00:00
Tim-Philipp Müller
680ddc0cea Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't spew out a warning if a tag that is already registered is re-r...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
* gst/gsttag.h:
Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
spew out a warning if a tag that is already registered
is re-registered, unless it is re-registered with a
different type (#308438).
2005-08-13 10:33:22 +00:00
Wim Taymans
8513b4767e gst/gstghostpad.c: Actually implement (re)setting the target on a ghostpad as described in the docs.
Original commit message from CVS:
* gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
(gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
(gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
(gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
(gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
(gst_ghost_pad_set_target):
Actually implement (re)setting the target on a ghostpad
as described in the docs.
2005-08-11 14:24:58 +00:00
Tim-Philipp Müller
130c7ae0a6 gst/gst.c: Check whether GST_DEBUG_NO_COLOR environment variable is set and disable coloured debug output if that is ...
Original commit message from CVS:
* gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
Check whether GST_DEBUG_NO_COLOR environment variable is
set and disable coloured debug output if that is the case.
2005-08-10 21:19:01 +00:00
Tim-Philipp Müller
ba8a8319fd gst/base/gsttypefindhelper.c: The memory returned by gst_type_find_peek() needs to stay valid until the end of a type...
Original commit message from CVS:
* gst/base/gsttypefindhelper.c: (helper_find_peek),
(gst_type_find_helper):
The memory returned by gst_type_find_peek() needs to
stay valid until the end of a typefind function, and
typefind functions may keep results from different
offsets around, so we can't just unref the buffer from
the previous _peek(), but have to save all buffers
returned by _peek() until typefinding is done and only
free them then.
2005-08-10 15:08:03 +00:00
Tim-Philipp Müller
8e8a415095 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstutils.h:
New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
2005-08-09 16:25:45 +00:00
Ronald S. Bultje
d32de37076 gst/base/gstbasetransform.c: Fix a pretty good memleak.
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
Fix a pretty good memleak.
2005-08-08 15:08:14 +00:00
Tim-Philipp Müller
4f74a712c4 gst/gstiterator.h: Fix wrong include and 'make distcheck'.
Original commit message from CVS:
* gst/gstiterator.h:
Fix wrong include and 'make distcheck'.
2005-08-08 13:55:37 +00:00
Ronald S. Bultje
3d373927b1 gst/gstbin.c: Use gst_element_post_message() instead.
Original commit message from CVS:
* gst/gstbin.c: (bin_bus_handler):
Use gst_element_post_message() instead.
2005-08-08 13:38:34 +00:00
Tim-Philipp Müller
46cc9bc152 gst/: Add padding to our base elements' class and instance structs and to GstIterator (you will need to rebuild all p...
Original commit message from CVS:
* gst/base/gstadapter.h:
* gst/base/gstbasesink.h:
* gst/base/gstbasesrc.h:
* gst/base/gstbasetransform.h:
* gst/base/gstcollectpads.h:
* gst/base/gstpushsrc.h:
* gst/gstiterator.h:
Add padding to our base elements' class and instance structs and
to GstIterator (you will need to rebuild all plugins and apps!)
2005-08-08 13:31:09 +00:00
Ronald S. Bultje
0454767817 gst/gstbin.c: Make default message forwarding from child->bus to bin->bus threadsafe and make it not emit warnings if...
Original commit message from CVS:
* gst/gstbin.c: (bin_bus_handler):
Make default message forwarding from child->bus to bin->bus
threadsafe and make it not emit warnings if the parent has no bus.
2005-08-08 13:17:07 +00:00
Ronald S. Bultje
c27821d70c gst/gstelement.c: On paused->ready, set pad->caps to NULL, as is the documented behaviour in this state change. Fixes...
Original commit message from CVS:
* gst/gstelement.c: (activate_pads):
On paused->ready, set pad->caps to NULL, as is the documented
behaviour in this state change. Fixes playback of series of
media files when visualization is enabled in Totem.
2005-08-08 12:14:20 +00:00
Ronald S. Bultje
c80125e55b gst/elements/gstcapsfilter.c: Allow NULL as filter-caps (which means "any").
Original commit message from CVS:
* gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
Allow NULL as filter-caps (which means "any").
2005-08-07 13:37:08 +00:00
Stefan Kost
27cd61d3c1 migrated some more docs to be inlined in the sources
Original commit message from CVS:
migrated some more docs to be inlined in the sources
2005-08-05 13:42:10 +00:00
Stefan Kost
da7dd48860 added long/short desc for controller docs added collectpads base class docs added correct includes to base-class docs
Original commit message from CVS:
added long/short desc for controller docs
added collectpads base class docs
added correct includes to base-class docs
2005-08-05 12:59:46 +00:00
Stefan Kost
a34f2613f9 more tests (and fixes) for the controller more docs for the controller integrated companies docs for the adapter
Original commit message from CVS:
more tests (and fixes) for the controller
more docs for the controller
integrated companies docs for the adapter
2005-08-05 10:02:44 +00:00
Andy Wingo
e20ed97cb2 gst/elements/gstcapsfilter.c: Reimplement using basetransform, fixes buffer_alloc proxying among other things.
Original commit message from CVS:
2005-08-04  Andy Wingo  <wingo@pobox.com>

* gst/elements/gstcapsfilter.c: Reimplement using basetransform,
fixes buffer_alloc proxying among other things.

* gst/base/gstbasetransform.c:
* gst/base/gstbasetransform.h:
Revert patch to gstbasetransform from 7-28 removing
delay_configure.

* gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
* gst/base/gstbasetransform.c (gst_base_transform_get_size):
Semantics changed, should return not the size of the output buffer
but the byte size of a buffer with a given caps.

* gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
debug object.
(gst_base_transform_configure_caps): Don't set out_size here: (in,
out) are not the pad caps until setcaps finishes.
(gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
not-in-place case as well. Deal with changing from in-place to
not-in-place within calling pad_alloc_buffer. Still a bit
concerned about the overhead here...
2005-08-04 19:40:43 +00:00
Edward Hervey
8ff106a019 gst/base/gstadapter.h: Added gst_adapter_get_type() to the header
Original commit message from CVS:
* gst/base/gstadapter.h:
Added gst_adapter_get_type() to the header
2005-08-04 11:56:57 +00:00
Stefan Kost
b3034dba54 added check test suite for the controller fixed a doc typo
Original commit message from CVS:
added check test suite for the controller
fixed a doc typo
2005-08-03 15:59:11 +00:00
Stefan Kost
722f83a8fc add short/long description docs to base classes add pushsrc to the docs remove consolidated doc fragments
Original commit message from CVS:
add short/long description docs to base classes
add pushsrc to the docs
remove consolidated doc fragments
2005-08-03 13:30:18 +00:00
Jan Schmidt
75c955843e gst/base/gstcollectpads.c: Broadcast the condition when shutting down, to make sure we wake all threads up. Shut down...
Original commit message from CVS:
* gst/base/gstcollectpads.c: (gst_collectpads_finalize),
(gst_collectpads_stop):
Broadcast the condition when shutting down, to make sure we wake all
threads up. Shut down pads on finalize, for safety.
2005-08-01 21:17:01 +00:00
Jan Schmidt
4572dcaa86 gst/base/gstbasetransform.c: Handle PAUSED->READY->PAUSED transition after negotiation occurred already.
Original commit message from CVS:
2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
* gst/base/gstbasetransform.c: (gst_base_transform_init),
(gst_base_transform_handle_buffer),
(gst_base_transform_change_state):
Handle PAUSED->READY->PAUSED transition after negotiation
occurred already.
* gst/gstmessage.c: (gst_message_init):
Extra piece of debug for new messages.
2005-08-01 17:26:00 +00:00
Tim-Philipp Müller
536aef2218 gst/elements/gsttypefindelement.*: Set caps on all outgoing buffers, not just the first one.
Original commit message from CVS:
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_have_type), (gst_type_find_element_init),
(stop_typefinding), (gst_type_find_element_handle_event),
(gst_type_find_element_chain), (gst_type_find_element_getrange):
* gst/elements/gsttypefindelement.h:
Set caps on all outgoing buffers, not just the first one.
2005-08-01 11:15:47 +00:00
Tim-Philipp Müller
8ec43a5445 gst/elements/gsttypefindelement.*: Set caps on first outgoing buffer when we've found the type.
Original commit message from CVS:
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_have_type),
(gst_type_find_element_check_set_buffer_caps),
(gst_type_find_element_init), (stop_typefinding),
(gst_type_find_element_handle_event),
(gst_type_find_element_chain), (gst_type_find_element_getrange):
* gst/elements/gsttypefindelement.h:
Set caps on first outgoing buffer when we've found the type.
2005-08-01 09:10:01 +00:00
Tim-Philipp Müller
374b7a3183 gst/gstpad.h: Fix inline docs for GstPadLinkReturn.
Original commit message from CVS:
* gst/gstpad.h:
Fix inline docs for GstPadLinkReturn.
* gst/gststructure.c: (gst_structure_has_name):
* gst/gststructure.h:
* docs/gst/gstreamer-sections.txt:
New API: gst_structure_has_name().
2005-07-31 11:59:33 +00:00
Tim-Philipp Müller
96e954852f configure.ac: Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64 and _LARGEFILE_SOURCE in config.h as required...
Original commit message from CVS:
* configure.ac:
Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
and _LARGEFILE_SOURCE in config.h as required. Do not
export those flags in our .pc files any longer (#142209).
Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
* gst/elements/gstfilesink.c: (gst_file_sink_class_init),
(gst_file_sink_do_seek), (gst_file_sink_event),
(gst_file_sink_get_current_offset), (gst_file_sink_render):
Redo seek/tell calls with large file support in mind; add some
debugging messages; add log message that tells us when large
file support is unavailable or not enabled for some reason.
* gst/elements/gstfilesrc.c: (gst_file_src_class_init):
Add log message that tells us when large file support
is unavailable or not enabled for some reason.
2005-07-30 15:00:07 +00:00
Wim Taymans
afbe734024 check/gst/gstghostpad.c: Added test for removing an element with ghostpad from a bin.
Original commit message from CVS:
* check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
Added test for removing an element with ghostpad from a bin.
Fixed test as current implementation does the right thing.

* gst/gstghostpad.c: (gst_proxy_pad_class_init),
(gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
(gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
(gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
(gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
(gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
(gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
(gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
(gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
(gst_proxy_pad_get_target), (gst_proxy_pad_init),
(gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
(gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
(gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
(gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
(gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
(gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
* gst/gstghostpad.h:
Clean up ghostpads, remove properties for internal stuff.
Make threadsafe.
Fix refcounting.
Prepare for switching targets, not all use cases work yet.
2005-07-29 19:22:28 +00:00
Wim Taymans
49de56dd1f docs/design/part-gstghostpad.txt: Small update.
Original commit message from CVS:
* docs/design/part-gstghostpad.txt:
Small update.

* gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
(gst_bin_remove_func):
Unlinking pads while holding the bin LOCK is not a good
idea.

* gst/gstpad.c: (gst_pad_class_init),
(gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
(gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
No prob setting template after creating the pad.
2005-07-29 19:19:29 +00:00
Jan Schmidt
9b1b3593e0 gst/gstbus.c: gst_bus_poll may be called from other threads. Handle this nicely by not making poll_data disappear off...
Original commit message from CVS:
* gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
(gst_bus_peek), (gst_bus_source_dispatch),
(gst_bus_add_watch_full), (poll_handler), (poll_timeout),
(poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
gst_bus_poll may be called from other threads. Handle
this nicely by not making poll_data disappear off the
stack once gst_bus_poll returns.
gst_bus_peek now increments the refcount on the returned
message.
2005-07-29 15:34:52 +00:00
Wim Taymans
a62db7f1ba check/gst/gstbin.c: Added checks for hierarchy consistency whan adding linked elements to bins.
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
Added checks for hierarchy consistency whan adding linked
elements to bins.

* check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
Added check to test element scheduling without bin/pipeline.

* check/pipelines/simple_launch_lines.c: (GST_START_TEST):
First add elements to bin, then link.

* gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
(gst_bin_remove_func):
Unlink pads from elements added/removed from bin to maintain
hierarchy consistency.
2005-07-28 15:38:46 +00:00
Ronald S. Bultje
cd76217ce5 gst/base/gstbasetransform.*: Remove broken delay_configure (fixes renegotiation of software scaling pipelines); remov...
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
(gst_base_transform_handle_buffer):
* gst/base/gstbasetransform.h:
Remove broken delay_configure (fixes renegotiation of software
scaling pipelines); remove some leftover printf()s.
2005-07-28 11:49:56 +00:00
Wim Taymans
7c7a4b68a1 check/gst/gstghostpad.c: Added some more tests for wrong hierarchy
Original commit message from CVS:
* check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
Added some more tests for wrong hierarchy

* docs/design/part-overview.txt:
Some updates.

* gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
Cleanups.

* gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
(gst_element_dispose):
Some more cleanups.

* gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
(gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
(gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
(gst_pad_set_caps), (gst_pad_send_event):
Check for correct hierarchy when linking pads. Moving to
strict requirement for ghostpads when linking elements in
different bins.

* gst/gstpad.h:
Clean ups. Added WRONG_HIERARCHY return value.
2005-07-28 11:24:33 +00:00
Ronald S. Bultje
f6195ba59a gst/base/gstbasetransform.c: Better debug if no transform is possible.
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
Better debug if no transform is possible.
2005-07-28 10:38:02 +00:00
Wim Taymans
7b1c29b05e Fix compilation and fix event serialization.
Original commit message from CVS:
* check/gst-libs/gdp.c: (GST_START_TEST):
* gst/elements/gstfakesink.c: (gst_fake_sink_event):
Fix compilation and fix event serialization.
2005-07-27 18:47:48 +00:00
Wim Taymans
66d7070ef1 Some docs updates
Original commit message from CVS:
* CHANGES-0.9:
* docs/design/part-TODO.txt:
* docs/design/part-events.txt:
Some docs updates

* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_event), (gst_base_sink_do_sync),
(gst_base_sink_activate_push), (gst_base_sink_activate_pull):
* gst/base/gstbasesrc.c: (gst_base_src_send_discont),
(gst_base_src_do_seek), (gst_base_src_event_handler),
(gst_base_src_loop):
* gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
(gst_base_transform_configure_caps), (gst_base_transform_setcaps),
(gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
(gst_base_transform_event), (gst_base_transform_handle_buffer),
(gst_base_transform_set_passthrough),
(gst_base_transform_is_passthrough):
* gst/elements/gstfakesink.c: (gst_fake_sink_event):
* gst/elements/gstfilesink.c: (gst_file_sink_event):
Event updates.

* gst/gstbuffer.h:
Use faster casts.

* gst/gstelement.c: (gst_element_seek):
* gst/gstelement.h:
Update gst_element_seek.

* gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
(gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
(gst_event_new_flush_start), (gst_event_new_flush_stop),
(gst_event_new_eos), (gst_event_new_newsegment),
(gst_event_parse_newsegment), (gst_event_new_tag),
(gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
(gst_event_parse_qos), (gst_event_new_seek),
(gst_event_parse_seek), (gst_event_new_navigation):
* gst/gstevent.h:
Make GstEvent use GstStructure. Add parsing code, make sure the
API is sufficiently generic.
Mark possible directions of events and serialization.

* gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
(_gst_message_copy), (gst_message_new_segment_start),
(gst_message_new_segment_done), (gst_message_new_custom),
(gst_message_parse_segment_start),
(gst_message_parse_segment_done):
Small cleanups.

* gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
(gst_pad_set_caps), (gst_pad_send_event):
Update for new events.
Catch events sent in wrong directions.

* gst/gstqueue.c: (gst_queue_link_src),
(gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
(gst_queue_handle_src_query):
Event updates.

* gst/gsttag.c:
* gst/gsttag.h:
Remove event code from this file.

* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
(gst_dp_event_from_packet):
Event updates.
2005-07-27 18:33:03 +00:00
Ronald S. Bultje
4795d25721 gst/base/gstbasetransform.c: Make debugging actually useful.
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
(gst_base_transform_configure_caps), (gst_base_transform_setcaps),
(gst_base_transform_get_size), (gst_base_transform_handle_buffer):
Make debugging actually useful.
2005-07-27 15:05:45 +00:00
Ronald S. Bultje
8de129adc4 gst/gstpad.c: Implement default fixation once again, so that gst_pad_fixate() actually does anything at all. This pro...
Original commit message from CVS:
* gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
(gst_pad_fixate_caps):
Implement default fixation once again, so that gst_pad_fixate()
actually does anything at all. This probably needs to be some
sort of a last resort, and use profile-based fixation first, but
since that doesn't exist yet, this is the best we have. Fixes
visualization in Totem.
2005-07-25 12:31:08 +00:00
Wim Taymans
9f06376bab docs/design/part-events.txt: Small update.
Original commit message from CVS:
* docs/design/part-events.txt:
Small update.

* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_do_sync), (gst_base_sink_activate_push),
(gst_base_sink_activate_pull):
Some more comments.

* gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
(gst_fake_src_create):
Fix handoff marshall.

* gst/elements/gstidentity.c: (gst_identity_class_init),
(gst_identity_transform_ip):
We're a real inplace element.

* gst/gstbus.c: (gst_bus_post):
Added some comments.

* tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
* tests/muxing/case1.c: (main):
* tests/sched/dynamic-pipeline.c: (main):
* tests/sched/interrupt1.c: (main):
* tests/sched/interrupt2.c: (main):
* tests/sched/interrupt3.c: (main):
* tests/sched/runxml.c: (main):
* tests/sched/sched-stress.c: (main):
* tests/seeking/seeking1.c: (event_received), (main):
* tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
(main):
* tests/threadstate/threadstate3.c: (main):
* tests/threadstate/threadstate4.c: (main):
* tests/threadstate/threadstate5.c: (main):
Fix the tests.
2005-07-22 11:47:10 +00:00
Wim Taymans
030ff93e82 docs/design/part-seeking.txt: Some small additions.
Original commit message from CVS:
* docs/design/part-seeking.txt:
Some small additions.

* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_get_times), (gst_base_sink_do_sync),
(gst_base_sink_activate_push), (gst_base_sink_activate_pull):
* gst/base/gstbasesink.h:
discont values are gint64, handle the math correctly.

* gst/base/gstbasesrc.c: (gst_base_src_loop):
Make the basesrc report error if the source pad is not linked.

* gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
(gst_queue_loop), (gst_queue_handle_src_query),
(gst_queue_src_activate_push):
Make queue collect data even if the srcpad is not linked.
Start pushing out data as soon as it is linked.

* gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
* gst/gstutils.h:
Added gst_flow_get_name() to ease error reporting.
2005-07-21 17:22:13 +00:00
Wim Taymans
e261956ca6 gst/gstmessage.*: Added a bunch of messages for advanced seeking.
Original commit message from CVS:
* gst/gstmessage.c: (gst_message_new_segment_start),
(gst_message_new_segment_done), (gst_message_parse_segment_start),
(gst_message_parse_segment_done):
* gst/gstmessage.h:
Added a bunch of messages for advanced seeking.

* gst/parse/grammar.y:
* libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
(gst_dpman_state_changed):
Fix some new-pad -> pad-added signals
2005-07-20 18:02:13 +00:00
Ronald S. Bultje
3f62c7db23 GstElement::new-pad -> pad-added, GstElement::state-change -> state-changed, GstValueFixedList -> GstValueArray, add ...
Original commit message from CVS:
* docs/manual/advanced-autoplugging.xml:
* docs/manual/basics-helloworld.xml:
* docs/manual/basics-pads.xml:
* docs/random/ds/0.9-suggested-changes:
* gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
* gst/gstelement.h:
* gst/gstevent.h:
* gst/gstformat.h:
* gst/gstquery.h:
* gst/gststructure.c: (gst_structure_value_get_generic_type),
(gst_structure_parse_array), (gst_structure_parse_value):
* gst/gstvalue.c: (gst_type_is_fixed),
(gst_value_list_prepend_value), (gst_value_list_append_value),
(gst_value_list_get_size), (gst_value_list_get_value),
(gst_value_transform_array_string), (gst_value_serialize_array),
(gst_value_deserialize_array), (gst_value_intersect_array),
(gst_value_is_fixed), (_gst_value_initialize):
* gst/gstvalue.h:
GstElement::new-pad -> pad-added, GstElement::state-change ->
state-changed, GstValueFixedList -> GstValueArray, add format and
flags as their own arguments in gst_element_seek() (should improve
"bindeability"), remove function generators since they don't work
under a whole bunch of compilers (they were deprecated already
anyway).
2005-07-20 17:16:44 +00:00
Ronald S. Bultje
e333ec54c0 gst/gstinfo.*: Fix illegal cast on some platforms (#309253).
Original commit message from CVS:
* gst/gstinfo.c: (_gst_debug_nameof_funcptr),
(_gst_debug_register_funcptr):
* gst/gstinfo.h:
Fix illegal cast on some platforms (#309253).
2005-07-20 16:20:39 +00:00
Ronald S. Bultje
3b19336fcc gst/gstmessage.*: Add _new_custom, make _new_application a macro to _new_custom.
Original commit message from CVS:
* gst/gstmessage.c: (gst_message_new_custom):
* gst/gstmessage.h:
Add _new_custom, make _new_application a macro to _new_custom.
2005-07-20 11:35:18 +00:00
Wim Taymans
f73fb55d1e gst/base/gstbasesrc.*: Add a gboolean to decide when to push out a discont.
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):
* gst/base/gstbasesrc.h:
Add a gboolean to decide when to push out a discont.

* gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
(gst_queue_loop), (gst_queue_handle_src_query),
(gst_queue_sink_activate_push), (gst_queue_src_activate_push),
(gst_queue_set_property), (gst_queue_get_property):
Some cleanups.

* tests/threadstate/threadstate1.c: (main):
Make a thread test compile and run... very silly..
2005-07-20 10:58:10 +00:00
Wim Taymans
f529a0bafc gst/gstqueue.*: Propagate GstFlowReturn more intelligently upstream and output an ERROR/EOS when streaming stopped du...
Original commit message from CVS:
* gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
(gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
(gst_queue_handle_src_query), (gst_queue_sink_activate_push),
(gst_queue_src_activate_push), (gst_queue_change_state),
(gst_queue_get_property):
* gst/gstqueue.h:
Propagate GstFlowReturn more intelligently upstream and output
an ERROR/EOS when streaming stopped due to fatal error.
2005-07-19 17:46:37 +00:00
Wim Taymans
737969ce5b gst/base/gstbasesrc.c: Make sure we never call the create function is we got deactivated.
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_get_range):
Make sure we never call the create function is we
got deactivated.
2005-07-19 13:43:50 +00:00
Andy Wingo
1d2f26f522 gst/parse/parse.l: Attempt to solve bug #172815.
Original commit message from CVS:
2005-07-19  Andy Wingo  <wingo@pobox.com>

* gst/parse/parse.l: Attempt to solve bug #172815.
2005-07-19 10:40:49 +00:00
Wim Taymans
99a3a0a6c0 Small docs updates.
Original commit message from CVS:
* docs/design/part-clocks.txt:
* docs/design/part-events.txt:
* gst/base/gstbasesrc.c: (gst_base_src_do_seek):
Small docs updates.
Only update the seeking values when we are not
busy streaming.
2005-07-19 09:19:06 +00:00
Jan Schmidt
690e87b1fd Oops, ignore the result of gst_pad_push_event here.
Original commit message from CVS:
Oops, ignore the result of gst_pad_push_event here.
2005-07-18 17:43:52 +00:00
Jan Schmidt
518e590f8b gst/base/gstbasesrc.c: Send discont event from the loop function, as pads aren't activated yet in the activate_push h...
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_loop),
(gst_base_src_activate_push):
Send discont event from the loop function, as pads
aren't activated yet in the activate_push handler.

* gst/gstbin.c: (bin_bus_handler):
Don't leak element name.
2005-07-18 17:12:36 +00:00
Wim Taymans
e1aeec6d77 Removed plugable schedulers.
Original commit message from CVS:
Removed plugable schedulers.
Removed Scheduler/Manager from elements.
Removed gsttypes.h, rearranged includes.
Removed dependency pad<->element, element<>pipeline, and
various others,  fix includes.
implement gst_pad_get_parent() with gst_object_get_parent()
Make GstTask sefcontained.
Fix _get_state() on GstBin, it did not return ASYNC with a 0
timeout.
Fix endless loop in iterator_fold_with_resync.
2005-07-18 12:49:53 +00:00
Wim Taymans
fba0bf771b gst/: Remove old file.
Original commit message from CVS:
* gst/Makefile.am:
* gst/gstarch.h:
Remove old file.
2005-07-18 09:22:55 +00:00
Wim Taymans
5ebba480f0 gst/Makefile.am: No more cothreads.h
Original commit message from CVS:
* gst/Makefile.am:
No more cothreads.h
2005-07-18 08:51:31 +00:00
Wim Taymans
d454303dfe gst/cothreads.*: Let's remove these.
Original commit message from CVS:
* gst/cothreads.c:
* gst/cothreads.h:
Let's remove these.
2005-07-18 08:43:27 +00:00
Wim Taymans
2b1ce5f29e docs/design/: Some more docs in the works.
Original commit message from CVS:
* docs/design/part-dynamic.txt:
* docs/design/part-events.txt:
* docs/design/part-seeking.txt:
Some more docs in the works.

* gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
(gst_base_transform_getcaps), (gst_base_transform_configure_caps),
(gst_base_transform_setcaps), (gst_base_transform_get_size),
(gst_base_transform_buffer_alloc), (gst_base_transform_event),
(gst_base_transform_handle_buffer),
(gst_base_transform_sink_activate_push),
(gst_base_transform_src_activate_pull),
(gst_base_transform_set_passthrough),
(gst_base_transform_is_passthrough):
Refcounting fixes.

* gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
Cleanups.

* gst/gstevent.c: (gst_event_finalize):
Set SRC to NULL.

* gst/gstutils.c: (gst_element_unlink),
(gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
(gst_pad_proxy_setcaps):
* gst/gstutils.h:
Add _get_parent_element() to get a pads parent as an element.
2005-07-18 08:28:48 +00:00
Wim Taymans
56453e01b9 gst/base/gstbasesink.c: Refcounting fixes.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
(gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
(gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
(gst_base_sink_event), (gst_base_sink_do_sync),
(gst_base_sink_chain), (gst_base_sink_loop),
(gst_base_sink_deactivate), (gst_base_sink_activate_push),
(gst_base_sink_activate_pull), (gst_base_sink_change_state):
Refcounting fixes.
Fix logic for returning ASYNC when not prerolled.
2005-07-17 22:26:02 +00:00
Wim Taymans
e5c9ef1341 gst/gstqueue.c: Fix nasty refcount bug.
Original commit message from CVS:
* gst/gstqueue.c: (gst_queue_handle_sink_event):
Fix nasty refcount bug.
2005-07-17 22:22:52 +00:00
Philippe Kalaf
cb5b884215 Moved fdsrc to gst-plugins.
Original commit message from CVS:
Moved fdsrc to gst-plugins.
2005-07-16 19:25:41 +00:00
Philippe Kalaf
4b888578a0 gst/elements/gstfdsrc.c gst/elements/gstfdsrc.h gst/elements/gstelements.c gst/elements/Makefile.am
Original commit message from CVS:
2005-07-16 Philippe Khalaf <burger@speedy.org>
* gst/elements/gstfdsrc.c
* gst/elements/gstfdsrc.h
* gst/elements/gstelements.c
* gst/elements/Makefile.am
Ported fdsrc to 0.9.
2005-07-16 15:41:04 +00:00
Wim Taymans
11bc479656 gst/base/gstbasesink.c: Fix compile error.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_do_sync):
Fix compile error.
2005-07-16 14:52:15 +00:00
Wim Taymans
d5be929bf8 gst/base/gstbasesink.*: Store and use discont values when syncing buffers as described in design docs.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_event), (gst_base_sink_get_times),
(gst_base_sink_do_sync), (gst_base_sink_change_state):
* gst/base/gstbasesink.h:
Store and use discont values when syncing buffers as described
in design docs.

* gst/base/gstbasesrc.c: (gst_base_src_send_discont),
(gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
(gst_base_src_activate_push):
Push discont event when starting.

* gst/elements/gstidentity.c: (gst_identity_transform):
Small cleanups.

* gst/gstbin.c: (gst_bin_change_state):
Small cleanups in base_time  distribution.

* gst/gstelement.c: (gst_element_set_base_time),
(gst_element_get_base_time), (gst_element_change_state):
* gst/gstelement.h:
Added methods for the base_time of the element.
Some MT fixes.

* gst/gstpipeline.c: (gst_pipeline_send_event),
(gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
(gst_pipeline_get_last_stream_time):
* gst/gstpipeline.h:
MT fixes.
Handle seeking as described in design doc, remove stream_time
hack.
Cleanups clock and stream_time selection code. Added accessors
for the stream_time.
2005-07-16 14:41:25 +00:00
Andy Wingo
d3ffeea70a gst/gsterror.c (_gst_core_errors_init): Use the magic word..
Original commit message from CVS:
2005-07-16  Andy Wingo  <wingo@pobox.com>

* gst/gsterror.c (_gst_core_errors_init): Use the magic word..
2005-07-16 14:06:21 +00:00
Wim Taymans
f89689b7e6 check/gst/gstbin.c: Make elements silent as the deep_notify refs the parent, which might make the test fail.
Original commit message from CVS:
* check/gst/gstbin.c: (GST_START_TEST):
Make elements silent as the deep_notify refs the
parent, which might make the test fail.

* gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
Don't hold the lock for too long.
2005-07-16 13:50:37 +00:00
Tim-Philipp Müller
d34751b8c2 gst/base/gstbasesrc.c: Don't unref the caps we passed to gst_caps_make_writable() after passing them. gst_caps_make_w...
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
Don't unref the caps we passed to gst_caps_make_writable() after
passing them. gst_caps_make_writable() will do that for us.
2005-07-16 12:33:13 +00:00
Andy Wingo
1ac0654d11 gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro (#157311).
Original commit message from CVS:
2005-07-15  Andy Wingo  <wingo@pobox.com>

* gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
(#157311).
2005-07-15 16:10:41 +00:00
Andy Wingo
096d369bb3 gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our own marshalling function for the handoff signal. Pro...
Original commit message from CVS:
2005-07-15  Andy Wingo  <wingo@pobox.com>

* gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
own marshalling function for the handoff signal. Properly type the
buffer as a buffer. Fixes some warnings. Should do a more general
solution.
(gst_identity_class_init): Plug into the right marshaller.
2005-07-15 14:59:22 +00:00
Andy Wingo
ad1970eae2 tools/gst-typefind.c: Update, add copyright block.
Original commit message from CVS:
2005-07-15  Andy Wingo  <wingo@pobox.com>

* tools/gst-typefind.c: Update, add copyright block.

* gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
Normalize and truncate caps before fixation.

* gst/gstcaps.h:
* gst/gstcaps.c (gst_caps_truncate): New function, destructively
discards all but the first structure from its argument.
2005-07-15 11:04:18 +00:00
Wim Taymans
7f4581d977 gst/base/gstbasetransform.*: Make passthrough work using the bufferpools.
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_init),
(gst_base_transform_transform_caps), (gst_base_transform_getcaps),
(gst_base_transform_configure_caps), (gst_base_transform_setcaps),
(gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
(gst_base_transform_handle_buffer), (gst_base_transform_getrange),
(gst_base_transform_chain), (gst_base_transform_change_state),
(gst_base_transform_set_passthrough),
(gst_base_transform_is_passthrough):
* gst/base/gstbasetransform.h:
Make passthrough work using the bufferpools.
Changed API a bit, subclasses have to write into a buffer
provided by the base class.
More debug info in nego functions.

* gst/elements/gstidentity.c: (gst_identity_init),
(gst_identity_transform):
Port to new base class.
2005-07-15 10:41:32 +00:00
Wim Taymans
a8d8310819 Totally dump messages in -launch with the -m option.
Original commit message from CVS:
* gst/gstmessage.c: (gst_message_new_state_changed):
* tools/gst-launch.c: (event_loop), (main):
Totally dump messages in -launch with the -m option.
Fix message name for State messages,
2005-07-15 10:30:49 +00:00
Wim Taymans
40a158fa44 gst/base/gstbasesrc.c: Post error messages on errors.
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_loop):
Post error messages on errors.
2005-07-14 18:45:51 +00:00
Wim Taymans
9ace74670e gst/gstcaps.c: Remove debug info.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_do_simplify):
Remove debug info.

* gst/gsterror.h:
Define error for stream stopped.

* gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
(gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
Do proper return values.

* gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
(gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
(gst_pad_get_range):
Better return values.

* gst/gstpad.h:
Reorganise return values, add macro to check for fatal errors.

* gst/gstqueue.c: (gst_queue_chain):
Return proper GstFlowReturn values,
2005-07-14 18:10:04 +00:00
Thomas Vander Stichele
259dec97fd more autistic cleanliness in functions/names/defines
Original commit message from CVS:
more autistic cleanliness in functions/names/defines
2005-07-14 09:35:12 +00:00
Thomas Vander Stichele
2ad8bc5a02 fix debug ifdef
Original commit message from CVS:
fix debug ifdef
2005-07-13 18:29:41 +00:00
Andy Wingo
9cb62f69e3 gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the source couldn't negotiate.
Original commit message from CVS:
2005-07-13  Andy Wingo  <wingo@pobox.com>

* gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
source couldn't negotiate.
2005-07-13 16:26:07 +00:00
Wim Taymans
f7c0c25d58 gst/base/gstbasetransform.c: Added more debug info in the negotiate process.
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
Added more debug info in the negotiate process.

* gst/gstmessage.h:
Prepare for segment playback.

* gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
Better debugging.

* gst/gstutils.c:
Some more docs.

* tools/gst-launch.c: (main):
NULL pipeline on errors.
2005-07-12 17:17:34 +00:00
Andy Wingo
c09555552a gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or not it comes from a malloc region. Make sure our copy ...
Original commit message from CVS:
2005-07-12  Andy Wingo  <wingo@pobox.com>

* gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
not it comes from a malloc region. Make sure our copy gets freed.
2005-07-12 17:04:41 +00:00
Thomas Vander Stichele
232b0ba690 fix refcounting of warning and error messages
Original commit message from CVS:
fix refcounting of warning and error messages
2005-07-12 16:28:36 +00:00
Thomas Vander Stichele
b7e7148a4c check/Makefile.am: instate more valgrindable tests
Original commit message from CVS:
2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>

* check/Makefile.am:
instate more valgrindable tests
* check/elements/gstfakesrc.c: (chain_func), (event_func),
(GST_START_TEST), (fakesrc_suite):
* check/gst/gstpad.c: (GST_START_TEST):
* check/gst/gststructure.c: (GST_START_TEST):
fix test leaks
* docs/gst/tmpl/gstminiobject.sgml:
* gst/gstpad.c: (gst_pad_finalize):
fix the static mutex leak
2005-07-12 09:41:00 +00:00
Thomas Vander Stichele
0794b693d9 check/Makefile.am: add two more tests for valgrinding
Original commit message from CVS:
* check/Makefile.am:
add two more tests for valgrinding
* check/gst/gstvalue.c: (GST_START_TEST):
test refcount of deserialized buffer, found a leak
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* docs/gst/gstreamer.types:
* docs/gst/tmpl/gstminiobject.sgml:
add miniobject to docs
* gst/gstminiobject.c:
add some docs
* gst/gstvalue.c: (gst_value_deserialize_buffer),
(gst_string_unwrap):
fix a hard-to-find invalid write for one of the tests
fix a leak for deserialized buffers
2005-07-11 18:41:49 +00:00
Thomas Vander Stichele
a59215bb4e valgrind unit tests as check-local; add gst_deinit
Original commit message from CVS:
valgrind unit tests as check-local; add gst_deinit
2005-07-11 15:10:40 +00:00
Thomas Vander Stichele
aff85422dc add num-buffers property to basesrc
Original commit message from CVS:
add num-buffers property to basesrc
2005-07-11 15:06:27 +00:00
Thomas Vander Stichele
82596fea62 more macro splitting
Original commit message from CVS:
more macro splitting
2005-07-10 12:03:13 +00:00
Thomas Vander Stichele
3127459e22 gst/gstelement.c: add debug
Original commit message from CVS:

* gst/gstelement.c: (gst_element_get_bus):
add debug
* tools/gst-launch.c: (check_intr), (event_loop):
fix bus leaks
2005-07-10 00:07:51 +00:00
Thomas Vander Stichele
7d8c811095 fix caps leak in both cases
Original commit message from CVS:
fix caps leak in both cases
2005-07-09 23:52:07 +00:00
Thomas Vander Stichele
351230b554 duh, remove unused var
Original commit message from CVS:
duh, remove unused var
2005-07-09 23:48:45 +00:00
Thomas Vander Stichele
84caeeb557 fix a caps leak
Original commit message from CVS:
fix a caps leak
2005-07-09 23:47:23 +00:00
Thomas Vander Stichele
51bfa5c30b gst/base/gstbasesrc.c: add finalize method and clean up properly
Original commit message from CVS:

* gst/base/gstbasesrc.c: (gst_base_src_class_init),
(gst_base_src_finalize):
add finalize method and clean up properly
* gst/gstpipeline.c: (gst_pipeline_dispose):
add debug
2005-07-09 23:33:24 +00:00
Thomas Vander Stichele
3f768e81e7 don't get src for all messages; only for eos
Original commit message from CVS:
don't get src for all messages; only for eos
2005-07-09 23:15:27 +00:00
Thomas Vander Stichele
fe31300609 check/gst/gstbin.c: add more things to check
Original commit message from CVS:

* check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
(gst_bin_suite):
add more things to check
* gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
* gst/gstelement.c:
more debug
2005-07-09 22:54:28 +00:00
Thomas Vander Stichele
48464956ca check/gst/gstbin.c: add test for state change message on a bin
Original commit message from CVS:

* check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
add test for state change message on a bin
* check/gst/gstelement.c: (START_TEST), (gst_element_suite):
add another test
* gst/gstbin.c: (gst_bin_init):
* gst/gstbus.c: (gst_bus_init), (gst_bus_post):
* gst/gstelement.c: (gst_element_post_message),
(gst_element_set_state):
* gst/gstelementfactory.c: (gst_element_factory_create):
* gst/gstmessage.c: (gst_message_new):
* gst/gstscheduler.c:
various debugging additions and cleanups
2005-07-09 15:18:53 +00:00
Thomas Vander Stichele
240c8e10cf adding tests for elements
Original commit message from CVS:
adding tests for elements
2005-07-08 16:41:45 +00:00
Thomas Vander Stichele
f3d8a28662 gst/registries/gstlibxmlregistry.c: plug more leaks. A simple gst_init() now is leakfree, yay.
Original commit message from CVS:

* gst/registries/gstlibxmlregistry.c: (load_feature):
plug more leaks.  A simple gst_init() now is leakfree, yay.
2005-07-08 16:16:29 +00:00
Thomas Vander Stichele
c527fd8dad plug another memleak in registry loading - I have NO idea why this was returning a GstPlugin
Original commit message from CVS:
plug another memleak in registry loading - I have NO idea why this was returning a GstPlugin
2005-07-08 16:08:16 +00:00
Thomas Vander Stichele
34445bec34 I need to learn to stop doing this
Original commit message from CVS:
I need to learn to stop doing this
2005-07-08 14:50:44 +00:00
Thomas Vander Stichele
f627c78fa6 configure.ac: make GST_ERROR_CFLAGS overridable and re-enable Werror
Original commit message from CVS:
* configure.ac:
make GST_ERROR_CFLAGS overridable and re-enable Werror
* docs/faq/cvs.xml:
add a note about error CFLAGS
* docs/gst/tmpl/gstfakesrc.sgml:
* gst/elements/gstfakesrc.c:
comment out some unused code
* gst/gst.c: (split_and_iterate):
* gst/registries/gstlibxmlregistry.c: (load_pad_template),
(load_feature):
plug some memleaks
2005-07-08 14:01:31 +00:00
Wim Taymans
adf701a8cc gst/schedulers/threadscheduler.c: Unlock the STREAM_LOCK completely.
Original commit message from CVS:
* gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
(gst_thread_scheduler_dispose):
Unlock the STREAM_LOCK completely.
2005-07-07 14:01:47 +00:00
Thomas Vander Stichele
48cef19743 adding an element test
Original commit message from CVS:
adding an element test
2005-07-07 11:59:37 +00:00
Andy Wingo
a1457cff29 gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating debug message.
Original commit message from CVS:
2005-07-07  Andy Wingo  <wingo@pobox.com>

* gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
debug message.
2005-07-07 11:09:32 +00:00
Wim Taymans
b9880f8a26 gst/gstquery.*: Remove old types
Original commit message from CVS:
* gst/gstquery.c:
* gst/gstquery.h:
Remove old types
2005-07-07 08:43:17 +00:00
Wim Taymans
c985c341ab gst/base/gstbasesrc.c: Allow subclasses to implement their own negotiation.
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_get_range),
(gst_base_src_default_negotiate), (gst_base_src_negotiate):
Allow subclasses to implement their own negotiation.
2005-07-07 08:16:54 +00:00
Jan Schmidt
ba5cecf321 examples/: Update a couple of the examples to work again.
Original commit message from CVS:
* examples/Makefile.am:
* examples/helloworld/helloworld.c: (event_loop), (main):
* examples/queue/queue.c: (event_loop), (main):
* examples/queue2/queue2.c: (main):
Update a couple of the examples to work again.

* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
(gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
Spelling corrections and extra debug.

* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
(gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
(gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
* gst/gstbin.h:
* gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
(gst_pipeline_change_state):
* gst/gstpipeline.h:
Move the bus handler for children to the GstBin, and create a
separate bus for receiving messages from children to the one the
bus sends 'upwards' on.
2005-07-06 16:22:47 +00:00
Wim Taymans
03aa950f7d gst/base/: Make basesrc negotiate.
Original commit message from CVS:
* gst/base/README:
* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
(gst_base_sink_handle_object), (gst_base_sink_loop),
(gst_base_sink_change_state):
* gst/base/gstbasesink.h:
* gst/base/gstbasesrc.c: (gst_base_src_class_init),
(gst_base_src_init), (gst_base_src_setcaps),
(gst_base_src_getcaps), (gst_base_src_loop),
(gst_base_src_default_negotiate), (gst_base_src_negotiate),
(gst_base_src_start), (gst_base_src_change_state):
* gst/base/gstbasesrc.h:
Make basesrc negotiate.
Handle the case where preroll fails in basesink.
Update README.
2005-07-06 13:25:26 +00:00
Wim Taymans
7ce828ba3a gst/gstpad.c: Implement the fixate function.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
Implement the fixate function.
Clean up acceptcaps.
2005-07-06 13:20:47 +00:00
Thomas Vander Stichele
b9f6a4d4ee if pad has no parent, return NULL as list of internal links
Original commit message from CVS:

* check/gst/gstpad.c:
* check/gstcheck.c:
* gst/gstpad.c: (gst_pad_get_internal_links_default):
if pad has no parent, return NULL as list of internal links
2005-07-06 11:31:57 +00:00
Andy Wingo
0675bff0fc gst/: s/BASESRC/BASE_SRC/g.
Original commit message from CVS:
2005-07-05  Andy Wingo  <wingo@pobox.com>

* gst/elements/gstfilesrc.c:
* gst/elements/gstfakesrc.c:
* gst/base/gstpushsrc.c:
* gst/base/gstbasesrc.h:
* gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
2005-07-05 16:38:13 +00:00
Andy Wingo
82a5239bfe gst/elements, testsuite: Null if we got it...
Original commit message from CVS:
2005-07-05  Andy Wingo  <wingo@pobox.com>

* gst/elements, testsuite: Null if we got it...
2005-07-05 10:58:21 +00:00
Andy Wingo
fd980b9f72 gst/base/gstbasetransform.c (gst_base_transform_setcaps): Default to returning TRUE for the case when tranform_caps r...
Original commit message from CVS:
2005-07-05  Andy Wingo  <wingo@pobox.com>

* gst/base/gstbasetransform.c (gst_base_transform_setcaps):
Default to returning TRUE for the case when tranform_caps returns
a fixed caps, like for identity or volume.
2005-07-05 09:35:22 +00:00
Andy Wingo
83a7075f8a check/: Application message API change.
Original commit message from CVS:
2005-07-05  Andy Wingo  <wingo@pobox.com>

* check/gst/gstbus.c (pound_bus_with_messages):
* check/gst/gstmessage.c (START_TEST):
* check/pipelines/simple_launch_lines.c (got_handoff): Application
message API change.

* gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
logic weaks here: always run transform_caps, trying passthrough
operation only if the original caps intersects with the transform.

* gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
source and sink caps.

* gst/base/gstbasetransform.c (gst_base_transform_getcaps):
Intersect the peer caps with the pad template before going into
transform_caps.
(gst_base_transform_transform_caps): More debugging.

* gst/gstmessage.h (gst_message_new_application): Take a GstObject
src argument.
2005-07-05 08:47:40 +00:00
Edward Hervey
e3141fc8f5 gst/gstutils.*: now returns the signal id for better wrapping in bindings.
Original commit message from CVS:
* gst/gstutils.c:
* gst/gstutils.h:
(gst_pad_add_*_probe): now returns the signal id for better wrapping
in bindings.
2005-07-04 15:08:30 +00:00
Andy Wingo
c1d34b8acf tests/network-clock.scm: Commentary update.
Original commit message from CVS:
2005-07-01  Andy Wingo  <wingo@pobox.com>

* tests/network-clock.scm: Commentary update.

* gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
Didn't really make sense, not implementable with basetransform,
etc.
(gst_identity_transform): Unref inbuf via make_writable. Feeble
attempt at implementing the sync property, needs an unlock method.

* gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
New func, by default returns the same caps (the identity
transformation).
(gst_base_transform_getcaps): Uses transform_caps to return
something sensible.
(gst_base_transform_setcaps): Complicated logic to get caps on
both pads, even if they are different, and to call set_caps once
for every time both pads get their caps set.
(gst_base_transform_handle_buffer): Give the ref to the transform
function. Allows in-place modification of the buffer.

* gst/base/gstbasetransform.h (transform_caps): New class method.
Given caps on one side, what can I do on the other.
(set_caps): Take two caps, one for each side of the element.

* gst/gstpad.h:
* gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
caps in place. This is safe because we can check the mutability of
the caps, and a good idea because fixate functions are just called
as a matter of last resort. (Not actually implemented.)
(gst_pad_set_caps): If the caps we're setting is actually the same
as the existing pad caps, just update the pointer without calling
setcaps. Assert that caps is either NULL or fixed, as per the
docs.

* gst/gstghostpad.c: Update for fixate changes.
2005-07-01 16:46:59 +00:00
Jan Schmidt
e762446852 gst/gstpad.c: Put the mini_object into GValue as a mini_object, not a gpointer.
Original commit message from CVS:
2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>

* gst/gstpad.c: (gst_pad_emit_have_data_signal):
Put the mini_object into GValue as a mini_object,
not a gpointer.
2005-07-01 14:36:12 +00:00
Thomas Vander Stichele
4507397788 debug disable fixes
Original commit message from CVS:
debug disable fixes
2005-06-30 12:26:26 +00:00
Wim Taymans
4dd878f93b Added CHANGES-0.9 doc, updated status of other docs.
Original commit message from CVS:
* CHANGES-0.9:
* docs/design/draft-ghostpads.txt:
* docs/design/draft-push-pull.txt:
* docs/design/draft-query.txt:
* docs/design/part-TODO.txt:
* docs/design/part-query.txt:
Added CHANGES-0.9 doc, updated status of other docs.

* gst/gstquery.h:
Remove "hmm" macro
2005-06-30 12:18:19 +00:00
Wim Taymans
6a6a717235 gst/base/gstbasesink.*: Some tweaks, only EOS and a buffer complete a preroll.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
(gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
(gst_base_sink_change_state):
* gst/base/gstbasesink.h:
Some tweaks, only EOS and a buffer complete a preroll.
2005-06-30 12:14:47 +00:00
Andy Wingo
6da6bc4530 gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy activate_push down to the internal pad as well.
Original commit message from CVS:
2005-06-30  Andy Wingo  <wingo@pobox.com>

* gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
activate_push down to the internal pad as well.
2005-06-30 11:39:34 +00:00
Ronald S. Bultje
6c8dc39ee4 gst/gsttaginterface.c: Some documentation fixes (#307394 and #307397).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/gsttaginterface.c:
Some documentation fixes (#307394 and #307397).
2005-06-30 10:59:34 +00:00
Ronald S. Bultje
f05cd57bf2 gst/gstvalue.c: Fix memleak (#309125).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/gstvalue.c: (gst_value_intersect_list):
Fix memleak (#309125).
2005-06-30 10:10:00 +00:00
Wim Taymans
a578cfd009 gst/gstbin.c: Lame attempt at making the state change function a bit more readable.
Original commit message from CVS:
* gst/gstbin.c: (clear_queue), (remove_all_from_queue),
(gst_bin_change_state):
Lame attempt at making the state change function a bit
more readable.
2005-06-30 09:41:15 +00:00
Wim Taymans
092745b46d gst/: Removed atomic operations, use existing LOCK.
Original commit message from CVS:
* gst/gstpad.c: (_gst_do_pass_data_accumulator),
(default_have_data), (gst_pad_class_init), (gst_pad_init),
(gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
(gst_pad_check_pull_range), (gst_pad_get_range),
(gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
* gst/gstpad.h:
* gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
(gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
(gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
(gst_pad_remove_buffer_probe):
Removed atomic operations, use existing LOCK.
Move exception handling out of main code path.
2005-06-30 09:23:54 +00:00
Ronald S. Bultje
a220106c57 gst/gstpad.c: Fix accumulator, add default value by using _emitv() instead of _emit() for signal emission.
Original commit message from CVS:
* gst/gstpad.c: (_gst_do_pass_data_accumulator),
(silly_return_true_function), (gst_pad_class_init),
(gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
(gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
(gst_pad_send_event):
Fix accumulator, add default value by using _emitv() instead
of _emit() for signal emission.
2005-06-29 19:20:07 +00:00
Ronald S. Bultje
af3acddad9 Add probe example.
Original commit message from CVS:
* docs/manual/advanced-dataaccess.xml:
* examples/manual/Makefile.am:
Add probe example.
* gst/gstpad.c: (_gst_do_pass_data_accumulator):
Make work (??).
2005-06-29 16:57:59 +00:00
Thomas Vander Stichele
faf3c9d652 fix for ppc, hopefully
Original commit message from CVS:
fix for ppc, hopefully
2005-06-29 16:45:58 +00:00
Tim-Philipp Müller
38565eafdb gst/elements/gstfilesink.c: Simplify code so that we don't have to handle short writes and return GST_FLOW_ERROR if a...
Original commit message from CVS:
* gst/elements/gstfilesink.c: (gst_filesink_render):
Simplify code so that we don't have to handle short
writes and return GST_FLOW_ERROR if an error occured.
2005-06-29 16:11:12 +00:00
Ronald S. Bultje
d13478b357 Remove old probes, add new g-signal-based probes and some utility functions.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/gstpad.sgml:
* docs/gst/tmpl/gstprobe.sgml:
* gst/Makefile.am:
* gst/gstpad.c: (_gst_do_pass_data_accumulator),
(gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
(gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
(gst_pad_push_event), (gst_pad_send_event):
* gst/gstpad.h:
* gst/gstutils.c: (gst_pad_add_data_probe),
(gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
(gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
(gst_pad_remove_buffer_probe):
* gst/gstutils.h:
Remove old probes, add new g-signal-based probes and some utility
functions.
2005-06-29 15:51:25 +00:00
Edward Hervey
6aa149a930 gst/: Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added the definition to the header file.
Original commit message from CVS:
* gst/gstelementfactory.c:
* gst/gstutils.h:
* gst/gstutils.c:
Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
the definition to the header file.
2005-06-29 15:17:25 +00:00
Thomas Vander Stichele
80717cb5d1 logic was reversed, duh
Original commit message from CVS:
logic was reversed, duh
2005-06-29 12:40:39 +00:00
Thomas Vander Stichele
a30e9069d1 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will only scan the GST_PLUGIN_PATH locations, and not add system...
Original commit message from CVS:

* check/Makefile.am:
* gst/gst.c: (add_path_func), (init_pre):
* gst/gstregistry.c: (gst_registry_add_path):
add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
only scan the GST_PLUGIN_PATH locations, and not add
system locations
2005-06-29 12:25:05 +00:00
Thomas Vander Stichele
bd728f0b2c doc fixes
Original commit message from CVS:
doc fixes
2005-06-29 12:23:35 +00:00
Wim Taymans
06ab4b7831 gst/base/gstbasesink.c: Small debug line.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_change_state):
Small debug line.

* gst/gstclock.h:
map SIGNAL and BROADCAST to the right function.

* gst/gstobject.h:
Remove redundant braces.

* gst/gstpad.c: (gst_pad_set_caps):
Don't call setcaps function when reseting caps to NULL.

* gst/gstsystemclock.c: (gst_system_clock_dispose),
(gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
(gst_system_clock_id_unschedule):
Use BROADCAST as this is what we do.
2005-06-29 11:10:44 +00:00
Wim Taymans
a34bc0bd60 gst/base/gstbasesink.c: We are actually prerolling before commiting the state change.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_handle_object):
We are actually prerolling before commiting the state
change.
2005-06-29 10:24:08 +00:00
Wim Taymans
bd72354e9a gst/gstbus.c: Add debugging messages.
Original commit message from CVS:
* gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
(gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
(gst_bus_source_dispatch):
Add debugging messages.
Make internal methods static.
Handle the case where the bus is flushed in the handler.

* gst/gstelement.c: (gst_element_get_bus):
Fix refcount in _get_bus();

* gst/gstpipeline.c: (gst_pipeline_change_state),
(gst_pipeline_get_clock_func):
Clock refcounting fixes.
Handle the case where preroll timed out more gracefully.

* gst/gstsystemclock.c: (gst_system_clock_dispose):
Clean up the internal thread in dispose. This is needed
for subclasses that actually get disposed.

* gst/schedulers/threadscheduler.c:
(gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
(gst_thread_scheduler_dispose):
Free thread pool in dispose.
2005-06-28 19:45:26 +00:00
Wim Taymans
d0616cd459 gst/gstghostpad.c: Correctly proxy the check_pull_range function.
Original commit message from CVS:
* gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
(gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
(gst_proxy_pad_do_fixatecaps):
Correctly proxy the check_pull_range function.
2005-06-28 13:40:12 +00:00
Thomas Vander Stichele
e65ae0c3c8 fix fake elements too
Original commit message from CVS:
fix fake elements too
2005-06-28 12:45:21 +00:00
Thomas Vander Stichele
f0e5bb0a33 did s/bases(rc/ink)_/base_s(rc/ink)_/; wim wants to remove base completely, but that's for later
Original commit message from CVS:
did s/bases(rc/ink)_/base_s(rc/ink)_/; wim wants to remove base completely, but that's for later
2005-06-28 12:01:49 +00:00
Wim Taymans
de3be844ec gst/: The deprecated pad loop function is removed now.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
(gst_basesink_preroll_queue_flush):
* gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
* gst/elements/gsttee.c: (gst_tee_update_pad_functions):
* gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
(gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
(gst_proxy_pad_set_property):
* gst/gstpad.c:
* gst/gstpad.h:
* gst/gstqueue.c: (gst_queue_init):
The deprecated pad loop function is removed now.
2005-06-28 11:36:43 +00:00
Wim Taymans
7dc174d140 gst/base/gstbasesink.c: Flushing the preroll queue always needs to unlock the waiters.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
(gst_basesink_event), (gst_basesink_deactivate):
Flushing the preroll queue always needs to unlock the waiters.
2005-06-28 11:02:18 +00:00
Edward Hervey
2e75d2ae7e gst/gstpipeline.c: Wheen a seek was successful on a pipeline, set the stream_time to the seek offset in order to have...
Original commit message from CVS:
* gst/gstpipeline.c: (gst_pipeline_send_event):
Wheen a seek was successful on a pipeline, set the stream_time to the
seek offset in order to have a synchronized stream_time.
2005-06-28 10:45:48 +00:00
Wim Taymans
57d529de3a gst/gstghostpad.c: Call wrapper function instead of just calling the function pointers. This takes care of any lockin...
Original commit message from CVS:
* gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
(gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
(gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
(gst_proxy_pad_do_fixatecaps):
Call wrapper function instead of just calling the function
pointers. This takes care of any locking and whatmore.
2005-06-28 10:37:24 +00:00
Wim Taymans
9a6500143f gst/gstpad.*: CONNECTED -> LINKED.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
(gst_pad_pull_range):
* gst/gstpad.h:
CONNECTED -> LINKED.
2005-06-28 10:28:31 +00:00
Andy Wingo
f8e79bdf86 *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large source-munging commit!!!
Original commit message from CVS:
2005-06-28  Andy Wingo  <wingo@pobox.com>

* *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
source-munging commit!!!
2005-06-28 09:59:01 +00:00
Andy Wingo
5016035bc6 gst/gstobject.c (gst_object_unref, gst_object_ref)
Original commit message from CVS:
2005-06-28  Andy Wingo  <wingo@pobox.com>

* gst/gstobject.c (gst_object_unref, gst_object_ref)
(gst_object_sink): Take gpointer arguments, not GstObject --
avoids casts. Like GLib.
2005-06-28 09:17:14 +00:00
Andy Wingo
1b02b1d741 gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy activate.
Original commit message from CVS:
2005-06-28  Andy Wingo  <wingo@pobox.com>

* gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
activate.
2005-06-28 08:41:43 +00:00
Andy Wingo
7fda2039b3 shut up gcc3
Original commit message from CVS:
shut up gcc3
2005-06-27 18:39:41 +00:00
Andy Wingo
f2cf753b17 gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any remaining buffer.
Original commit message from CVS:
2005-06-27  Andy Wingo  <wingo@pobox.com>

* gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
remaining buffer.

* gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
returns a sorted copy of the trace list.
(gst_alloc_trace_print_live): New API, only prints traces with
live objects. Sort the list.
(gst_alloc_trace_print_all): Sort the list.
(gst_alloc_trace_print): Align columns.

* gst/elements/gstttypefindelement.c:
* gst/elements/gsttee.c:
* gst/base/gstbasesrc.c:
* gst/base/gstbasesink.c:
* gst/base/gstbasetransform.c:
* gst/gstqueue.c: Adapt for pad activation changes.

* gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
sched.
(gst_pipeline_dispose): Drop ref on sched.

* gst/gstpad.c (gst_pad_init): Set the default activate func.
(gst_pad_activate_default): Push mode by default.
(pre_activate_switch, post_activate_switch): New stubs, things to
do before and after switching activation modes on pads.
(gst_pad_set_active): Take a boolean and not a mode, dispatch to
the pad's activate function to choose which mode to activate.
Shortcut on deactivation and call the right function directly.
(gst_pad_activate_pull): New API, (de)activates a pad in pull
mode.
(gst_pad_activate_push): New API, same for push mode.
(gst_pad_set_activate_function)
(gst_pad_set_activatepull_function)
(gst_pad_set_activatepush_function): Setters for new API.

* gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
Trace all miniobjects.
(gst_mini_object_make_writable): Unref the arg if we copy, like
gst_caps_make_writable.

* gst/gstmessage.c (_gst_message_initialize): No trace init.

* gst/gstghostpad.c (gst_proxy_pad_do_activate)
(gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
Adapt for new pad API.

* gst/gstevent.c (_gst_event_initialize): Don't initialize trace.

* gst/gstelement.h:
* gst/gstelement.c (gst_element_iterate_src_pads)
(gst_element_iterate_sink_pads): New API functions.

* gst/gstelement.c (iterator_fold_with_resync): New utility,
should fold into gstiterator.c in some form.
(gst_element_pads_activate): Simplified via use of fold and
delegation of decisions to gstpad->activate.

* gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
help in debugging.

* gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
class once in init, like gstmessage. Didn't run into this issue
but it seems correct. Don't initialize a trace, gstminiobject does
that.

* check/pipelines/simple_launch_lines.c (test_stop_from_app): New
test, runs fakesrc ! fakesink, stopping on ::handoff via a message
to the bus.
(assert_live_count): New util function, uses alloc traces to check
cleanup.

* check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
To be modified when unlink drops the internal pad.
2005-06-27 18:35:05 +00:00
Wim Taymans
adbd17c378 gst/gstbin.c: Cleanup the get_state() function a little, make sure it iterates the same set of elements.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
(gst_bin_change_state):
Cleanup the get_state() function a little, make sure it
iterates the same set of elements.
Added stub iterate_state_order().
2005-06-27 18:11:24 +00:00
Thomas Vander Stichele
0b44c713a7 adding basetransform and iterator docs
Original commit message from CVS:
adding basetransform and iterator docs
2005-06-27 14:40:09 +00:00
Thomas Vander Stichele
012d4ec9de more doc and whitespace fixes
Original commit message from CVS:
more doc and whitespace fixes
2005-06-27 08:16:51 +00:00
Wim Taymans
2d63826a90 gst/gstghostpad.c: At least get the chain function correct, needs more fixing.
Original commit message from CVS:
* gst/gstghostpad.c: (gst_proxy_pad_do_chain):
At least get the chain function correct, needs more
fixing.
2005-06-25 19:53:02 +00:00
Wim Taymans
97194517fe gst/: Right, two problems here: ghostpads don't take locks and glib _rec_mutex_lock_full() with depth==0 still locks.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
(gst_basesink_handle_object), (gst_basesink_event),
(gst_basesink_do_sync), (gst_basesink_handle_event),
(gst_basesink_change_state):
* gst/gsttask.h:
Right, two problems here: ghostpads don't take locks and
glib _rec_mutex_lock_full() with depth==0 still locks.
Catch illegal locking and g_warn them.
2005-06-25 19:37:59 +00:00
Wim Taymans
613dc3d631 gst/: Unlock STREAM_LOCK whatever the recursion was.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
(gst_basesink_handle_object), (gst_basesink_event),
(gst_basesink_do_sync), (gst_basesink_handle_event),
(gst_basesink_change_state):
* gst/gstpad.h:
Unlock STREAM_LOCK whatever the recursion was.
2005-06-25 19:09:28 +00:00
Wim Taymans
8303454db7 gst/base/gstbasesink.c: Reworked the base sink, handle event and buffer serialisation correctly and removed possible ...
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_set_property),
(gst_basesink_preroll_queue_empty),
(gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
(gst_basesink_event), (gst_basesink_do_sync),
(gst_basesink_handle_event), (gst_basesink_handle_buffer),
(gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
(gst_basesink_change_state):
Reworked the base sink, handle event and buffer serialisation
correctly and removed possible deadlock.
Handle EOS correctly.
2005-06-25 17:54:58 +00:00
Wim Taymans
4e9438da9f Allow elements to post EOS in the state change function.
Original commit message from CVS:
* gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
(gst_pipeline_change_state):
* tools/gst-launch.c: (check_intr), (event_loop), (main):
Allow elements to post EOS in the state change function.
Fix up -launch, make it exit the poll loop when the
pipeline actually changed state.
Fix up warning parsing in -launch.
2005-06-25 17:51:12 +00:00
Wim Taymans
f4f2cadeb5 gst/elements/gsttee.c: Core takes STREAM_LOCK for us now.
Original commit message from CVS:
* gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
(gst_tee_sink_activate):
Core takes STREAM_LOCK for us now.
2005-06-25 17:44:39 +00:00
Wim Taymans
2169b1a5d8 gst/: Keep track of current target state while performing a state change so that subclasses can do something interest...
Original commit message from CVS:
* gst/gstelement.c: (gst_element_get_state_func),
(gst_element_set_state):
* gst/gstelement.h:
* gst/gstmessage.c: (gst_message_parse_error),
(gst_message_parse_warning):
Keep track of current target state while performing a state
change so that subclasses can do something interesting.
Fix parsing of warning/error messages when GError is NULL.
2005-06-25 17:42:17 +00:00
Thomas Vander Stichele
87d6d3143b start pulling in base classes and elements for docs
Original commit message from CVS:
start pulling in base classes and elements for docs
2005-06-24 18:16:14 +00:00
Wim Taymans
52a445a41d gst/gstelement.c: When the state did not change, also report NO_PREROLL when it matters.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_get_state_func),
(gst_element_set_state), (gst_element_change_state):
When the state did not change, also report NO_PREROLL
when it matters.
2005-06-23 17:11:49 +00:00
Wim Taymans
d56ab76d57 gst/: No unsafe task pausing please.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_event_default):
* gst/gstqueue.c: (gst_queue_loop):
No unsafe task pausing please.
2005-06-23 17:09:21 +00:00
Wim Taymans
830a0368b4 gst/schedulers/threadscheduler.c: Ref the task before pushing it on the threadpool. This makes sure that we have a re...
Original commit message from CVS:
* gst/schedulers/threadscheduler.c:
(gst_thread_scheduler_task_start),
(gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
Ref the task before pushing it on the threadpool. This
makes sure that we have a ref when the threadfunction is
actually called.
2005-06-23 17:07:08 +00:00
Andy Wingo
09ab1d8fb2 gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the offset is greater than the file's size.
Original commit message from CVS:
2005-06-23  Andy Wingo  <wingo@pobox.com>

* gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
offset is greater than the file's size.
2005-06-23 15:26:09 +00:00
Andy Wingo
cc2d216e88 gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
Original commit message from CVS:
2005-06-23  Andy Wingo  <wingo@pobox.com>

* gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
(GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
* gst/gstobject.c (gst_object_class_init): Make the class lock
recursive. Wim won't let me drop deep_notify. Decodebin works
again, whoopdy doo.
2005-06-23 15:04:48 +00:00
Andy Wingo
57bfdb30e4 gst/gstghostpad.c (on_int_notify): Catches notify::caps on the internal pad, and hacks accordingly. Doesn't do it on ...
Original commit message from CVS:
2005-06-23  Andy Wingo  <wingo@pobox.com>

* gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
internal pad, and hacks accordingly. Doesn't do it on the target
pad because we change its caps. Probably catches all cases of
interest tho.
(gst_ghost_pad_set_property): Connect to notify::caps as
appropritate.
2005-06-23 14:18:15 +00:00
Jan Schmidt
8bd306b791 gst/elements/gsttypefindelement.c: Don't restart typefinding on a discont.
Original commit message from CVS:
2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>

* gst/elements/gsttypefindelement.c:
(gst_type_find_element_handle_event):
Don't restart typefinding on a discont.
* gst/gstelement.c: (gst_element_set_state):
Debug spelling fix.
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
Allow changing mode of an active pad.
Debug output fixes.
* gst/registries/gstlibxmlregistry.c: (load_feature):
Don't cast a static pad template to a normal pad template.
2005-06-23 11:43:39 +00:00
Thomas Vander Stichele
e6b233bb4d remove gst_strtoll completely, since it didn't actually do anything more than what g_ascii_strtoull already does.
Original commit message from CVS:
* check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
* gst/gstvalue.c: (gst_value_deserialize_int_helper):
remove gst_strtoll completely, since it didn't actually do
anything more than what g_ascii_strtoull already does.
check for range errors when deserializing
do a cast for the unsigned cases; but further fixing needs
a decision on what the interpretation of "(int)" and
deserialization should be for values that fall outside the
type's boundaries (ie, refuse, or interpret as casting)
2005-06-23 11:25:29 +00:00
Wim Taymans
1cda8197e9 Added support for live sources and other elements that cannot do preroll.
Original commit message from CVS:
Added support for live sources and other elements that
cannot do preroll.
Updated design docs, added live-source design doc.
Implemented live source functionality in basesrc
Fix error condition in _bin_get_state()
Implement live source handling in -launch.
Added check for live sources.
Fixed case in GstBin where elements were changed state
multiple times.
2005-06-23 10:37:09 +00:00
Andy Wingo
678bb923f1 commit the file
Original commit message from CVS:
commit the file
2005-06-23 09:41:41 +00:00
Andy Wingo
ee38ed3c9d gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full gst_pad_set_caps on the target, not just its setcaps() fu...
Original commit message from CVS:
2005-06-23  Andy Wingo  <wingo@pobox.com>

* gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
gst_pad_set_caps on the target, not just its setcaps() function.
2005-06-23 09:28:27 +00:00
Thomas Vander Stichele
c3efeeb64c check/: copy over from 0.8, and add two with bitmasks specified with (int) 0xFF...
Original commit message from CVS:
* check/Makefile.am:
* check/gst/capslist.h:
copy over from 0.8, and add two with bitmasks specified with
(int) 0xFF...
* check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
add test to parse everything from capslist.h
* check/gst/gststructure.c: (START_TEST), (gst_value_suite),
(main):
add test for structure deserialization
* check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
add tests for deserialization of strings to int types
* gst/gststructure.c: (gst_structure_nth_field_name):
* gst/gststructure.h:
add a way to get the name of a field referenced by index
* gst/gstvalue.c: (gst_value_deserialize_int_helper):
instead of checking if the resulting long long lies between
min and max, we check if the long long would fit into
a number of bytes for the final type.
This fixes cases where a string represents 2^32 - 1, which
when cast to int would be the (valid) -1, but is bigger than
G_MAXINT
2005-06-22 19:22:34 +00:00
Thomas Vander Stichele
8952d2c571 add a log line for type deserialization
Original commit message from CVS:
add a log line for type deserialization
2005-06-22 11:02:57 +00:00
Thomas Vander Stichele
bdc643ddb9 return long long, not int, so gint64 deserialization actually works. Is there any flag that makes the compiler check...
Original commit message from CVS:

* check/gst/gstvalue.c: (START_TEST):
* gst/gstvalue.c: (gst_value_deserialize):
return long long, not int, so gint64 deserialization actually
works.  Is there any flag that makes the compiler check this ?
Fixes #308559
2005-06-22 10:52:18 +00:00
Wim Taymans
202c113397 gst/gstbuffer.h: Added convenience macros for setting buffers in GValue.
Original commit message from CVS:
* gst/gstbuffer.h:
Added convenience macros for setting buffers in GValue.
2005-06-22 09:55:16 +00:00
Wim Taymans
5d66b9af57 gst/gstpad.c: Small doc updates.
Original commit message from CVS:
* gst/gstpad.c:
Small doc updates.

* gst/gstvalue.c: (gst_value_compare_buffer),
(gst_value_serialize_buffer), (gst_value_deserialize_buffer),
(gst_value_compare_flags), (gst_value_serialize_flags),
(gst_value_deserialize_flags), (_gst_value_initialize):
Fix serialisation of buffers, they are not boxed types anymore
2005-06-20 15:18:17 +00:00
Andy Wingo
3468457954 gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock if its socks fill with rocks.
Original commit message from CVS:
2005-06-20  Andy Wingo  <wingo@pobox.com>

* gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
if its socks fill with rocks.
(gst_system_clock_obtain): Set the name on object construction.
Avoid double-checked locking.
2005-06-20 11:41:17 +00:00
Tim-Philipp Müller
5910c2f938 gst/gsturi.c: Fix potential endless loop.
Original commit message from CVS:
* gst/gsturi.c: (gst_element_make_from_uri):
Fix potential endless loop.
2005-06-20 11:32:14 +00:00
Thomas Vander Stichele
d10d12dbcb check/Makefile.am: add gsttag
Original commit message from CVS:

* check/Makefile.am:
add gsttag
* check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
(main):
move over from testsuite dir and clean up
* configure.ac:
* gst/gsttag.c:
* testsuite/Makefile.am:
* testsuite/tags/.cvsignore:
* testsuite/tags/Makefile.am:
* testsuite/tags/merge.c:
remove testsuite/tags
2005-06-19 11:32:42 +00:00
Thomas Vander Stichele
0944ac134b some more docs cleanup
Original commit message from CVS:
some more docs cleanup
2005-06-19 10:54:12 +00:00
Thomas Vander Stichele
4ae0c46b63 check/gstcheck.h: add macros for checking refcounts on objects and caps
Original commit message from CVS:

* check/gstcheck.h:
add macros for checking refcounts on objects and caps
* check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
add some more unit tests
* gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
(gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
fix leaked refcounts (I hope :)) so unittest works
* gst/gstpad.h:
whitespace removal
2005-06-19 00:52:31 +00:00
Andy Wingo
355499790b gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus assert; it's always possible that the pad gets deactivated ...
Original commit message from CVS:
2005-06-17  Andy Wingo  <wingo@pobox.com>

* gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
assert; it's always possible that the pad gets deactivated in
between the checks in gstpad.c and the implementation. Rely on
finish_preroll() to return a FLUSHING or similar instead of on the
assert.
2005-06-17 11:58:48 +00:00
Andy Wingo
d47ea57975 gst/base/gstbasesink.c (gst_basesink_event): Only wait for the clock and post an EOS message if we come out of finish...
Original commit message from CVS:
2005-06-17  Andy Wingo  <wingo@pobox.com>

* gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
clock and post an EOS message if we come out of finish_preroll in
the playing state.
2005-06-17 11:33:27 +00:00
Thomas Vander Stichele
d85fc27ecb ignore more
Original commit message from CVS:
ignore more
2005-06-17 09:32:19 +00:00
Thomas Vander Stichele
dd9cc6adb7 ignore more
Original commit message from CVS:
ignore more
2005-06-17 09:12:33 +00:00
Thomas Vander Stichele
8a3824efac ignore more; fix README
Original commit message from CVS:
ignore more; fix README
2005-06-17 08:59:41 +00:00
David Schleef
6dbed89c01 gst/elements/gstcapsfilter.c: Allow NULL as possible value for filter_caps property, indicating GST_CAPS_ANY.
Original commit message from CVS:
* gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
(gst_capsfilter_set_property): Allow NULL as possible value
for filter_caps property, indicating GST_CAPS_ANY.
2005-06-16 17:50:16 +00:00
Thomas Vander Stichele
013b77e072 gst/elements/gstfakesrc.c: fix debug output
Original commit message from CVS:

* gst/elements/gstfakesrc.c: (gst_fakesrc_create):
fix debug output
* gst/schedulers/Makefile.am:
use libgst prefix
* gstreamer.spec.in:
fix spec for it
2005-06-09 13:33:00 +00:00
Andy Wingo
4b908e33e0 gst/gstutils.c: RPAD fixes all around.
Original commit message from CVS:
2005-06-08  Andy Wingo  <wingo@pobox.com>

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

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

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

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

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

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

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

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

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

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

* gst/Makefile.am: Add gstghostpad.[ch].

* check/Makefile.am:
* check/gst/gstbin.c:
* check/gst/gstghostpad.c (test_ghost_pads): Check that linking
into a bin creates ghost pads, and that the refcounts are right.
Partly moved from gstbin.c.
2005-06-08 22:16:27 +00:00
Thomas Vander Stichele
d282f08209 add a 'plugins' dir to the PLUGIN_PATH in the uninstalled script to drop random other plugin-having projects in
Original commit message from CVS:
add a 'plugins' dir to the PLUGIN_PATH in the uninstalled script to drop random other plugin-having projects in
2005-06-08 13:42:52 +00:00
Thomas Vander Stichele
c87c44b07f OBJECT acts on obj not caps
Original commit message from CVS:
OBJECT acts on obj not caps
2005-06-08 13:41:31 +00:00
Thomas Vander Stichele
41a8de905b add a debug line
Original commit message from CVS:
add a debug line
2005-06-08 13:41:05 +00:00
Thomas Vander Stichele
1ffd2bc0ce white space fixes
Original commit message from CVS:
white space fixes
2005-06-08 13:40:46 +00:00
Jan Schmidt
c9f30f98b7 gst/elements/gstcapsfilter.c: Free existing caps if the capsfilter changes. Add a FIXME about setting those caps on t...
Original commit message from CVS:
* gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
Free existing caps if the capsfilter changes. Add a FIXME about
setting those caps on the pads.

* gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
Before adding a ghost pad to a parent bin, check that there isn't
already one for the element on the bin. Prevents infinite recursion
when using decodebin in parse pipelines. Andy says he'll rewrite the
way this works anyway, so ignore the hack.
2005-06-02 15:45:16 +00:00
Andy Wingo
26a1c2c663 gst/elements/gsttypefindelement.c (do_pull_typefind): Query the file size, pass it on to the type find helper.
Original commit message from CVS:
2005-06-02  Andy Wingo  <wingo@pobox.com>

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

* gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
segment_start and segment_end properly according to the seek
method. Segment_end is still a bit flaky because offset can be
negative for CUR and END cases, but it takes -1 as an "unset"
value.
2005-06-02 11:12:34 +00:00
Wim Taymans
d3edbe1718 gst/: Bufferalloc: return GstFlowReturn to more accuratly report why allocation failed.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
(gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
(gst_basesink_activate):
* gst/base/gstbasesink.h:
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
(gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
(gst_pad_query), (gst_pad_start_task):
* gst/gstpad.h:
* gst/gstqueue.c: (gst_queue_bufferalloc),
(gst_queue_handle_sink_event), (gst_queue_chain):
Bufferalloc: return GstFlowReturn to more accuratly report
why allocation failed.
2005-06-02 09:42:02 +00:00
Wim Taymans
5c026ec0db gst/gstpipeline.c: Take snapshot of state without blocking.
Original commit message from CVS:
* gst/gstpipeline.c: (gst_pipeline_send_event):
Take snapshot of state without blocking.
2005-06-02 09:39:21 +00:00
Wim Taymans
fcc76e3d07 gst/elements/gstidentity.c: Protect last_message property as it is accessed from multiple threads.
Original commit message from CVS:
* gst/elements/gstidentity.c: (gst_identity_event),
(gst_identity_transform), (gst_identity_get_property):
Protect last_message property as it is accessed from
multiple threads.
2005-05-30 16:28:41 +00:00
Wim Taymans
8d0a4e1d4f gst/gstelement.c: Slicker pad activation code.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_init),
(gst_element_pads_activate), (gst_element_change_state):
Slicker pad activation code.
2005-05-30 15:53:04 +00:00
Wim Taymans
e1b5b74857 gst/: Move elementfactory methods to separate .h file.
Original commit message from CVS:
* gst/Makefile.am:
* gst/gstelement.h:
* gst/gstelementfactory.h:
* gst/gsttypes.h:
Move elementfactory methods to separate .h file.
2005-05-30 15:51:40 +00:00
Wim Taymans
99d49f2c43 Small typo fixes, doc updates.
Original commit message from CVS:
* docs/design/part-overview.txt:
* gst/gstsystemclock.h:
Small typo fixes, doc updates.
2005-05-30 15:48:45 +00:00
Wim Taymans
248dce3e13 gst/gst.c: Remove cpu-opt flag.
Original commit message from CVS:
* gst/gst.c: (gst_init_get_popt_table), (init_post),
(init_popt_callback):
Remove cpu-opt flag.
2005-05-30 15:46:15 +00:00
Wim Taymans
a86feaf099 gst/gstbuffer.*: Avoid typechecking in places where not needed.
Original commit message from CVS:
* gst/gstbuffer.c: (gst_subbuffer_finalize),
(gst_buffer_create_sub), (gst_buffer_is_span_fast):
* gst/gstbuffer.h:
Avoid typechecking in places where not needed.
Added accessor for malloc_data.
2005-05-30 15:44:50 +00:00
Wim Taymans
0e1ad862de gst/gstpad.c: Propagate errors from _set_caps() in configure_src/sink functions instead of returning TRUE.
Original commit message from CVS:
* gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
(gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
(gst_pad_configure_sink), (gst_pad_configure_src),
(gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
(gst_pad_start_task):
Propagate errors from _set_caps() in configure_src/sink
functions instead of returning TRUE.
FLUSH events can travel up and downstream
2005-05-30 15:41:54 +00:00
Wim Taymans
be66bb03b4 gst/base/gstbasesink.c: Handle EOS in preroll.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
(gst_basesink_activate):
Handle EOS in preroll.
2005-05-30 15:36:09 +00:00
Wim Taymans
148057fa10 gst/gstqueue.c: Remove old pieces of code
Original commit message from CVS:
* gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
(gst_queue_loop), (gst_queue_handle_src_event):
Remove old pieces of code
Flushing the queue in an upstream event is a very bad idea.
2005-05-30 15:34:13 +00:00
Andy Wingo
1457b69cb7 gst/gstminiobject.c (gst_value_mini_object_collect): Use gst_value_set_mini_object so as to add a ref on the object (...
Original commit message from CVS:
2005-05-26  Andy Wingo  <wingo@pobox.com>

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

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

* gst/gstelement.c (gst_element_change_state): Also deactivate
pads in READY->NULL, just in case the element didn't make it to
PAUSED. Wingo tested, Wim approved.
2005-05-27 09:27:35 +00:00
Wim Taymans
61167c9097 gst/gstpad.c: A flushing pad cannot be used to alloc_buffer from.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
(gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
(gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
A flushing pad cannot be used to alloc_buffer from.
2005-05-26 10:50:12 +00:00
Wim Taymans
ea2dd0057c gst/gstbus.*: Implement a real GSource and use g_main_context_wakeup() to signal new messages instead of the socketpair.
Original commit message from CVS:
* gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
(gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
(gst_bus_source_dispatch), (gst_bus_source_finalize),
(gst_bus_create_watch), (gst_bus_add_watch_full):
* gst/gstbus.h:
Implement a real GSource and use g_main_context_wakeup() to
signal new messages instead of the socketpair.
2005-05-26 10:48:53 +00:00
Wim Taymans
56d9730d20 gst/: Fix state changes for non sinks. We now change sinks, then elements with unconnected srcpads, then the rest.
Original commit message from CVS:
* gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
(bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
(gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
(gst_pad_send_event), (gst_pad_start_task):
* gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
(gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
(gst_queue_sink_activate), (gst_queue_src_activate),
(gst_queue_change_state):
* gst/gstqueue.h:
Fix state changes for non sinks. We now change sinks, then elements
with unconnected srcpads, then the rest.
More efficient queue unlocking in flush and state changes.
Set the pad activate mode even if it does not have an activate
function.
2005-05-25 19:33:39 +00:00
Ronald S. Bultje
c6d2acd587 happify buildbot
Original commit message from CVS:
happify buildbot
2005-05-25 16:09:34 +00:00
Ronald S. Bultje
f0ed41684a gst/base/gstbasesrc.c: Don't go in pull mode for non-seekable sources.
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_basesrc_activate):
Don't go in pull mode for non-seekable sources.
* gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
(gst_type_find_element_dispose), (gst_type_find_handle_src_query),
(free_entry), (stop_typefinding),
(gst_type_find_element_handle_event), (find_peek),
(gst_type_find_element_chain), (do_pull_typefind),
(gst_type_find_element_change_state):
Allow typefinding (w/o seeking) in push-mode, simplified version
of what was in 0.8.
* gst/gstutils.c: (gst_buffer_join):
* gst/gstutils.h:
gst_buffer_join() from 0.8.
2005-05-25 15:57:57 +00:00
Wim Taymans
25576cb626 gst/gstpad.c: Disable attempt at mode switching until it is figured out.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
(gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
(gst_pad_send_event), (gst_pad_start_task):
Disable attempt at mode switching until it is figured out.
2005-05-25 13:59:18 +00:00
Wim Taymans
add280cd10 gst/: Implement gst_pad_pause/start/stop_task(), take STREAM lock in task function.
Original commit message from CVS:
* gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
* gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
(gst_basesink_finish_preroll), (gst_basesink_chain),
(gst_basesink_loop), (gst_basesink_activate),
(gst_basesink_change_state):
* gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
(gst_basesrc_get_range), (gst_basesrc_loop),
(gst_basesrc_activate):
* gst/elements/gsttee.c: (gst_tee_sink_activate):
* gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
(gst_real_pad_init), (gst_real_pad_set_property),
(gst_real_pad_get_property), (gst_pad_set_active),
(gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
(gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
(gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
(gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
(gst_pad_event_default_dispatch), (gst_pad_event_default),
(gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
(gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
(gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
(gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
(gst_pad_stop_task):
* gst/gstpad.h:
* gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
(gst_queue_loop), (gst_queue_src_activate):
* gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
(gst_task_get_state):
* gst/gsttask.h:
* gst/schedulers/threadscheduler.c:
(gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
Implement gst_pad_pause/start/stop_task(), take STREAM lock
in task function.
Remove ACTIVE pad flag, use FLUSHING everywhere
Added _pad_chain(), _pad_get_range() to call chain/getrange
functions.
Add locks around IS_FLUSHING when reading.
Take STREAM lock in chain(), get_range() functions so plugins
don't need to take it anymore.
2005-05-25 11:50:11 +00:00
David Schleef
4c9d07cf22 gst/gstminiobject.*: Add GValue set/get functions.
Original commit message from CVS:
* gst/gstminiobject.c: (gst_value_set_mini_object),
(gst_value_take_mini_object), (gst_value_get_mini_object):
* gst/gstminiobject.h: Add GValue set/get functions.
2005-05-19 19:41:12 +00:00
Wim Taymans
fbe9b20d09 gst/: Make subbufer unref the parent in finalize. some more debugging info.
Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
(gst_subbuffer_class_init), (gst_subbuffer_finalize),
(gst_subbuffer_init), (gst_buffer_is_span_fast):
* gst/gstbuffer.h:
* gst/gstbus.c: (gst_bus_post):
* gst/gstelement.c: (gst_element_get_random_pad):
* gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
Make subbufer unref the parent in finalize.
some more debugging info.
2005-05-19 16:26:50 +00:00
Wim Taymans
637c74bdb8 gst/base/gstbasesink.c: Don't free preroll queue too early.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_class_init),
(gst_basesink_init), (gst_basesink_finalize),
(gst_basesink_activate), (gst_basesink_change_state):
Don't free preroll queue too early.
2005-05-19 16:23:04 +00:00
Ronald S. Bultje
1b2ade5361 gst/: Hi, I'm outdated. Please shoot me.
Original commit message from CVS:
* gst/Makefile.am:
* gst/ROADMAP:
Hi, I'm outdated. Please shoot me.
2005-05-19 14:52:16 +00:00
Ronald S. Bultje
9909bf96dc gst/gstpipeline.c: Do not access variables after they have been deleted.
Original commit message from CVS:
* gst/gstpipeline.c: (gst_pipeline_send_event):
Do not access variables after they have been deleted.
2005-05-19 12:07:35 +00:00
Wim Taymans
0dd4810c73 gst/gstbuffer.c: Port _span() functions to new subbuffers.
Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
Port _span() functions to new subbuffers.
2005-05-18 17:35:23 +00:00
Ronald S. Bultje
f704550b84 gst/gstbin.c: Fix clock settery in bins when adding kids after the clock has been selected.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_add_func):
Fix clock settery in bins when adding kids after the clock has
been selected.
2005-05-18 13:49:08 +00:00
Ronald S. Bultje
ca6017610d gst/elements/gstidentity.c: Workaround until signals support GstMiniObject.
Original commit message from CVS:
* gst/elements/gstidentity.c: (gst_identity_class_init):
Workaround until signals support GstMiniObject.
2005-05-18 13:23:24 +00:00
Jan Schmidt
ea9c819e6e gst/gstbuffer.c: Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
Original commit message from CVS:

* gst/gstbuffer.c:
Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
2005-05-18 11:34:45 +00:00
Wim Taymans
8074f6687d gst/base/: Ported and added adapter to the base classes.
Original commit message from CVS:
* gst/base/Makefile.am:
* gst/base/gstadapter.c: (gst_adapter_base_init),
(gst_adapter_class_init), (gst_adapter_init),
(gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
(gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
(gst_adapter_flush), (gst_adapter_available),
(gst_adapter_available_fast):
* gst/base/gstadapter.h:
Ported and added adapter to the base classes.
2005-05-18 09:55:43 +00:00
Thomas Vander Stichele
cb9388c96e gst/: Make sure the class is reffed/unreffed once before threads can be used. Fixes #304551.
Original commit message from CVS:

* gst/gst.c:
* gst/gstmessage.c:
Make sure the class is reffed/unreffed once before threads can be
used.  Fixes #304551.
2005-05-17 17:50:41 +00:00
Wim Taymans
576b2181d8 gst/: Don't queue buffers in basesink when we are flushing.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
(gst_basesink_chain_unlocked), (gst_basesink_activate):
* gst/gstminiobject.c: (gst_mini_object_get_type),
(gst_mini_object_free):
* gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
(gst_pad_push), (gst_pad_push_event):
* gst/gstqueue.c: (gst_queue_change_state):
Don't queue buffers in basesink when we are flushing.
Unref buffer when flushing in basesink.
Flush queue when going to READY
Unref buffer when _push() returns an error.
Don't free MiniObject instance when refcount is incremented
in _finalize() so that we can recover objects.
2005-05-17 17:37:43 +00:00
Wim Taymans
8b61f54757 gst/: Clear queue when going to READY.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
(gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
* gst/gstqueue.c: (gst_queue_change_state):
Clear queue when going to READY.
Remove IN_SETCAPS flag too.
2005-05-17 14:11:32 +00:00
Tim-Philipp Müller
7fa9d7eb65 gst/base/gstbasesrc.c: Remove implicit cast from gboolean to GstElementStateReturn; make sure we still return failure...
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_basesrc_change_state):
Remove implicit cast from gboolean to GstElementStateReturn;
make sure we still return failure in paused => ready case if
the parent class fails to change state and our own stop
vfunc succeeds.
2005-05-17 14:01:51 +00:00
Andy Wingo
04312000d0 gst/gstbin.c (sink_iterator_filter): Err... um...
Original commit message from CVS:
2005-05-16  Andy Wingo  <wingo@pobox.com>

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

* check/gst/gstbin.c (test_ghost_pads): New test for the
ghosting-if-elements-not-in-same-bin behavior.
2005-05-16 21:17:14 +00:00
David Schleef
b52ba4751a gst/gstminiobject.c: Use g_atomic_int_get() instead of accessing refcount directly.
Original commit message from CVS:
* gst/gstminiobject.c: Use g_atomic_int_get() instead of
accessing refcount directly.
2005-05-16 21:05:21 +00:00
David Schleef
e134f7f75b check/Makefile.am: remove GstData checks
Original commit message from CVS:
* check/Makefile.am: remove GstData checks
* check/gst-libs/gdp.c: (START_TEST): fix for API changes
* gst/Makefile.am: add miniobject, remove data
* gst/gst.h: add miniobject, remove data
* gst/gstdata.c: remove
* gst/gstdata.h: remove
* gst/gstdata_private.h: remove
* gst/gsttypes.h: remove GstEvent and GstMessage
* gst/gstelement.c: (gst_element_post_message): fix for API changes
* gst/gstmarshal.list: change BOXED -> OBJECT
Implement GstMiniObject.
* gst/gstminiobject.c:
* gst/gstminiobject.h:
Modify to be subclasses of GstMiniObject.
* gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
(gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
(gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
(gst_subbuffer_get_type), (gst_subbuffer_init),
(gst_buffer_create_sub), (gst_buffer_is_span_fast),
(gst_buffer_span):
* gst/gstbuffer.h:
* gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
(gst_event_class_init), (gst_event_init), (gst_event_finalize),
(_gst_event_copy), (gst_event_new):
* gst/gstevent.h:
* gst/gstmessage.c: (_gst_message_initialize),
(gst_message_get_type), (gst_message_class_init),
(gst_message_init), (gst_message_finalize), (_gst_message_copy),
(gst_message_new), (gst_message_new_error),
(gst_message_new_warning), (gst_message_new_tag),
(gst_message_new_state_changed), (gst_message_new_application):
* gst/gstmessage.h:
* gst/gstprobe.c: (gst_probe_perform),
(gst_probe_dispatcher_dispatch):
* gst/gstprobe.h:
* gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
(gst_query_class_init), (gst_query_finalize), (gst_query_init),
(_gst_query_copy), (gst_query_new):
Update elements for GstData -> GstMiniObject changes
* gst/gstquery.h:
* gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
(gst_queue_chain), (gst_queue_loop):
* gst/elements/gstbufferstore.c:
(gst_buffer_store_add_buffer_func),
(gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
* gst/elements/gstfakesink.c: (gst_fakesink_class_init),
(gst_fakesink_render):
* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
* gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
(gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
(gst_mmap_buffer_finalize), (gst_filesrc_map_region),
(gst_filesrc_create_read):
* gst/elements/gstidentity.c: (gst_identity_class_init):
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_src_event), (free_entry_buffers),
(gst_type_find_element_handle_event):
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_header_from_buffer):
* libs/gst/dataprotocol/dataprotocol.h:
* libs/gst/dataprotocol/dp-private.h:
2005-05-16 20:21:55 +00:00
David Schleef
735061ecc6 gst/elements/gstelements.c: Don't include headers that were just removed.
Original commit message from CVS:
* gst/elements/gstelements.c: Don't include headers that were
just removed.
2005-05-15 23:18:40 +00:00
David Schleef
abb59b9e80 gst/elements/Makefile.am: Remove some elements that don't need to be in the core (or even exist at all).
Original commit message from CVS:
* gst/elements/Makefile.am: Remove some elements that don't
need to be in the core (or even exist at all).
* gst/elements/gstaggregator.c:
* gst/elements/gstaggregator.h:
* gst/elements/gstmd5sink.c:
* gst/elements/gstmd5sink.h:
* gst/elements/gstmultifilesrc.c:
* gst/elements/gstmultifilesrc.h:
* gst/elements/gstpipefilter.c:
* gst/elements/gstpipefilter.h:
* gst/elements/gstshaper.c:
* gst/elements/gstshaper.h:
* gst/elements/gststatistics.c:
* gst/elements/gststatistics.h:
* po/POTFILES.in: Remove above files.
2005-05-15 23:16:29 +00:00
Andy Wingo
ab5ba6271c gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter so as to get the refs right.
Original commit message from CVS:
2005-05-14  Andy Wingo  <wingo@pobox.com>

* gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
so as to get the refs right.
(sink_iterator_filter): New function, wraps bin_element_is_sink,
unreffing objects that don't pass the filter.
2005-05-14 18:01:12 +00:00
Andy Wingo
4765634c62 gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after gst_element_set_bus.
Original commit message from CVS:
2005-05-14  Andy Wingo  <wingo@pobox.com>

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

* gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
object.
2005-05-14 17:12:11 +00:00
Andy Wingo
c967174c17 gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin has no sinks.
Original commit message from CVS:
2005-05-14  Andy Wingo  <wingo@pobox.com>

* gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
has no sinks.
2005-05-14 15:54:49 +00:00
Andy Wingo
79d4977020 gst/gstutils.c (gst_element_link_pads): Instead of calling gst_pad_link, call pad_link_maybe_ghosting,
Original commit message from CVS:
2005-05-13  Andy Wingo  <wingo@pobox.com>

* gst/gstutils.c (gst_element_link_pads): Instead of calling
gst_pad_link, call pad_link_maybe_ghosting,
(pad_link_maybe_ghosting): Links pads, making sure that the
elements being linked are in the same bin.
(find_common_root, object_has_ancestor, ghost_up, remove_pad):
Helpers for pad_link_maybe_ghosting.
2005-05-14 15:32:36 +00:00
Wim Taymans
1c4ea6213b gst/: Identify sinks by their flag to avoid overly complicated checks (fow now).
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_init),
(gst_basesink_activate):
* gst/base/gstbasesrc.c: (gst_basesrc_unlock),
(gst_basesrc_is_seekable):
* gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
(bin_element_is_sink), (gst_bin_change_state):
* gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
* gst/gstelement.h:
Identify sinks by their flag to avoid overly complicated
checks (fow now).
Do state changes even for elements not reachable from the
sinks.
BaseSink is a sink now :)
Some more debugging info in the basesrc.
2005-05-12 19:45:44 +00:00
Ronald S. Bultje
e4c1ba46c8 gst/gstbin.c: Implement _query on a bin, similar to _send_event.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
Implement _query on a bin, similar to _send_event.
2005-05-12 15:09:17 +00:00
Tim-Philipp Müller
7eb36ed16f gst/base/gstbasesrc.c: Discont event offset format should be GST_FORMAT_BYTES, not GST_FORMAT_TIME.
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
Discont event offset format should be GST_FORMAT_BYTES,
not GST_FORMAT_TIME.
2005-05-12 13:59:58 +00:00
Wim Taymans
8694ff47b4 gst/gstbin.c: Same fix as Ronald's but without the signal.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
Same fix as Ronald's but without the signal.
2005-05-12 13:18:14 +00:00
Ronald S. Bultje
e5f4d65005 gst/gstutils.c: No, an element is not a pad.
Original commit message from CVS:
* gst/gstutils.c: (gst_element_query_position):
No, an element is not a pad.
2005-05-12 12:27:07 +00:00
Ronald S. Bultje
e805d1b78b gst/gstbin.c: If a child is removed from a bin while we remove the child from the bin and while we're retrieving its ...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
(gst_bin_get_state):
If a child is removed from a bin while we remove the child from
the bin and while we're retrieving its state, signal this to the
get_state function so we abort the wait (instead of waiting for
a timeout) and can immediately re-iterate over all other elements.
2005-05-12 12:17:23 +00:00
Wim Taymans
88d6683316 gst/base/: Added is_seekable to BaseSrc
Original commit message from CVS:
* gst/base/Makefile.am:
* gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
(gst_basesrc_start):
* gst/base/gstbasesrc.h:
* gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
(gst_pushsrc_base_init), (gst_pushsrc_class_init),
(gst_pushsrc_init), (gst_pushsrc_create):
* gst/base/gstpushsrc.h:
Added is_seekable to BaseSrc
Added simple PushSrc.
2005-05-12 10:43:14 +00:00
Wim Taymans
c9aaf4663f gst/: Fix refcounting in utils function.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
* gst/gstutils.c: (gst_element_get_compatible_pad_template),
(gst_element_link_pads), (gst_element_query_position),
(gst_element_query_convert), (intersect_caps_func),
(gst_pad_query_position), (gst_pad_query_convert):
Fix refcounting in utils function.
No point in trying to activate a pad when it's added, it could
be added from the state change function and then we deadlock, the
element has to decide what to do.
2005-05-11 09:21:24 +00:00
Andy Wingo
e44beb9f04 gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
Original commit message from CVS:
2005-05-10  Andy Wingo  <wingo@pobox.com>

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

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

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

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

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

* gst/gstmessage.c (gst_message_new_state_changed):
2005-05-11 03:37:10 +00:00
Wim Taymans
ee4cf984cf remove stupid printf
Original commit message from CVS:
remove stupid printf
2005-05-10 14:51:49 +00:00
Wim Taymans
33992f775b gst/gstvalue.c: Added flags serialize/deserialize/compare code.
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_compare_flags),
(gst_value_serialize_flags), (gst_value_deserialize_flags),
(_gst_value_initialize):
Added flags serialize/deserialize/compare code.
2005-05-10 14:50:55 +00:00
Andy Wingo
b594010249 gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps): Intersect the peer's caps with our caps.
Original commit message from CVS:
2005-05-09  Andy Wingo  <wingo@pobox.com>

* gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
Intersect the peer's caps with our caps.
2005-05-09 21:37:54 +00:00
Ronald S. Bultje
5b9c84091d gst/: Handle negative offsets better. Fixes decodebin.
Original commit message from CVS:
* gst/base/gsttypefindhelper.c: (helper_find_peek):
* gst/elements/gsttypefindelement.c: (find_peek):
Handle negative offsets better. Fixes decodebin.
2005-05-09 15:54:26 +00:00
Wim Taymans
e70ec7b807 gst/: Implement accept_caps.
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
(gst_base_transform_event):
* gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
Implement accept_caps.
Fix silly lock/unlock mismatch in base class.
2005-05-09 14:47:15 +00:00
Wim Taymans
8df6cd7243 Remove old query functions. Ported old code.
Original commit message from CVS:
Remove old query functions. Ported old code.
Added position/convert helper functions to gstutils.
Reordered gstpad.c code, grouping relevant things.
Remove gst_message_new(), always need to speficy a specific
message.
2005-05-09 10:53:13 +00:00
Andy Wingo
328ddd7363 gst/gstiterator.h: Add some includes.
Original commit message from CVS:
2005-05-09  Andy Wingo  <wingo@pobox.com>

* gst/gstiterator.h: Add some includes.

* gst/gstqueryutils.h: Include more headers.

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

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

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

* gst/gststructure.c (gst_structure_set_valist): Implement with
the generic G_VALUE_COLLECT.
2005-05-09 06:21:10 +00:00
Edward Hervey
01162bee21 gst/Makefile.am: Added gstqueryutils.h to the list of headers to install, that was a 'nachty' move wingo :)
Original commit message from CVS:
* gst/Makefile.am: (gst_headers):
Added gstqueryutils.h to the list of headers to install, that was
a 'nachty' move wingo :)
2005-05-08 17:07:05 +00:00
Andy Wingo
8970bda4ba gst/gstquery.h
Original commit message from CVS:
2005-05-06  Andy Wingo  <wingo@pobox.com>

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

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

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

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

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

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

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

Needs review!

* gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
without using the atomic operations. Only one thread can possibly
be accessing the data at this point. Changed so as to avoid
gst_atomic operations.
2005-05-06 21:41:22 +00:00
Wim Taymans
1185aabed9 gst/gstpad.c: Also set caps if we use the fallback buffer alloc.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
Also set caps if we use the fallback buffer alloc.
2005-05-06 19:50:23 +00:00
Wim Taymans
d7b231e6d1 gst/: Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
* gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
* gst/gstpad.c: (gst_pad_peer_get_caps):
* gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
(gst_queue_bufferalloc), (gst_queue_handle_sink_event),
(gst_queue_src_activate), (gst_queue_change_state):
* gst/gstqueue.h:
* gst/gstutils.c: (gst_element_get_compatible_pad_template),
(intersect_caps_func):
Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
Some fixes for the peer_get_caps() change.
2005-05-06 17:10:49 +00:00
Wim Taymans
92dd87a8c5 gst/base/gstbasesink.c: Actually do something with error codes returned from the push functions.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
(gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
(gst_basesink_activate):
Actually do something with error codes returned from the push
functions.
2005-05-06 16:19:59 +00:00
Wim Taymans
c11c932f88 Some more documentation.
Original commit message from CVS:
* docs/design/part-element-sink.txt:
* docs/design/part-element-source.txt:
* gst/base/gstbasesink.c: (gst_basesink_class_init),
(gst_basesink_event), (gst_basesink_activate):
* gst/base/gstbasesink.h:
* gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
(gst_basesrc_activate):
* gst/base/gstbasesrc.h:
* gst/gstelement.c: (gst_element_pads_activate):
Some more documentation.
Fixed scheduling decision in _pads_activate().
2005-05-06 08:25:19 +00:00
Andy Wingo
e33d96ba60 final cruft fixage
Original commit message from CVS:
final cruft fixage
2005-05-05 21:59:53 +00:00
Andy Wingo
89858fc1b7 cruft removal
Original commit message from CVS:
cruft removal
2005-05-05 21:45:54 +00:00
Andy Wingo
57183c39dc revert cruft
Original commit message from CVS:
revert cruft
2005-05-05 21:42:24 +00:00
Andy Wingo
e19563e43e revert accidental commit of cruft -- doh
Original commit message from CVS:
revert accidental commit of cruft -- doh
2005-05-05 21:37:34 +00:00
Wim Taymans
113250d274 gst/: Added object to help in making collect pad based elements.
Original commit message from CVS:
* gst/base/Makefile.am:
* gst/base/gstbasesink.h:
* gst/base/gstbasesrc.c: (gst_basesrc_init),
(gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
* gst/base/gstcollectpads.c: (gst_collectpads_get_type),
(gst_collectpads_class_init), (gst_collectpads_init),
(gst_collectpads_finalize), (gst_collectpads_new),
(gst_collectpads_set_function), (gst_collectpads_add_pad),
(find_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),
(gst_collectpads_chain):
* gst/base/gstcollectpads.h:
* gst/elements/Makefile.am:
* gst/elements/gstelements.c:
* gst/elements/gstfakesink.c: (gst_fakesink_class_init),
(gst_fakesink_get_times), (gst_fakesink_event),
(gst_fakesink_preroll), (gst_fakesink_render):
* gst/elements/gstfilesink.c: (gst_filesink_class_init),
(gst_filesink_init), (gst_filesink_set_location),
(gst_filesink_open_file), (gst_filesink_close_file),
(gst_filesink_pad_query), (gst_filesink_event),
(gst_filesink_render), (gst_filesink_change_state):
* gst/elements/gstfilesink.h:
Added object to help in making collect pad based elements.
Ported filesink.
Make event function in sink baseclass return gboolean.
2005-05-05 09:31:59 +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
Andy Wingo
b4d7be2014 GCC 4 fixen.
Original commit message from CVS:
2005-05-04  Andy Wingo <wingo@pobox.com>

* check/Makefile.am:
* docs/gst/tmpl/gstatomic.sgml:
* docs/gst/tmpl/gstplugin.sgml:
* gst/base/gstbasesink.c: (gst_basesink_activate):
* gst/base/gstbasesrc.c: (gst_basesrc_class_init),
(gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
(gst_basesrc_query), (gst_basesrc_set_property),
(gst_basesrc_get_property), (gst_basesrc_check_get_range),
(gst_basesrc_activate):
* gst/base/gstbasesrc.h:
* gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
(gst_base_transform_src_activate):
* gst/elements/gstelements.c:
* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
(gst_fakesrc_set_property), (gst_fakesrc_get_property):
* gst/elements/gsttee.c: (gst_tee_sink_activate):
* gst/elements/gsttypefindelement.c: (find_element_get_length),
(gst_type_find_element_checkgetrange),
(gst_type_find_element_activate):
* gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
* gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
(gst_caps_load_thyself):
* gst/gstelement.c: (gst_element_pads_activate),
(gst_element_save_thyself), (gst_element_restore_thyself):
* gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
(gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
* gst/gstpad.h:
* gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
(gst_xml_parse_file), (gst_xml_parse_memory),
(gst_xml_get_element), (gst_xml_make_element):
* gst/indexers/gstfileindex.c: (gst_file_index_load),
(_file_index_id_save_xml), (gst_file_index_commit):
* gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
(read_enum), (load_pad_template), (load_feature), (load_plugin),
(load_paths):
* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
(gst_dp_packet_from_event), (gst_dp_caps_from_packet):
* tools/gst-complete.c: (main):
* tools/gst-compprep.c: (main):
* tools/gst-inspect.c: (print_element_properties_info):
* tools/gst-launch.c: (xmllaunch_parse_cmdline):
* tools/gst-xmlinspect.c: (print_element_properties):
GCC 4 fixen.
2005-05-04 21:29:44 +00:00
Thomas Vander Stichele
5aed75335c gst/gstplugin.c: apply patch from #172526 to make register work on MacOSX
Original commit message from CVS:

* gst/gstplugin.c: (gst_plugin_check_module),
(gst_plugin_check_file), (gst_plugin_load_file):
apply patch from #172526 to make register work on MacOSX
2005-05-03 12:46:47 +00:00
Thomas Vander Stichele
8f87745592 merges from 0.8 for 64 bit issues
Original commit message from CVS:
merges from 0.8 for 64 bit issues
2005-05-02 15:20:30 +00:00
Wim Taymans
0757f3df2e Added draft for new query API.
Original commit message from CVS:
* docs/design/draft-push-pull.txt:
* docs/design/draft-query.txt:
* gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
(gst_basesrc_start):
Added draft for new query API.
Added draft for better selecting scheduling methods.
Make basesrc ignore length if the subclass does not support
it.
2005-05-02 13:55:21 +00:00
Thomas Vander Stichele
82bb4f0093 automake 1.5 fixes
Original commit message from CVS:
automake 1.5 fixes
2005-05-02 11:54:32 +00:00
Thomas Vander Stichele
d3f4ae10f2 possible fixes for automake-1.5
Original commit message from CVS:
possible fixes for automake-1.5
2005-05-02 11:47:17 +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
Wim Taymans
d68914ad64 gst/gsttrashstack.h: Ooohh. a nasty one! After having a failed pop() from the stack, it's possible that the stack is ...
Original commit message from CVS:
* gst/gsttrashstack.h:
Ooohh. a nasty one! After having a failed pop() from the stack,
it's possible that the stack is empty. In that case, don't
follow the NULL pointer.
2005-04-26 18:07:45 +00:00
Wim Taymans
50b44cdd16 gst/: Remove gst_library_load as it does more harm than good with the new g_module flags.
Original commit message from CVS:
* 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_link_prepare),
(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/gstplugin.c: (gst_plugin_load):
* gst/gstplugin.h:
Remove gst_library_load as it does more harm than good with
the new g_module flags.
Revert bogus caps template check in pad linking, pad caps
are important when linking not the template, which is more
general than the current caps.
2005-04-25 13:00:47 +00:00
Ronald S. Bultje
778981a34e gst/autoplug/: Die, spider, die.
Original commit message from CVS:
* gst/autoplug/.cvsignore:
* gst/autoplug/Makefile.am:
* gst/autoplug/gstsearchfuncs.c:
* gst/autoplug/gstsearchfuncs.h:
* gst/autoplug/gstspider.c:
* gst/autoplug/gstspider.h:
* gst/autoplug/gstspideridentity.c:
* gst/autoplug/gstspideridentity.h:
* gst/autoplug/spidertest.c:
Die, spider, die.
2005-04-25 09:51:06 +00:00
Wim Taymans
f494f49acd gst/gstpad.*: Added stubs for unimplemented functions.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
(gst_pad_set_checkgetrange_function), (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/gstpad.h:
Added stubs for unimplemented functions.
2005-04-25 09:45:35 +00:00
David Schleef
4956e9d512 gst/gstpad.h: Disable some unimplemented functions. Wim, please fix.
Original commit message from CVS:
* gst/gstpad.h: Disable some unimplemented functions.  Wim,
please fix.
2005-04-24 23:53:06 +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
David Schleef
01c25dc75f check/gst/gstpad.c: Oh yeah, it's always nice to make the regressions tests work. Remove some code that is no longer...
Original commit message from CVS:
* check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
make the regressions tests work.  Remove some code that is no
longer true.
* gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
Disable warning for pads without templates.
2005-04-24 22:44:13 +00:00
David Schleef
65dd8e9726 gst/gstpad.c: Remove handling of filtered caps. Fix/merge functions that handle filtered links.
Original commit message from CVS:
* gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
functions that handle filtered links.
* gst/gstpad.h: Remove 'appfilter' field and prototypes of
removed functions.
* gst/gstutils.c: Fix/remove utility functions that handle
filtered caps.
* gst/gstutils.h:
* gst/gstvalue.c: Add serialization/deserialization of caps
* gst/parse/grammar.y: Ignore filtered caps when linking.  This
requires fixing so that the filter caps notation creates
a capsfilter element and sets the filter_caps property.  I
think everyone probably wants to keep the shorthand notation.
* docs/gst/tmpl/gstelement.sgml: updates for API changes.
* docs/gst/tmpl/gstpad.sgml:
* gst/elements/gstelements.c: Register capsfilter element.
* gst/Makefile.am: fix spacing
* docs/random/ds/0.9-suggested-changes: random
2005-04-24 21:16:45 +00:00
David Schleef
9dfa6cd089 gst/elements/: New element that acts like an identity, but filters caps. Will eventually replace filtered caps in pa...
Original commit message from CVS:
* gst/elements/Makefile.am:
* gst/elements/gstcapsfilter.c: New element that acts like an
identity, but filters caps.  Will eventually replace filtered
caps in pad linking.
* gst/gstutils.c: (gst_element_create_all_pads): New function
to create all the ALWAYS pads that are registered with an
element class.  This functionality should eventually be
merged in with GstElement initialization.
* gst/gstutils.h:
* testsuite/trigger/README: part of trigger test code that should
have been checked in a long time ago.
2005-04-23 23:29:47 +00:00
David Schleef
7e89cbf5ba gst/Makefile.am: Remove as-libtool stuff. It's likely not and hard to carry around.
Original commit message from CVS:
* gst/Makefile.am: Remove as-libtool stuff.  It's likely not
needed with new versions of libtool (nobody will confirm this),
and hard to carry around.
* gst/autoplug/Makefile.am:
* gst/base/Makefile.am:
* gst/elements/Makefile.am:
* gst/indexers/Makefile.am:
* gst/schedulers/Makefile.am:
* libs/gst/bytestream/Makefile.am:
* libs/gst/control/Makefile.am:
* libs/gst/dataprotocol/Makefile.am:
* libs/gst/getbits/Makefile.am:
2005-04-23 23:25:08 +00:00
Wim Taymans
f059bb2c54 gst/: Use parent refcount in GstMessage to ensure GstStructure consistency.
Original commit message from CVS:
* gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
(gst_message_new), (gst_message_new_error),
(gst_message_new_warning), (gst_message_new_tag),
(gst_message_new_state_changed), (gst_message_new_application),
(gst_message_get_structure):
* gst/gstmessage.h:
* gst/gststructure.c: (gst_structure_set_parent_refcount),
(gst_structure_copy_conditional):
Use parent refcount in GstMessage to ensure GstStructure
consistency.
Cleaned up headers a bit.
2005-04-21 09:33:31 +00:00
Wim Taymans
ee13415b38 gst/: Make gst_caps_replace() work like other _replace() functions.
Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_basesink_base_init),
(gst_basesink_pad_getcaps), (gst_basesink_init),
(gst_basesink_chain_unlocked):
* gst/base/gsttypefindhelper.c: (helper_find_suggest),
(gst_type_find_helper):
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_have_type), (gst_type_find_element_init),
(stop_typefinding), (gst_type_find_element_handle_event),
(find_suggest), (gst_type_find_element_chain),
(gst_type_find_element_checkgetrange),
(gst_type_find_element_getrange), (do_typefind),
(gst_type_find_element_activate):
* gst/gstbuffer.c: (_gst_buffer_sub_free),
(gst_buffer_default_free), (gst_buffer_default_copy),
(gst_buffer_set_caps):
* gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
(gst_caps_replace):
* gst/gstmessage.c: (gst_message_new),
(gst_message_new_state_changed):
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
(gst_pad_set_checkgetrange_function),
(gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
(gst_pad_set_caps), (gst_pad_check_pull_range),
(gst_pad_pull_range), (gst_static_pad_template_get_caps):
* gst/gstpad.h:
* gst/gsttypefind.c: (gst_type_find_register):
Make gst_caps_replace() work like other _replace() functions.
Use _caps_replace() where possible.
Make sure _message_new() initialises its field.
Add gst_static_pad_template_get_caps()
2005-04-20 09:10:42 +00:00
Andy Wingo
0aec4592b9 gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
Original commit message from CVS:
2005-04-18  Andy Wingo  <wingo@pobox.com>

* gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
2005-04-18 08:53:02 +00:00
Andy Wingo
a8259f46f5 gst/base/gstbasesrc.c (gst_basesrc_set_property)
Original commit message from CVS:
2005-04-18  Andy Wingo  <wingo@pobox.com>

* gst/base/gstbasesrc.c (gst_basesrc_set_property)
(gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
to PROP_....
2005-04-18 08:24:30 +00:00
Ronald S. Bultje
560d0ba1de Use libxml2 for registry parsing, use staticpadtemplates in elementfactories. Makes gst_init() +/- 10x faster.
Original commit message from CVS:
* docs/gst/tmpl/gstelementfactory.sgml:
* gst/gstelement.h:
* gst/gstelementfactory.c: (gst_element_factory_init),
(gst_element_factory_cleanup), (gst_element_register),
(__gst_element_factory_add_static_pad_template),
(gst_element_factory_get_static_pad_templates),
(gst_element_factory_can_src_caps),
(gst_element_factory_can_sink_caps):
* gst/registries/Makefile.am:
* gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
(gst_xml_registry_class_init), (gst_xml_registry_init),
(gst_xml_registry_new), (gst_xml_registry_set_property),
(gst_xml_registry_get_property), (get_time), (make_dir),
(gst_xml_registry_get_perms_func),
(plugin_times_older_than_recurse), (plugin_times_older_than),
(gst_xml_registry_open_func), (gst_xml_registry_load_func),
(gst_xml_registry_save_func), (gst_xml_registry_close_func),
(add_to_char_array), (read_string), (read_uint), (read_enum),
(load_pad_template), (load_feature), (load_plugin), (load_paths),
(gst_xml_registry_load), (gst_xml_registry_load_plugin),
(gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
(gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
(gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
(gst_xml_registry_rebuild):
* gst/registries/gstlibxmlregistry.h:
* tools/gst-compprep.c: (main):
* tools/gst-inspect.c: (print_pad_templates_info):
* tools/gst-xmlinspect.c: (print_element_info):
Use libxml2 for registry parsing, use staticpadtemplates in
elementfactories. Makes gst_init() +/- 10x faster.
2005-04-12 15:00:30 +00:00
Wim Taymans
499659f65f Added typefind helper.
Original commit message from CVS:
Added typefind helper.
Small preroll fix in the base sink.
Disable typefind code in basesrc.
Crude port of typefindelement.
Fakesrc cleanups.
2005-04-12 10:52:55 +00:00
Thomas Vander Stichele
5da40820c5 work with debug disabled
Original commit message from CVS:
work with debug disabled
2005-04-10 21:42:32 +00:00
Thomas Vander Stichele
c6957f0e92 work with debug disabled
Original commit message from CVS:
work with debug disabled
2005-04-10 20:29:44 +00:00
Wim Taymans
aa00eb872d gst/: More work on the generic source base class, implement seeking, query.
Original commit message from CVS:
* gst/base/README:
* gst/base/gstbasesrc.c: (gst_basesrc_get_type),
(gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
(gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
(gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
(gst_basesrc_check_get_range), (gst_basesrc_loop),
(gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
(gst_basesrc_stop), (gst_basesrc_activate),
(gst_basesrc_change_state), (basesrc_find_peek),
(basesrc_find_suggest), (gst_basesrc_type_find):
* gst/base/gstbasesrc.h:
* gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
(gst_filesrc_class_init), (gst_filesrc_init),
(gst_filesrc_finalize), (gst_filesrc_set_location),
(gst_filesrc_set_property), (gst_filesrc_get_property),
(gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
(gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
(gst_filesrc_create_read), (gst_filesrc_create),
(gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
* gst/elements/gstfilesrc.h:
* gst/gstelement.c: (gst_element_get_state_func),
(gst_element_lost_state), (gst_element_pads_activate):
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
(gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
(gst_pad_pull_range):
* gst/gstpad.h:
More work on the generic source base class, implement seeking,
query.
Make filesrc extend the base source class.
Added gst_pad_set_checkgetrange_function to GstPad.
2005-04-06 17:30:48 +00:00
Andy Wingo
4c712824b9 pkgconfig/: New files.
Original commit message from CVS:
2005-04-06  Andy Wingo  <wingo@pobox.com>

* pkgconfig/gstreamer-base.pc.in:
* pkgconfig/gstreamer-base-uninstalled.pc.in: New files.

* pkgconfig/Makefile.am:
* configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
2005-04-06 11:08:07 +00:00
Wim Taymans
8cf38d3d3a gst/: Made base source class, make fakesrc extend it.
Original commit message from CVS:
* gst/base/Makefile.am:
* gst/base/README:
* gst/base/gstbasesink.c: (gst_basesink_base_init),
(gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
(gst_basesink_pad_buffer_alloc), (gst_basesink_init),
(gst_basesink_do_sync), (gst_basesink_chain_unlocked):
* gst/base/gstbasesrc.c: (gst_basesrc_get_type),
(gst_basesrc_base_init), (gst_basesrc_class_init),
(gst_basesrc_init), (gst_basesrc_get_formats),
(gst_basesrc_get_query_types), (gst_basesrc_query),
(gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
(gst_basesrc_set_property), (gst_basesrc_get_property),
(gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
(gst_basesrc_loop), (gst_basesrc_activate),
(gst_basesrc_change_state):
* gst/base/gstbasesrc.h:
* gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
(gst_fakesrc_class_init), (gst_fakesrc_init),
(gst_fakesrc_event_handler), (gst_fakesrc_set_property),
(gst_fakesrc_get_property), (gst_fakesrc_create):
* gst/elements/gstfakesrc.h:
* gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
(gst_filesrc_open_file), (gst_filesrc_loop),
(gst_filesrc_activate), (filesrc_find_peek),
(gst_filesrc_type_find):
Made base source class, make fakesrc extend it.
Add comments to basesink class.
Some filesrc cleanup.
2005-04-05 08:44:20 +00:00
David Schleef
fa948192ac gst/gstplugin.c: Switch to using G_MODULE_BIND_LOCAL, which means plugins are now expected to link against libgstreamer.
Original commit message from CVS:
* gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
expected to link against libgstreamer.
* gst/base/Makefile.am: link against libgstreamer
* gst/elements/Makefile.am: same
2005-04-01 02:41:35 +00:00
Andy Wingo
123bfb04b3 tests/instantiate/: Add test to test speed of caps copy and free.
Original commit message from CVS:
2005-03-31  Andy Wingo  <wingo@pobox.com>

* tests/instantiate/Makefile.am:
* tests/instantiate/caps.c: Add test to test speed of caps copy
and free.

* tests/memchunk/gmemchunktest.c (main): Use alloc only on the
GMemChunk to be fair.

* gst/gsttrashstack.h: Remove warning about using the fallback
trash stack implementation, it's still faster than malloc.
2005-03-31 15:00:11 +00:00
Wim Taymans
96d17a3410 gst/: Added start/stop methods to transform base class so subclasses don't need to deal with state changes even.
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_base_init),
(gst_base_transform_class_init), (gst_base_transform_init),
(gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
(gst_base_transform_get_property),
(gst_base_transform_sink_activate),
(gst_base_transform_src_activate),
(gst_base_transform_change_state):
* gst/base/gstbasetransform.h:
* gst/elements/gstidentity.c: (gst_identity_class_init),
(gst_identity_event), (gst_identity_check_perfect),
(gst_identity_transform), (gst_identity_start),
(gst_identity_stop):
Added start/stop methods to transform base class so subclasses
don't need to deal with state changes even.
2005-03-31 10:10:55 +00:00
Wim Taymans
3cfdcab18b gst/: Added rate to the discont event to prepare for variable speed and reverse playback.
Original commit message from CVS:
* gst/gstevent.c: (gst_event_new_discontinuous_valist),
(gst_event_new_discontinuous), (gst_event_discont_get_value):
* gst/gstevent.h:
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
(gst_pad_pull_range):
Added rate to the discont event to prepare for variable speed
and reverse playback.
2005-03-31 09:46:28 +00:00
Wim Taymans
bb1be5f509 gst/: Simplify pad activation.
Original commit message from CVS:
* gst/base/Makefile.am:
* gst/base/README:
* gst/base/gstbasesink.c: (gst_basesink_get_type),
(gst_basesink_base_init), (gst_basesink_class_init),
(gst_basesink_pad_getcaps), (gst_basesink_init),
(gst_basesink_activate), (gst_basesink_change_state):
* gst/base/gstbasesink.h:
* gst/base/gstbasetransform.c: (gst_base_transform_get_type),
(gst_base_transform_base_init), (gst_base_transform_finalize),
(gst_base_transform_class_init), (gst_base_transform_init),
(gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
(gst_base_transform_event), (gst_base_transform_getrange),
(gst_base_transform_chain), (gst_base_transform_handle_buffer),
(gst_base_transform_set_property),
(gst_base_transform_get_property),
(gst_base_transform_sink_activate),
(gst_base_transform_src_activate),
(gst_base_transform_change_state):
* gst/base/gstbasetransform.h:
* gst/elements/gstidentity.c: (gst_identity_finalize),
(gst_identity_class_init), (gst_identity_init),
(gst_identity_event), (gst_identity_check_perfect),
(gst_identity_transform), (gst_identity_set_property),
(gst_identity_get_property), (gst_identity_change_state):
* gst/elements/gstidentity.h:
* gst/gstelement.c: (gst_element_get_state_func),
(gst_element_lost_state), (gst_element_pads_activate):
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
(gst_pad_check_pull_range), (gst_pad_pull_range):
* gst/gstpad.h:
Simplify pad activation.
Added function to check if pull_range can be performed.
Error out when pulling inactive or flushing pads.
Removed const from refcounted types as it does not make sense.
Simplify pad templates in basesink
Added base class for simple 1-to-1 transforms.
Make identity subclass the base transform.
2005-03-29 16:18:12 +00:00
Andy Wingo
a7ad017d05 docs/: Dist the overrides files.
Original commit message from CVS:
2005-03-29  Andy Wingo  <wingo@pobox.com>

* docs/gst/Makefile.am:
* docs/libs/Makefile.am: Dist the overrides files.

* check/Makefile.am (clean-local): Remove .libs directories.

* gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
elements to EXTRA_DIST, so po/ files are happy.
2005-03-29 14:12:48 +00:00
Andy Wingo
498ae2c79f po/, docs/gst/: Commit automatic changes to docs and po files.
Original commit message from CVS:
2005-03-29  Andy Wingo  <wingo@pobox.com>

* po/, docs/gst/: Commit automatic changes to docs and po files.

* gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
the versioned libgstbase.

* check/Makefile.am: Depend on an unversioned gst-register, seems
to make autoconf happier.

* gst/base/Makefile.am: Make libgstbase a versioned lib.
2005-03-29 10:55:39 +00:00
Wim Taymans
326d36b8d8 Added state change code.
Original commit message from CVS:
Added state change code.
Added/updated docs.
Added sink base class, make fakesink extend the base class.
Small cleanups in GstPipeline.
2005-03-28 14:54:33 +00:00
David Schleef
a7abc22271 gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality is broken and should be implemented in a different li...
Original commit message from CVS:
* gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
is broken and should be implemented in a different library.
* gst/gst.c: (init_post): don't call _gst_cpu_initialize()
* gst/gst.h: remove gstcpu.h
* gst/gstcpu.c: remove
* gst/gstcpu.h: remove
* gst/Makefile.am.future: Remove this file.  It's ancient.
2005-03-26 22:07:53 +00:00
Ronald S. Bultje
8eb4bb6a51 gst/gstbin.c: Add default event/set_manager handlers. The set_manager handler takes care that the manager is distribu...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
(gst_bin_send_event):
Add default event/set_manager handlers. The set_manager handler
takes care that the manager is distributed over kids that were
already in the bin before the manager was set. The event handler
is a utility virtual function that sends the event over all sinks,
so that gst_element_send_event (bin, event); has the expected
behaviour.
* gst/gstpad.c: (gst_pad_event_default):
Re-install default event handling for discontinuities, so that
seeking works without requiring hacks in applications or extra
code in sinks.
* gst/gstpipeline.c: (gst_pipeline_class_init),
(gst_pipeline_send_event):
Half hack, half utility: set a pipeline to PAUSED for seek events,
since that is the only way we can guarantee a/v sync. Means that
you can do gst_element_seek (pipeline, method, pos); on a pipeline
and it "just works".
2005-03-25 09:57:42 +00:00
Ronald S. Bultje
f96e2fabad gst/gstpipeline.c: Lock/unlock mismatch.
Original commit message from CVS:
* gst/gstpipeline.c: (gst_pipeline_use_clock):
Lock/unlock mismatch.
2005-03-25 09:35:01 +00:00
Wim Taymans
9051371877 Activated more tests.
Original commit message from CVS:
* check/Makefile.am:
* check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
* gst/gststructure.c: (gst_structure_set_valist),
(gst_structure_copy_conditional):
Activated more tests.
Added message test.
Added G_TYPE_POINTER to GstStructure.
2005-03-22 14:23:49 +00:00
Wim Taymans
fc0bf09d96 Docs updates
Original commit message from CVS:
* docs/design/part-TODO.txt:
* docs/design/part-events.txt:
* docs/design/part-gstbin.txt:
* docs/design/part-gstbus.txt:
* docs/design/part-gstpipeline.txt:
* docs/design/part-messages.txt:
* gst/gstbus.c:
* gst/gstmessage.c:
Docs updates
2005-03-22 11:32:59 +00:00
Wim Taymans
a032f72b14 gst/gstbus.c: Fix copy-and-paste error.
Original commit message from CVS:
* gst/gstbus.c: (gst_bus_post):
Fix copy-and-paste error.
2005-03-21 18:17:57 +00:00
Wim Taymans
c2f41a8906 Next big merge.
Original commit message from CVS:
Next big merge.
Added GstBus for mainloop integration.
Added GstMessage for sending notifications on the bus.
Added GstTask as an abstraction for pipeline entry points.
Removed GstThread.
Removed Schedulers.
Simplified GstQueue for multithreaded core.
Made _link threadsafe, removed old capsnego.
Added STREAM_LOCK and PREROLL_LOCK in GstPad.
Added pad blocking functions.
Reworked scheduling functions in GstPad to prepare for
scheduling updates soon.
Moved events out of data stream.
Simplified GstEvent types.
Added return values to push/pull.
Removed clocking from GstElement.
Added prototypes for state change function for next merge.
Removed iterate from bins and state change management.
Fixed some elements, disabled others for now.
Fixed -inspect and -launch.
Added check for GstBus.
2005-03-21 17:34:02 +00:00
Wim Taymans
007cff6d75 Doc updates.
Original commit message from CVS:
* docs/design/part-MT-refcounting.txt:
* docs/design/part-clocks.txt:
* docs/design/part-gstelement.txt:
* docs/design/part-gstobject.txt:
* docs/design/part-standards.txt:
* gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
(gst_bin_remove_func), (gst_bin_remove):
* gst/gstbin.h:
* gst/gstbuffer.c:
* gst/gstcaps.h:
* testsuite/clock/clock1.c: (main):
* testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
(main):
* testsuite/dlopen/loadgst.c: (do_test):
* testsuite/refcounting/bin.c: (add_remove_test1),
(add_remove_test2), (main):
* testsuite/refcounting/element.c: (main):
* testsuite/refcounting/element_pad.c: (main):
* testsuite/refcounting/pad.c: (main):
* tools/gst-launch.c: (sigint_handler_sighandler):
* tools/gst-typefind.c: (main):
Doc updates.
Added doc about clock.
removed gst_bin_iterate_recurse_up(), marked methods
for removal.
Fix more testsuites.
2005-03-10 12:51:45 +00:00
Wim Taymans
e82e7b604a Fix _pad_get_direction wrt ghostpads.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_get_direction),
(_gst_pad_default_fixate_foreach), (gst_pad_collectv),
(gst_pad_collect_valist):
* testsuite/bins/interface.c: (main):
* testsuite/caps/audioscale.c: (test_caps):
* testsuite/caps/caps.c: (test1), (test2), (test3):
* testsuite/caps/deserialize.c: (main):
* testsuite/caps/enumcaps.c: (main):
* testsuite/caps/filtercaps.c: (main):
* testsuite/caps/intersect2.c: (main):
* testsuite/caps/random.c: (main):
* testsuite/caps/renegotiate.c: (my_fixate), (main):
* testsuite/caps/sets.c: (check_caps):
* testsuite/caps/simplify.c: (check_caps), (main):
* testsuite/caps/subtract.c: (check_caps):
Fix _pad_get_direction wrt ghostpads.
Fix caps testsuite.
2005-03-09 17:28:52 +00:00
Wim Taymans
6cacf76cd9 Added GstBin test.
Original commit message from CVS:
Added GstBin test.
Added GstSystemClock test.
Implemented clock distribution code in GstBin.
Implemented iterate sinks method for future use.
Rearranged gstelement.h
Fix GstIterator comparison bug.
Moved some code to GstPipeline, mostly clocking related.
2005-03-09 16:10:59 +00:00
Wim Taymans
c6a7adc9d4 Bump version number, we're now 0.9.0
Original commit message from CVS:
* configure.ac:
* gst/gst_private.h:
* gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
(gst_bin_remove_func), (gst_bin_remove),
(gst_bin_get_by_name_recurse_up):
* gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
(gst_clock_id_compare_func), (gst_clock_id_wait),
(gst_clock_id_wait_async), (gst_clock_init),
(gst_clock_adjust_unlocked), (gst_clock_get_time):
* gst/gstelement.h:
* gst/gstinfo.c: (_gst_debug_init):
* gst/gstobject.h:
* gst/gstpad.c: (_gst_pad_default_fixate_foreach),
(gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
* gst/gstpad.h:
Bump version number, we're now 0.9.0
Add future debugging category.
Fix NULL _unref() in _get_by_name_recurse_up
Rearrange gstpad.h.
Update some docs.
2005-03-09 11:08:18 +00:00
Wim Taymans
9e24b85a9d Remove threadsafe properties. Fix elements because GObject complains when installing a property before declaring a se...
Original commit message from CVS:
Remove threadsafe properties. Fix elements because GObject
complains when installing a property before declaring a
set/get_property handler.
Rearrange gstelement.h file, use STATE macros for state locks.
Free mutexes in the finalize method instead of dispose.
2005-03-08 17:42:29 +00:00
Wim Taymans
1c9569392f Added parentage check.
Original commit message from CVS:
* check/gst/gstobject.c: (START_TEST), (gst_object_suite):
* gst/gstthread.c: (gst_thread_release_children_locks):
Added parentage check.
Fix build og GstThread again.
2005-03-08 15:57:15 +00:00
Wim Taymans
b338085a29 Docs updates, clean up some headers.
Original commit message from CVS:
* docs/design/part-MT-refcounting.txt:
* docs/design/part-conventions.txt:
* docs/design/part-gstobject.txt:
* docs/design/part-relations.txt:
* docs/design/part-standards.txt:
* gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
(gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
(gst_bin_get_by_name), (gst_bin_get_by_interface),
(gst_bin_iterate_all_by_interface):
* gst/gstbuffer.h:
* gst/gstclock.h:
* gst/gstelement.c: (gst_element_class_init),
(gst_element_change_state), (gst_element_set_loop_function):
* gst/gstelement.h:
* gst/gstiterator.c:
* gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
(gst_object_unref), (gst_object_sink), (gst_object_dispose),
(gst_object_dispatch_properties_changed), (gst_object_set_name),
(gst_object_set_parent), (gst_object_unparent),
(gst_object_check_uniqueness):
* gst/gstobject.h:
Docs updates, clean up some headers.
Free iterators in GstBin.
GstObject is now looking good.
2005-03-08 14:38:06 +00:00
Wim Taymans
8227d5503b gst/gstiterator.*: Added missing files.
Original commit message from CVS:
* gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
(gst_list_iterator_next), (gst_list_iterator_resync),
(gst_list_iterator_free), (gst_iterator_new_list),
(gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
(gst_iterator_free), (gst_iterator_push), (filter_next),
(filter_resync), (filter_uninit), (filter_free),
(gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
(gst_iterator_foreach), (find_custom_fold_func),
(gst_iterator_find_custom):
* gst/gstiterator.h:
Added missing files.
2005-03-07 18:29:36 +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
Thomas Vander Stichele
d5e9b91e0a another no-debug build fix
Original commit message from CVS:
another no-debug build fix
2005-02-25 00:10:05 +00:00
Thomas Vander Stichele
a32a305d1a disable debug build fix
Original commit message from CVS:
disable debug build fix
2005-02-24 23:41:57 +00:00
Thomas Vander Stichele
b02973d212 one more fix
Original commit message from CVS:
one more fix
2005-02-23 15:14:01 +00:00
Thomas Vander Stichele
b9adc22e24 compile with debug disabled
Original commit message from CVS:
compile with debug disabled
2005-02-23 15:06:36 +00:00
Benjamin Otte
232f295af3 gst/: name objects by default, not in gst_element_factory_create. Allows using elements created with g_object_new. (f...
Original commit message from CVS:
* gst/gstelementfactory.c: (gst_element_factory_create):
* gst/gstobject.c: (gst_object_init),
(gst_object_set_name_default), (gst_object_set_name):
name objects by default, not in gst_element_factory_create. Allows
using elements created with g_object_new. (fixes #167283)
2005-02-19 13:02:45 +00:00
Benjamin Otte
70fd76df4f gst/gstinfo.c: make the time that debugging functions print relative to when gst_init was called
Original commit message from CVS:
* gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
make the time that debugging functions print relative to when
gst_init was called
2005-02-19 12:59:45 +00:00
Tim-Philipp Müller
a255e65538 Fix inline docs: tag setter vararg functions are NULL-termianted, GST_TAG_INVALID doesn't exist any more
Original commit message from CVS:
Fix inline docs: tag setter vararg functions are NULL-termianted, GST_TAG_INVALID doesn't exist any more
2005-02-18 20:30:21 +00:00
Thomas Vander Stichele
e3f758f424 flesh out error descriptions
Original commit message from CVS:
flesh out error descriptions
2005-02-11 09:58:31 +00:00
Ronald S. Bultje
6a56e3080d gst/gstthread.c: Implement state-change error handling (#166073).
Original commit message from CVS:
* gst/gstthread.c: (gst_thread_change_state):
Implement state-change error handling (#166073).
2005-02-08 14:04:31 +00:00
Ronald S. Bultje
eb3c38de8c gst/gstqueue.c: Release interrupt after handling (#166250).
Original commit message from CVS:
* gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
Release interrupt after handling (#166250).
2005-02-08 13:50:44 +00:00
Thomas Vander Stichele
0080630b1a unref data when probe function returns FALSE. Fixes #166362
Original commit message from CVS:
unref data when probe function returns FALSE.  Fixes #166362
2005-02-07 15:39:40 +00:00
Ronald S. Bultje
01a7744a76 gst/gst.c: Fix typo (#166269).
Original commit message from CVS:
* gst/gst.c: (gst_init_get_popt_table):
Fix typo (#166269).
2005-02-05 23:10:05 +00:00
Andy Wingo
b99693171e gst/gstelement.c (gst_element_get_compatible_pad_template): Fix the debugging on whether the caps are compatible.
Original commit message from CVS:
2005-02-04  Andy Wingo  <wingo@pobox.com>

* gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
the debugging on whether the caps are compatible.
2005-02-04 15:36:37 +00:00
Wim Taymans
186d11b516 gst/schedulers/gstoptimalscheduler.c: Remove some FIXMEs after analysing and commenting why they are not issues.
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
(schedule_chain), (get_invalid_call), (chain_invalid_call),
(loop_group_schedule_function), (gst_opt_scheduler_iterate):
Remove some FIXMEs after analysing and commenting why they
are not issues.
2005-02-02 16:15:18 +00:00
Wim Taymans
f8114cc178 gst/schedulers/gstoptimalscheduler.c: Added lock to protect scheduler data structures.
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c:
(gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
(gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
(get_invalid_call), (chain_invalid_call),
(get_group_schedule_function), (loop_group_schedule_function),
(gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
(gst_opt_scheduler_state_transition),
(gst_opt_scheduler_add_element),
(gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
(gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
(gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
(gst_opt_scheduler_show):
Added lock to protect scheduler data structures.
2005-02-02 15:31:06 +00:00
Ronald S. Bultje
34d1219213 gst/schedulers/gstoptimalscheduler.c: Try to work with the threading mess that queue_link is.
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c:
(get_group_schedule_function):
Try to work with the threading mess that queue_link is.
2005-02-01 00:38:05 +00:00
Ronald S. Bultje
6a4b9177e4 gst/gstbin.c: Explicitely make an element release locks in a group when being remove from a bin.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_remove_func):
Explicitely make an element release locks in a group when being
remove from a bin.
* gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
If there's no scheduler, always return immediately (similar to
gst_element_interrupt).
2005-01-31 23:21:52 +00:00
Ronald S. Bultje
77bf6d8c0f gst/gstbin.c: Remove a piece of code that could never be reached.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_child_state_change_func):
Remove a piece of code that could never be reached.
* docs/gst/gstreamer-sections.txt:
* gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
(gst_pad_call_get_function):
* gst/gstpad.h:
* testsuite/pad/Makefile.am:
Fix #150546, enable tests.
2005-01-31 17:39:31 +00:00
Ronald S. Bultje
d8d03b6b98 docs/pwg/advanced-types.xml: Fix description for buffer-frames=0.
Original commit message from CVS:
* docs/pwg/advanced-types.xml:
Fix description for buffer-frames=0.
* docs/gst/tmpl/gstbin.sgml:
* gst/gstbin.c: (gst_bin_child_state_change_func),
(gst_bin_change_state), (gst_bin_change_state_norecurse):
* gst/gstbin.h:
* testsuite/threads/Makefile.am:
* testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
(cb_state), (cb_play), (main):
Fix non-recursive state changes to *really* change the state
of the object, and not just call parent_class->state_change.
Fix a lot of lockups caused by this. Fixes #132775. Add test
for the problem. Also enable test to show #142588 (fixed).
* gst/gstthread.c: (gst_thread_change_state),
(gst_thread_child_state_change):
Don't exit the thread if we go to NULL and are inside thread
context. Instead, return control to the main thread context
and exit from there.
* gst/gstelement.c: (gst_element_disable_threadsafe_properties):
Don't unset virtual functions, since those may still be used.
That's not necessarily correct, but suffices for now.
* configure.ac:
* testsuite/Makefile.am:
* testsuite/pad/Makefile.am:
* testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
(gst_test_sink_base_init), (gst_test_sink_chain),
(gst_test_sink_init), (main):
* testsuite/pad/getnopush.c: (gst_test_src_class_init),
(gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
(main):
* testsuite/pad/link.c: (gst_test_element_class_init),
(gst_test_element_base_init), (gst_test_src_get),
(gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
(gst_test_filter_loop), (gst_test_filter_init),
(gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
(cb_error), (main):
Add tests to show #150546. Pass, but should fail (currently
disabled from the testsuite).
* gst/gstscheduler.c: (gst_scheduler_dispose):
Dereference child schedulers on dispose (#94464).
* testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
Fix typo.
* testsuite/threads/thread.c: (main):
Add more debug.
2005-01-31 15:51:19 +00:00
Ronald S. Bultje
f861881c6c gst/gstpad.c: Oops, revert previous commit, broke testsuite...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_push):
Oops, revert previous commit, broke testsuite...
2005-01-29 17:32:15 +00:00
Ronald S. Bultje
d8e67497f9 gst/gstpad.c: Add check that the pad on which the push is performed is not a get-based pad (#150546).
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_push):
Add check that the pad on which the push is performed is not a
get-based pad (#150546).
2005-01-29 13:38:44 +00:00
Ronald S. Bultje
5adea0d2f9 gst/elements/gsttypefindelement.c: Fix buffer pushing if stream EOSes during typefinding.
Original commit message from CVS:
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_handle_event):
Fix buffer pushing if stream EOSes during typefinding.
2005-01-28 10:12:07 +00:00
Ronald S. Bultje
c1f7b619d3 gst/gstvalue.c: Allow NULL-strings as argument (#165365).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/gstvalue.c: (gst_string_wrap):
Allow NULL-strings as argument (#165365).
2005-01-28 09:37:41 +00:00
Ronald S. Bultje
a410bdd96f gst/schedulers/faircothreads.c: Fix build without debug enabled.
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/schedulers/faircothreads.c:
(gst_fair_scheduler_cothread_queue_show):
Fix build without debug enabled.
2005-01-27 10:00:00 +00:00
Stefan Kost
c44852739c install style.css along with docs fixing incomplete docs
Original commit message from CVS:
install style.css along with docs
fixing incomplete docs
2005-01-24 17:04:08 +00:00
Tim-Philipp Müller
6c51a29b9a Don't unref seek event twice in case where fflush() fails
Original commit message from CVS:
Don't unref seek event twice in case where fflush() fails
2005-01-24 11:04:37 +00:00
Stefan Kost
ca511598f4 added params for deprecation guards documented some more enums
Original commit message from CVS:
added params for deprecation guards
documented some more enums
2005-01-21 17:52:50 +00:00
Jan Schmidt
04b470bd86 gst/autoplug/gstspideridentity.c: Cosmetic fix - spider_find_peek should be static
Original commit message from CVS:
* gst/autoplug/gstspideridentity.c:
Cosmetic fix - spider_find_peek should be static
* gst/parse/parse.l:
Applying fix for #164261
2005-01-18 15:39:14 +00:00
Stefan Kost
34592a842b added docs for the TAG defines
Original commit message from CVS:
added docs for the TAG defines
2005-01-18 14:15:30 +00:00
Ronald S. Bultje
defab93002 gst/schedulers/gstoptimalscheduler.c: Only unref entry if there is an entry.
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c: (schedule_group):
Only unref entry if there is an entry.
2005-01-18 11:29:12 +00:00
Wim Taymans
c6b82b338b gst/schedulers/gstoptimalscheduler.c: Also ref/unref decoupled elements before iterating the group since they are not...
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c: (add_to_group),
(remove_from_group), (schedule_group), (normalize_group),
(gst_opt_scheduler_iterate):
Also ref/unref decoupled elements before iterating the
group since they are not added to the list of elements.
2005-01-17 16:30:42 +00:00
Ronald S. Bultje
7c82638d25 docs/: by Steve Baker
Original commit message from CVS:
* docs/pwg/advanced-types.xml:
* docs/random/mimetypes:
Add documentation on libsndfile types (#163309), by Steve Baker
<steve@stevebaker.org>.
* gst/gstelement.c: (gst_element_release_request_pad):
If an element has no explicit function, just remove the pad.
2005-01-17 13:48:13 +00:00
Ronald S. Bultje
d4fec072e7 gst/registries/gstxmlregistry.c: Fix memleak (#163801).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
Fix memleak (#163801).
2005-01-17 12:53:37 +00:00
Ronald S. Bultje
c0ea459eae gst/elements/gsttee.c: I think this is actually moer correct...
Original commit message from CVS:
* gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
I think this is actually moer correct...
2005-01-17 10:12:40 +00:00
Ronald S. Bultje
7e75b2b0f0 gst/gstprobe.c: Another workaround for memory access while destroyed in callback.
Original commit message from CVS:
* gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
Another workaround for memory access while destroyed in callback.
Please, someone with refcount knowledge, have a look at this.
2005-01-16 14:36:58 +00:00
Ronald S. Bultje
e1f61a002b gst/elements/gsttee.c: Fix negotiation.
Original commit message from CVS:
* gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
(gst_tee_request_new_pad):
Fix negotiation.
2005-01-14 17:23:59 +00:00
Thomas Vander Stichele
3b69e254c4 doh, wrong patch
Original commit message from CVS:
doh, wrong patch
2005-01-13 16:50:49 +00:00
Thomas Vander Stichele
805ecd1f81 gst/: allow probes to work on ghost pads by realizing the pad probe debugging
Original commit message from CVS:

* gst/gstpad.h:
* gst/gstprobe.c:
allow probes to work on ghost pads by realizing the pad
probe debugging
2005-01-13 15:29:40 +00:00
Ronald S. Bultje
28f58530fe Add gst_pad_set_active_recursive().
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/gstpad.sgml:
* gst/gstpad.c: (gst_pad_set_active_recursive):
* gst/gstpad.h:
Add gst_pad_set_active_recursive().
2005-01-11 00:40:13 +00:00
Thomas Vander Stichele
b848c8be0a docs/random/release: updates
Original commit message from CVS:
* docs/random/release:
updates
* gst/gst_private.h:
* gst/gstinfo.c:
* gst/gstobject.c:
move deep_notify logging to a new category
* gst/gstprobe.c:
* gst/gstprobe.h:
add stuff so bindings can wrap probes
2005-01-10 17:23:42 +00:00
Stéphane Loeuillet
a9713ad5da gst/gstplugin.c: Fix plugin loading if plugin/lib was already loaded. Fixes #163383
Original commit message from CVS:
* gst/gstplugin.c: (gst_plugin_load):
Fix plugin loading if plugin/lib was already loaded. Fixes
#163383
2005-01-09 13:37:33 +00:00
Ronald S. Bultje
1ffedb43a3 gst/gstpluginfeature.c: Protect plugin loading by a mutex so it's threadsafe. Fixes #163234.
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
Protect plugin loading by a mutex so it's threadsafe. Fixes
#163234.
2005-01-09 01:35:01 +00:00
Ronald S. Bultje
58efb5a941 gst/gstevent.c: Reference source object when copying events, since it'll be dereferenced on event dereferencing as well.
Original commit message from CVS:
* gst/gstevent.c: (_gst_event_copy):
Reference source object when copying events, since it'll be
dereferenced on event dereferencing as well.
2005-01-08 21:33:03 +00:00
Ronald S. Bultje
66d5da4f17 Add two new functions for filler events (which are used to synchronize streams if one of them is not having any data ...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/gstevent.sgml:
* gst/gstevent.c: (gst_event_new_filler_stamped),
(gst_event_filler_get_duration):
* gst/gstevent.h:
Add two new functions for filler events (which are used to
synchronize streams if one of them is not having any data
for a while) without interrupting the actual data-stream.
Basically a no-op.
* gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
(gst_queue_link_sink), (gst_queue_link_src),
(gst_queue_change_state):
Allow for renegotiation while filled. Required for stream
switching while playing.
2005-01-08 18:10:50 +00:00
Benjamin Otte
ba4b71e86a gst/gstelement.c: fix up g_return_if_fail's
Original commit message from CVS:
* gst/gstelement.c: (gst_element_link_many):
fix up g_return_if_fail's
* po/LINGUAS:
* po/de.po:
add German translation, that was somehow not included
2005-01-08 17:38:39 +00:00
Ronald S. Bultje
374b65ad37 gst/gstprobe.c: Check for existence of probe after performing the probe before re-accessing it to prevent segfaults c...
Original commit message from CVS:
* gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
Check for existence of probe after performing the probe before
re-accessing it to prevent segfaults caused by removal of the
probe in the callback.
2005-01-07 16:40:38 +00:00
David Schleef
e76390343f gst/gstvalue.h: Mark _gst_reserved[] as private
Original commit message from CVS:
* gst/gstvalue.h: Mark _gst_reserved[] as private
2005-01-06 01:08:23 +00:00
David Schleef
8508c23248 gst/gstvalue.c: Fix doc build problem.
Original commit message from CVS:
* gst/gstvalue.c: Fix doc build problem.
2005-01-06 00:45:04 +00:00
David Schleef
b7f6134053 gst/gstvalue.c: Add some documentation
Original commit message from CVS:
* gst/gstvalue.c: Add some documentation
2005-01-05 23:21:18 +00:00
Stefan Kost
35441095b2 another shell oneliner for empty return value docs more doc fixes (parameters and return values)
Original commit message from CVS:
another shell oneliner for empty return value docs
more doc fixes (parameters and return values)
2005-01-05 13:17:28 +00:00
Ronald S. Bultje
d742d805d4 gst/: Fix macro's for Mingw (fixes #162276).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/gstregistry.h:
* gst/registries/gstxmlregistry.c:
Fix macro's for Mingw (fixes #162276).
2005-01-05 11:15:04 +00:00
Stefan Kost
e2de071d42 quick shell oneliner to find undocumented members in docs/README more enumtypes cleanup activated documentation comme...
Original commit message from CVS:
quick shell oneliner to find undocumented members in docs/README
more enumtypes cleanup
activated documentation comments, now someone needs to document the enums :(
2005-01-04 18:13:51 +00:00
Stéphane Loeuillet
f04595fbf1 gst/gstplugin.c: document gst_library_load a bit more (riff special case + return value if already loaded)
Original commit message from CVS:
* gst/gstplugin.c:
document gst_library_load a bit more (riff special case + return value if already loaded)
* testsuite/bytestream/filepadsink.c:
plugin name is 'gstbytestream', not 'bytestream'
2004-12-27 15:09:19 +00:00
Thomas Vander Stichele
d5e4273820 Fix for #159852 - make iterate emission threadsafe
Original commit message from CVS:
Fix for #159852 - make iterate emission threadsafe
2004-12-21 11:16:32 +00:00
Benjamin Otte
5f22a8a6d7 gst/gstvalue.c: use deprecated g_value_set_string_take_ownership to keep compatible with glib 2.2
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_deserialize_string):
use deprecated g_value_set_string_take_ownership to keep compatible
with glib 2.2
2004-12-17 03:58:13 +00:00
Benjamin Otte
bdc0432ec6 gst/gstvalue.c: revert last patch, only dom a g_utf8_validate now before accepting the string - caps parsing strips "...
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_deserialize_string):
revert last patch, only dom a g_utf8_validate now before accepting
the string - caps parsing strips " from strings so we can't rely on
them
* testsuite/caps/value_serialize.c: (test_string_deserialization):
disable a test that tested the above and comment it
2004-12-17 02:52:24 +00:00
Ronald S. Bultje
df7ac68e78 gst/gstpad.c: Do query on realized pad, similar to how convert/send_event handle this. Also makes sense, since this p...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_query):
Do query on realized pad, similar to how convert/send_event handle
this. Also makes sense, since this pad belongs to the function to
which this query will be sent. Fixes #158163.
2004-12-16 23:44:34 +00:00
Benjamin Otte
0c11c636bd gst/gstvalue.c: check that a simple string that gets deserialized does not contain invalid characters
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_deserialize_string):
check that a simple string that gets deserialized does not contain
invalid characters
* testsuite/caps/value_serialize.c: (test_string_deserialization):
remove a test that tested a wring behaviour
2004-12-16 20:56:52 +00:00
Ronald S. Bultje
a5075440e6 gst/gstelementfactory.c: Fix compile failure if compiling without libxml2 support (#149936).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/gstelementfactory.c: (gst_element_factory_create):
Fix compile failure if compiling without libxml2 support (#149936).
2004-12-16 10:40:05 +00:00
Wim Taymans
d960f7f99e gst/schedulers/gstoptimalscheduler.c: Fix bug where a flag was not updated on a decoupled entry point because we were...
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c: (add_to_group),
(remove_from_group), (group_elements_set_visited),
(normalize_group), (gst_opt_scheduler_iterate):
Fix bug where a flag was not updated on a decoupled entry point
because we were just checking the group element list and decoupled
elements are not in that list..
2004-12-15 10:34:29 +00:00
David Schleef
7569c4e6ee gst/gstpad.c: Allow caps to be NULL (bug #160220).
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
be NULL (bug #160220).
2004-12-14 06:25:25 +00:00
Ronald S. Bultje
775fdce96e gst/gstqueue.c: Check for availability again.
Original commit message from CVS:
* gst/gstqueue.c: (gst_queue_handle_src_query):
Check for availability again.
2004-12-09 16:13:18 +00:00
Ronald S. Bultje
563aa73f77 gst/gstcaps.c: Simple caps go first. This has the nice side-effect of fixing an obscure warning.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_compare_structures):
Simple caps go first. This has the nice side-effect of fixing an
obscure warning.
2004-12-09 15:32:17 +00:00
Ronald S. Bultje
de305e8e62 gst/gstversion.h.in: Protect header.
Original commit message from CVS:
* gst/gstversion.h.in:
Protect header.
2004-12-09 13:37:18 +00:00
Ronald S. Bultje
474d0415aa gst/schedulers/gstoptimalscheduler.c: When we're recursing into a chain run, only run the directly related group, not...
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c:
(gst_opt_scheduler_schedule_run_queue), (schedule_chain),
(gst_opt_scheduler_get_wrapper):
When we're recursing into a chain run, only run the directly
related group, not all queued ones. This will fix a possible
deadlock in chains with more than two groups.
2004-12-09 11:48:28 +00:00
Thomas Vander Stichele
6688e2fd48 add accessor for version field
Original commit message from CVS:
add accessor for version field
2004-12-07 18:50:39 +00:00
Ronald S. Bultje
8291c44aa1 gst/gstpad.c: GST_RPAD_* will only operate on a RealPad (it casts the pointer, it doesn't actually check the contents...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_is_negotiated),
(gst_pad_get_negotiated_caps):
GST_RPAD_* will only operate on a RealPad (it casts the pointer,
it doesn't actually check the contents), so be sure to hand it
a RealPad else we'll crash.
2004-12-03 13:24:15 +00:00
Wim Taymans
d6e66eee73 gst/gstqueue.c: Reverted to 1.110 until this makes the testsuite and various apps work.
Original commit message from CVS:
* gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
(gst_queue_link), (gst_queue_handle_src_query):
Reverted to 1.110 until this makes the testsuite and various
apps work.
2004-12-03 11:24:01 +00:00
Ronald S. Bultje
6af3cb71c8 gst/gstelement.c: Use g_error_new_literal because error text may have percentage signs in it. Fixes #160019.
Original commit message from CVS:
Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/gstelement.c: (gst_element_error_full):
Use g_error_new_literal because error text may have
percentage signs in it. Fixes #160019.
2004-12-01 09:44:22 +00:00
Benjamin Otte
802e18724d gst/elements/gstbufferstore.c: don't try to make subbuffers bigger than they can be. (fixes #159970)
Original commit message from CVS:
* gst/elements/gstbufferstore.c:
(gst_buffer_store_add_buffer_func):
don't try to make subbuffers bigger than they can be. (fixes
#159970)
2004-11-30 23:45:36 +00:00
Ronald S. Bultje
8d61d9045d gst/: Deprecate _type_is_fixed, use _value_is_fixed instead, since the fixedness depends on the content.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_is_fixed_foreach):
* gst/gstpad.c: (_gst_pad_default_fixate_value),
(_gst_pad_default_fixate_foreach):
* gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
* gst/gstvalue.h:
Deprecate _type_is_fixed, use _value_is_fixed instead, since
in some cases (arrays), the fixedness depends on the content.
* gst/gstqueue.c: (gst_queue_handle_src_query):
Check for availability before doing something.
2004-11-29 17:02:09 +00:00
Benjamin Otte
a9bad8aa6e gst/gstelement.c: simplify
Original commit message from CVS:
* gst/gstelement.c: (gst_element_negotiate_pads):
simplify
* gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
(gst_value_serialize_string), (gst_value_deserialize_string):
add unwrapping of previously wrapped strings. Fix bug in wrapping
while at it.
* testsuite/caps/value_serialize.c: (test1),
(test_string_serialization), (test_string_deserialization), (main):
add tests for string (de)serialization
2004-11-28 18:02:48 +00:00
Wim Taymans
12a0211728 gst/gstthread.c: Ref the thread object in the GThread mainloop. Break out of the thread mainloop if it holds the last...
Original commit message from CVS:
* gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
(gst_thread_child_state_change), (gst_thread_main_loop):
Ref the thread object in the GThread mainloop. Break out of the
thread mainloop if it holds the last ref. This properly exits
the threads when disposing the thread from its own context. It
also avoids possible deadlocks in the dispose function.
2004-11-25 12:46:50 +00:00
Martin Soto
6c376ecbf5 gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when it is necessary to wait.
Original commit message from CVS:
2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>

* gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
it is necessary to wait.
2004-11-24 18:54:35 +00:00
Martin Soto
709bfe8a23 gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
Original commit message from CVS:
2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>

* gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
(gst_queue_link_src): Allow for renegotiating the caps of the sink
pad. The queue will now wait until it is empty and forward the new
caps to the source.
* gst/gstbin.c (gst_bin_set_element_sched)
(gst_bin_unset_element_sched): Make sure that all elements and
links are registered and unregistered with the scheduler exactly
once. This elaborates on a fix by Benjamin Otte, but
guarantees that decoupled elements are also registered.
2004-11-22 23:50:37 +00:00
Thomas Vander Stichele
4a2df81cce docs/manual/quotes.xml: add a quote
Original commit message from CVS:
* docs/manual/quotes.xml:
add a quote
* configure.ac:
* gst/gst.c:
* gst/gstinfo.c:
add LIBDIR and move init message higher up so it's at the start
2004-11-11 15:40:00 +00:00
Christian Schaller
4f8aa88b14 fix build after commit of fair :)
Original commit message from CVS:
fix build after commit of fair :)
2004-11-08 18:51:12 +00:00
Christophe Fergeau
93f541efef gst/elements/: Subtract size of internally stored data from position queries.
Original commit message from CVS:
* gst/elements/gstfakesink.c: (gst_fakesink_class_init):
* gst/elements/gstidentity.c: (gst_identity_class_init):
Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
<teuf@gnome.org> (#157263).
* gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
(gst_type_find_handle_src_query):
Subtract size of internally stored data from position queries.
2004-11-08 15:45:31 +00:00
Martin Soto
7bf7d80452 gst/gstpad.c (gst_pad_collectv): Fix the return line.
Original commit message from CVS:
2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>

* gst/gstpad.c (gst_pad_collectv): Fix the return line.
(gst_pad_collect_valist): Fix gst_pad_collect_array
invocation. Apparently this functions were never tested.
2004-11-07 20:10:18 +00:00
Martin Soto
727725d959 gst/schedulers/: New cothread based scheduler: Fair scheduler.
Original commit message from CVS:
2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>

* gst/schedulers/fairscheduler.c:
* gst/schedulers/faircothreads.c:
* gst/schedulers/faircothreads.h:
New cothread based scheduler: Fair scheduler.
* gst/schedulers/gthread-cothreads.h:
Add the standard #if around the whole file.
Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
compilation of the functions defined in this file. This is
necessary to be able to use this file as a normal header.
* gst/schedulers/Makefile.am: Add compiling support for fair
scheduler.
* docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
scheduler cothreads layer from documentation generation.
2004-11-07 19:31:39 +00:00
Ronald S. Bultje
a358d1c135 gst/autoplug/gstspideridentity.c: Don't crash if that function is not implemented.
Original commit message from CVS:
* gst/autoplug/gstspideridentity.c:
(gst_spider_identity_sink_loop_type_finding):
Don't crash if that function is not implemented.
2004-11-07 17:16:31 +00:00
Ronald S. Bultje
79b77446d8 docs/pwg/: Typo fixes.
Original commit message from CVS:
* docs/pwg/advanced-scheduling.xml:
* docs/pwg/advanced-tagging.xml:
* docs/pwg/advanced-types.xml:
* docs/pwg/building-boiler.xml:
* docs/pwg/building-chainfn.xml:
* docs/pwg/building-signals.xml:
* docs/pwg/building-state.xml:
* docs/pwg/building-testapp.xml:
* docs/pwg/intro-basics.xml:
* docs/pwg/other-manager.xml:
* docs/pwg/other-source.xml:
Typo fixes.
* docs/pwg/other-manager.xml:
Add some first content. No example code yet.
* gst/elements/gstfilesink.c: (gst_filesink_handle_event):
Remove double newlines.
2004-11-06 10:28:07 +00:00
Wim Taymans
df7f3e4161 Added testcase for schduler segfault.
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c: (add_to_group),
(remove_from_group), (normalize_group), (group_migrate_connected),
(gst_opt_scheduler_iterate):
* testsuite/schedulers/.cvsignore:
* testsuite/schedulers/Makefile.am:
* testsuite/schedulers/queue_link.c: (main):
Added testcase for schduler segfault.
Fix scheduler segfault when removing a decoupled
entry point as the last element from a group.
2004-11-04 11:03:48 +00:00
Christophe Fergeau
a1892cc3a3 gst/gstmarshal.list: add missing marshaller, fixes build
Original commit message from CVS:
2004-11-03  Christophe Fergeau  <teuf@gnome.org>

* gst/gstmarshal.list: add missing marshaller, fixes build
2004-11-03 21:01:44 +00:00
Christophe Fergeau
074dc0340c gst/elements/: more
Original commit message from CVS:
2004-11-03  Christophe Fergeau  <teuf@gnome.org>

* gst/elements/gstfakesink.c: (gst_fakesink_class_init):
* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
POINTER=>BOXED changes to marshal GstBuffers
2004-11-03 18:01:29 +00:00
Christophe Fergeau
e3b6aa4916 gst/elements/gstidentity.c: GstBuffer is a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
Original commit message from CVS:
2004-11-03  Christophe Fergeau  <teuf@gnome.org>

* gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is
a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
2004-11-03 17:45:02 +00:00
Stefan Kost
e56b667c00 added some more docs, removed two obsolete defines
Original commit message from CVS:
added some more docs, removed two obsolete defines
2004-11-03 09:21:01 +00:00
Wim Taymans
6d42edd550 gst/: Aplied part of patch #157127: Cleanup of issues reported by sparse.
Original commit message from CVS:
reviewed by: Wim Taymans, Ronald Bultje.

* gst/cothreads.c: (cothread_create):
* gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
(gst_bin_child_state_change_func):
* gst/gstbuffer.c: (gst_buffer_span):
* gst/gstelement.c: (gst_element_get_index),
(gst_element_get_event_masks), (gst_element_get_query_types),
(gst_element_get_formats):
* gst/gsterror.c: (_gst_core_errors_init),
(_gst_library_errors_init), (_gst_resource_errors_init),
(_gst_stream_errors_init):
* gst/gstobject.c: (gst_object_default_deep_notify):
* gst/gstpad.c: (gst_pad_get_event_masks),
(gst_pad_get_internal_links_default):
* gst/gstplugin.c: (gst_plugin_register_func),
(gst_plugin_get_module):
* gst/gststructure.c: (gst_structure_get_string),
(gst_structure_get_abbrs), (gst_structure_from_abbr),
(gst_structure_to_abbr):
* gst/gstutils.c: (gst_print_element_args):
* gst/schedulers/gstoptimalscheduler.c: (add_to_group),
(setup_group_scheduler), (gst_opt_scheduler_iterate):
Aplied part of patch #157127: Cleanup of issues reported by
sparse.
Also do not try to use cothreads when there is no cothread
context yet.
2004-11-02 15:02:12 +00:00
Wim Taymans
6a110e062f gst/schedulers/gstoptimalscheduler.c: Aplied patch #154061. Running a pipeline in which an element calls GST_ELEMENT_...
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c: (add_to_group),
(gst_opt_scheduler_iterate):
Aplied patch #154061. Running a pipeline in which an element
calls GST_ELEMENT_ERROR in the chain function, the opt
scheduler doesn't unref the chain so it never gets freed.
2004-11-02 13:08:41 +00:00
Wim Taymans
824c331e32 gst/gststructure.c: Remove that ugly if-then thing in the code that converts between strings and types.
Original commit message from CVS:
* gst/gststructure.c: (gst_structure_get_abbrs),
(gst_structure_from_abbr), (gst_structure_to_abbr):
Remove that ugly if-then thing in the code that converts
between strings and types.
2004-11-02 12:39:27 +00:00
Wim Taymans
3207eb2f42 gst/gstscheduler.c: Aplied clock distribution patch, this should fix bug #148787.
Original commit message from CVS:
* gst/gstscheduler.c: (gst_scheduler_add_element),
(gst_scheduler_remove_element), (gst_scheduler_state_transition):
Aplied clock distribution patch, this should fix bug
#148787.
2004-11-02 12:33:24 +00:00
Wim Taymans
3cf9fdfcb7 Since parse can do 'element name=a:b' make 'a:b.' work as well.
Original commit message from CVS:
* gst/parse/parse.l:
* testsuite/parse/parse1.c: (main):
Since parse can do 'element name=a:b' make 'a:b.' work as
well.
Added testcase to verify fix.
2004-10-19 09:38:20 +00:00
Stefan Kost
e719825726 more api documentation better error signaling and logging
Original commit message from CVS:
more api documentation
better error signaling and logging
2004-10-13 13:03:25 +00:00
Ronald S. Bultje
c36f2f830a gst/gstqueue.c: Subtract current queue contents from position queries.
Original commit message from CVS:
* gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
Subtract current queue contents from position queries.
2004-10-11 13:14:03 +00:00
Johan Dahlin
970da8b0f9 gst/gsturi.c (gst_uri_get_location): unescape string escape string.
Original commit message from CVS:
* gst/gsturi.c (gst_uri_get_location): unescape string
(gst_uri_construct): escape string.
2004-10-11 09:44:05 +00:00
Benjamin Otte
bedb0bef2b gst/gstpad.c: allow renegotiation of unconnected pads (as inside spider). Simply return OK if unconnected - mimic try...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
(gst_pad_try_set_caps_nonfixed):
allow renegotiation of unconnected pads (as inside spider). Simply
return OK if unconnected - mimic try_set_caps there.
2004-10-11 05:23:40 +00:00
Ronald S. Bultje
1a8ff9d37b gst/gstbin.c: Add missing break.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_sync_children_state):
Add missing break.
2004-10-09 13:11:46 +00:00
Zaheer Abbas Merali
852fb1eaf2 gst/elements/gstfakesrc.c: Set element to EOS before sending EOS event
Original commit message from CVS:
2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

* gst/elements/gstfakesrc.c: (gst_fakesrc_get):
Set element to EOS before sending EOS event
2004-10-09 12:43:26 +00:00
Wim Taymans
b2db2cd1c8 gst/elements/gsttypefindelement.c: Handle EOS events when doing the transition from typefind to data passing. This sh...
Original commit message from CVS:
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_handle_event):
Handle EOS events when doing the transition from
typefind to data passing. This should fix the
infinite loops in short files.
2004-10-08 09:36:50 +00:00
Wim Taymans
625722ecdc gst/gstthread.c: Make sure no iteration happens while performing the state change as it could mess up the internal co...
Original commit message from CVS:
* gst/gstthread.c: (gst_thread_change_state),
(gst_thread_child_state_change):
Make sure no iteration happens while performing
the state change as it could mess up the internal
consistency of the thread state.
2004-10-07 18:34:57 +00:00
Wim Taymans
c43a7670f0 gst/gstthread.c: Do not try to grab the iterate lock in the state change method when we are in the same thread as the...
Original commit message from CVS:
* gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
(gst_thread_change_state), (gst_thread_child_state_change):
Do not try to grab the iterate lock in the state change method
when we are in the same thread as the iterate or else we
could deadlock. Some other cleanups.
2004-10-07 17:41:40 +00:00
Wim Taymans
87835a9628 gst/elements/gsttypefindelement.c: Push the buffer store instead of clearing it in case that the stream is not seekable.
Original commit message from CVS:
* gst/elements/gsttypefindelement.c: (stop_typefinding):
Push the buffer store instead of clearing it in case that
the stream is not seekable.
2004-10-06 11:59:01 +00:00
Wim Taymans
031d317274 gst/gstthread.c: Lock the iteration and the state change so that automatic negotiation and fixation does not happen a...
Original commit message from CVS:
* gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
(gst_thread_main_loop):
Lock the iteration and the state change so that automatic
negotiation and fixation does not happen at the same time
as the in stream negotiation.
2004-10-06 09:42:27 +00:00
Thomas Vander Stichele
c06e12f42f configure.ac
Original commit message from CVS:
configure.ac
2004-10-05 08:52:37 +00:00
Thomas Vander Stichele
e45b8c2be6 fix typefind discont handling, #153657
Original commit message from CVS:
fix typefind discont handling, #153657
2004-09-26 17:48:05 +00:00
Thomas Vander Stichele
3cd8266b12 revert preferred caps
Original commit message from CVS:
revert preferred caps
2004-09-26 17:35:08 +00:00
Ronald S. Bultje
bd2d8d6e6a gst/gstelement.c: Well, actually, I was about to remove this insane assert when
Original commit message from CVS:
* gst/gstelement.c: (gst_element_change_state):
Well, actually, I was about to remove this insane assert when
I noticed Wim already did that. A warning is nice so we can
fix actual ugs (using --g-fatal-warnings and backtraces), so
I added that instead.
2004-09-06 18:47:14 +00:00
Wim Taymans
5905655ead Reworked the GstThread implementation, make more operations threadsafe and more reliable.
Original commit message from CVS:
* gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
(gst_thread_change_state), (gst_thread_child_state_change),
(gst_thread_main_loop):
* gst/gstthread.h:
* testsuite/threads/Makefile.am:
* testsuite/threads/queue.c:
* testsuite/threads/thread.c: (construct_pipeline), (change_state),
(main):
* testsuite/threads/threadc.c: (construct_pipeline):
* testsuite/threads/threadd.c: (main):
* testsuite/threads/threade.c: (main):
* testsuite/threads/threadf.c:
Reworked the GstThread implementation, make more operations
threadsafe and more reliable.
Moved testcases from the failing to the working list.
2004-09-06 15:57:11 +00:00
Wim Taymans
6e89c000bb gst/gstelement.c: Added extra refcounting around various places.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
(gst_element_threadsafe_properties_post_run),
(gst_element_set_state), (gst_element_change_state):
Added extra refcounting around various places.
2004-09-06 15:14:01 +00:00
Wim Taymans
c23fde0c51 gst/gstpad.c: Fix debug info.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_link_call_link_functions):
Fix debug info.
2004-09-06 15:02:48 +00:00
Wim Taymans
6ff129d07d gst/schedulers/gstoptimalscheduler.c: Some more debug info.
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c: (add_to_group),
(remove_from_group):
Some more debug info.
2004-09-06 14:55:57 +00:00
Wim Taymans
5d2684999f gst/elements/: Added datarate properties to limit the datarate.
Original commit message from CVS:
* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
(gst_fakesrc_init), (gst_fakesrc_set_clock),
(gst_fakesrc_set_property), (gst_fakesrc_get_property),
(gst_fakesrc_get), (gst_fakesrc_change_state):
* gst/elements/gstfakesrc.h:
* gst/elements/gstidentity.c: (gst_identity_class_init),
(gst_identity_init), (gst_identity_chain),
(gst_identity_set_property), (gst_identity_get_property),
(gst_identity_change_state):
* gst/elements/gstidentity.h:
Added datarate properties to limit the datarate.
2004-09-03 11:40:35 +00:00
Stefan Kost
b78ef6baa1 added better error reporting for plugin loading
Original commit message from CVS:
added better error reporting for plugin loading
2004-09-02 16:39:14 +00:00
Stefan Kost
b32ebdaabe added documentation to many items moved the GST_TYPE_XXX one to the Standart section, as they do not need docs
Original commit message from CVS:
added documentation to many items
moved the GST_TYPE_XXX one to the Standart section, as they do not need docs
2004-09-02 14:24:22 +00:00
Stefan Kost
978c272fa3 moved docs to sgml files added first batch of docs provided by ronald
Original commit message from CVS:
moved docs to sgml files
added first batch of docs provided by ronald
2004-08-31 17:14:03 +00:00
Stefan Kost
e5626fe81a andanother type fix of mine :-(
Original commit message from CVS:
andanother type fix of mine :-(
2004-08-31 16:15:38 +00:00
Stefan Kost
8aeee68ea1 added docs for GST_PLUGIN_DEFINE and GST_PLUGIN_DEFINE_STATIC
Original commit message from CVS:
added docs for GST_PLUGIN_DEFINE and GST_PLUGIN_DEFINE_STATIC
2004-08-31 14:40:34 +00:00
Benjamin Otte
ef46525f83 gst/autoplug/gstspider.c: don't set a rank. We don't want to autoplug by inserting spiders.
Original commit message from CVS:
* gst/autoplug/gstspider.c: (plugin_init):
don't set a rank. We don't want to autoplug by inserting spiders.
2004-08-25 14:25:55 +00:00
Benjamin Otte
fb9387cb91 gst/autoplug/gstspider.c: add a template for spider's sink
Original commit message from CVS:
* gst/autoplug/gstspider.c: (gst_spider_class_init),
(gst_spider_identity_plug):
add a template for spider's sink
* gst/gst.c: (gst_register_core_elements):
queue's rank should be NULL, we don't want spider to add it.
2004-08-22 13:00:46 +00:00
David Schleef
aa6049eb61 docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
Original commit message from CVS:
* docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
* docs/libs/Makefile.am: same
* docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
* docs/random/ds/0.9-planning: random additions
* docs/random/ds/0.9-suggested-changes: same
* gst/gstxml.h: remove vestigal GstXMLNs definition
Preferred caps: (#147789)
* docs/gst/gstreamer-sections.txt: Add symbols
* docs/gst/tmpl/gstcaps.sgml: Add symbols
* gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
(gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
(gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
(gst_caps_get_preferred), (gst_caps_set_preferred),
(gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
(gst_caps_use_preferred): Handle caps preferences
* gst/gstcaps.h: Add caps preferences
* gst/gstpad.c: (gst_pad_link_get_preferred),
(gst_pad_link_fixate), (gst_pad_link_call_link_functions),
(gst_pad_renegotiate), (gst_pad_guess_preferred),
(gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
negotiation.
2004-08-18 21:46:55 +00:00
Benjamin Otte
7fb1f1901f gst/: s/gst_pad_new/&_from_template/ register pad templates in the base_init function add static pad template definit...
Original commit message from CVS:
* gst/autoplug/gstspideridentity.c:
(gst_spider_identity_request_new_pad):
* gst/elements/gstaggregator.c: (gst_aggregator_base_init),
(gst_aggregator_init):
* gst/elements/gstfakesink.c: (gst_fakesink_base_init),
(gst_fakesink_init):
* gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
(gst_fakesrc_init):
* gst/elements/gstfdsink.c: (gst_fdsink_base_init),
(gst_fdsink_init):
* gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
* gst/elements/gstfilesink.c: (gst_filesink_base_init),
(gst_filesink_init):
* gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
(gst_filesrc_init):
* gst/elements/gstidentity.c: (gst_identity_base_init),
(gst_identity_init):
* gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
(gst_multifilesrc_init):
* gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
(gst_pipefilter_init):
* gst/elements/gststatistics.c: (gst_statistics_base_init),
(gst_statistics_init):
* gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
* gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
s/gst_pad_new/&_from_template/
register pad templates in the base_init function
add static pad template definitions
2004-08-17 14:11:23 +00:00
Thomas Vander Stichele
38ca60f6fe fix memleaks - #150001
Original commit message from CVS:
fix memleaks - #150001
2004-08-17 09:16:42 +00:00
Thomas Vander Stichele
cfcd3502a9 fix for #150242
Original commit message from CVS:
fix for #150242
2004-08-16 10:35:36 +00:00
Thomas Vander Stichele
2797299404 small fixes before release
Original commit message from CVS:
small fixes before release
2004-08-13 13:31:22 +00:00
Thomas Vander Stichele
9d89e287ff add flag, reorder GstBuffer docs
Original commit message from CVS:
add flag, reorder GstBuffer docs
2004-08-12 10:56:40 +00:00
Benjamin Otte
3d53a08118 gst/elements/gstfilesrc.c: work with non-regular files that can be mmapped (like /dev/zero)
Original commit message from CVS:
* gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
work with non-regular files that can be mmapped (like /dev/zero)
* gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
get rid of typefinds that require a seek when we can't seek instead
of trying them over and over again
* tools/gst-launch.c: (idle_func), (error_cb), (main):
return non-zero failure value when the pipeline was interrupted or
an error occurred
2004-08-12 09:12:13 +00:00
Steve Lhomme
6730b41a8c fix a possible memory leak under Windows
Original commit message from CVS:
fix a possible memory leak under Windows
2004-08-11 18:56:39 +00:00
Benjamin Otte
6e15cb6ce9 add gst_scheduler_register shortcut similar to gst_element_register
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstscheduler.c: (gst_scheduler_register):
* gst/gstscheduler.h:
add gst_scheduler_register shortcut similar to gst_element_register
* gst/schedulers/entryscheduler.c: (plugin_init):
* gst/schedulers/gstbasicscheduler.c: (plugin_init):
* gst/schedulers/gstoptimalscheduler.c: (plugin_init):
use it
2004-08-11 09:54:52 +00:00
Steve Lhomme
6bf163742a fix a memory leak that occured under Windows
Original commit message from CVS:
fix a memory leak that occured under Windows
2004-08-10 19:23:53 +00:00
Colin Walters
0eadb80815 gst/registries/gstxmlregistry.c (gst_xml_registry_open_func): Don't use O_EXCL to open temporary registry. It will p...
Original commit message from CVS:
2004-08-10  Colin Walters  <walters@redhat.com>

* gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
Don't use O_EXCL to open temporary registry.  It will prevent
registry creation if a temporary one already exists, which
is unnecessary.
2004-08-10 17:28:19 +00:00
Steve Lhomme
18cd9394c0 export gst_type_XXX for windows DLLs enable NLS again, push the version number for the coming 0.8.5 release
Original commit message from CVS:
export gst_type_XXX for windows DLLs
enable NLS again, push the version number for the coming 0.8.5 release
2004-08-09 21:11:39 +00:00
Thomas Vander Stichele
b31eed4b70 docs/faq/gst-uninstalled: fix PKG_CONFIG_PATH and PYTHONPATH
Original commit message from CVS:
* docs/faq/gst-uninstalled:
fix PKG_CONFIG_PATH and PYTHONPATH
* gst/schedulers/Makefile.am:
cleanup
* libs/gst/bytestream/bytestream.c:
remove newline
* po/LINGUAS:
* po/sq.po:
adding Albanian translation (Laurent Dhima)
* po/cs.po:
updated
2004-08-09 09:20:06 +00:00
Benjamin Otte
ce7ad83f64 gst/gststructure.c: add gst_structure_id_empty_new_with_size to allow preallocating value array sizes. Use this in gs...
Original commit message from CVS:
* gst/gststructure.c: (gst_structure_id_empty_new_with_size),
(gst_structure_id_empty_new), (gst_structure_empty_new),
(gst_structure_copy):
add gst_structure_id_empty_new_with_size to allow preallocating
value array sizes. Use this in gst_structure_copy to get rid of
reallocs.
don't do quark=>string=>quark when copying structures
2004-08-04 12:39:12 +00:00
Benjamin Otte
f1472b4ed2 gst/schedulers/entryscheduler.c: fix for GST_DISABLE_DEBUG
Original commit message from CVS:
* gst/schedulers/entryscheduler.c:
(gst_entry_scheduler_remove_element):
fix for GST_DISABLE_DEBUG
* tools/gst-launch.c: (print_tag):
fixes for G_DISABLE_ASSERT
2004-08-03 14:29:31 +00:00
Benjamin Otte
afc9c06eb5 gst/gst.c: fix for G_DISABLE_ASSERT
Original commit message from CVS:
* gst/gst.c: (gst_register_core_elements):
fix for G_DISABLE_ASSERT
* gst/gstinfo.c: (__gst_in_valgrind):
add for GST_DISABLE_DEBUG
2004-08-03 12:40:47 +00:00
Benjamin Otte
f8f2f5a58d gst/parse/parse.l: fix for G_DISABLE_ASSERT
Original commit message from CVS:
* gst/parse/parse.l:
fix for G_DISABLE_ASSERT
2004-08-03 10:24:39 +00:00
Wim Taymans
2bb8691df2 gst/: Backported some debug logging from a reverted patch
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_get_type),
(gst_bin_child_state_change_func):
* gst/gstthread.c: (gst_thread_change_state):
Backported some debug logging from a reverted patch
Don't try to destroy the thread twice. Added some more
debugging in GstThread. Unlock and signal even if we
are in the thread context.
2004-08-03 09:51:37 +00:00
David Schleef
6ef8f673c9 gst/gstatomic_impl.h: Enable atomic code for x86_64
Original commit message from CVS:
* gst/gstatomic_impl.h: Enable atomic code for x86_64
2004-07-30 23:32:52 +00:00
Thomas Vander Stichele
8f0fda26d0 revert state change changes as agreed so we can rework them gradually
Original commit message from CVS:
revert state change changes as agreed so we can rework them gradually
2004-07-29 20:33:49 +00:00
Thomas Vander Stichele
2ed6c06492 fix instances in core before making this an error
Original commit message from CVS:
fix instances in core before making this an error
2004-07-29 20:26:32 +00:00
Benjamin Otte
6788d167d6 gst/elements/gstfilesrc.c: make seek events to before start/after end of file not fail, but seek to start/end instead
Original commit message from CVS:
* gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
(gst_filesrc_srcpad_event):
make seek events to before start/after end of file not fail, but
seek to start/end instead
* testsuite/caps/fraction-convert.c: (check_from_double_convert):
add more output
2004-07-29 15:34:25 +00:00
Benjamin Otte
2bd5f3ad46 gst/gstpad.c: check that caps are fixed
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_set_explicit_caps):
check that caps are fixed
* gst/gstpad.c: (gst_pad_template_new):
don't try to simplify caps, costs too much time on gst_init
* gst/gstplugin.c: (gst_plugin_add_feature):
G_ERROR if features are added twice
* gst/gsttypefind.c: (gst_type_find_register):
* gst/gstelementfactory.c: (gst_element_register):
don't add features twice
* docs/random/ds/0.9-suggested-changes:
add note about possible gst_init optimization
2004-07-29 15:29:37 +00:00
Brian Cameron
c0aa2ff498 Correcting some debug messages so that they don't core dump on Solaris by passing in NULL values as strings.
Original commit message from CVS:
Correcting some debug messages so that they don't core dump on Solaris
by passing in NULL values as strings.
2004-07-28 20:12:49 +00:00
David I. Lehn
3030cec8b5 Fix binary compatibility with 0.8.{0-3}. Closes bug 148692.
Original commit message from CVS:
Fix binary compatibility with 0.8.{0-3}.  Closes bug 148692.
2004-07-28 15:28:18 +00:00
Wim Taymans
f200c14dff gst/: Make sure that a bin state change tries to keep the children in sync.
Original commit message from CVS:
* gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
* gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
Make sure that a bin state change tries to keep the children
in sync.
Added debug logging to the thread.
2004-07-28 10:15:08 +00:00
Wim Taymans
36b41f4666 Added transform functions between double and fraction.
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_transform_double_fraction),
(gst_value_transform_fraction_double), (_gst_value_initialize):
* testsuite/caps/Makefile.am:
* testsuite/caps/fraction-convert.c: (check_from_double_convert),
(check_from_fraction_convert), (transform_test), (main):
Added transform functions between double and fraction.
Added testcase to verify transforms
2004-07-27 16:45:30 +00:00
Thomas Vander Stichele
d09834dc6f #148497
Original commit message from CVS:
#148497
2004-07-26 18:23:12 +00:00
Stefan Kost
526a406c2e corrected the comment about the struct poptOption workaround
Original commit message from CVS:
corrected the comment about the struct poptOption workaround
2004-07-26 17:45:10 +00:00
Stefan Kost
e4c86da4f5 fixed all double <TITLE> elements in sections.txt added missing <TITLE> elements in sections.txt
Original commit message from CVS:
fixed all double <TITLE> elements in sections.txt
added missing <TITLE> elements in sections.txt
2004-07-26 16:34:35 +00:00
Thomas Vander Stichele
8a374ddd88 improve some debug statements
Original commit message from CVS:
improve some debug statements
2004-07-26 12:05:41 +00:00
Benjamin Otte
1a8f31e577 gst/autoplug/gstspideridentity.c: don't delay links on the sink elements, it causes unnegotiated links.
Original commit message from CVS:
* gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
don't delay links on the sink elements, it causes unnegotiated
links.
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_base_init):
add our padtemplates, we indeed do have some.
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_handle_event),
(gst_type_find_element_chain):
don't push data when typefinding failed.
* gst/gstpad.c: (gst_pad_link_fixate):
check that no fixate function returns empty caps.
* gst/gstpad.c: (gst_pad_push):
check that the link is negotiated before data gets pushed.
* tools/gst-register.c: (main):
don't assert (fixes #148283)
2004-07-25 15:01:52 +00:00
Steve Lhomme
00260c591c remove unused .def files and export symbols using GST_PLUGIN_DEFINE
Original commit message from CVS:
remove unused .def files and export symbols using GST_PLUGIN_DEFINE
2004-07-25 11:07:03 +00:00
Steve Lhomme
2a189c2214 Disable NLS for now literaly export GST_CAT_DEFAULT
Original commit message from CVS:
Disable NLS for now
literaly export GST_CAT_DEFAULT
2004-07-24 16:07:01 +00:00
Steve Lhomme
d5ae66ef70 removing the file doesn't seem to be a good idea on Linux
Original commit message from CVS:
removing the file doesn't seem to be a good idea on Linux
2004-07-24 11:48:26 +00:00
Steve Lhomme
afef72241b Remove the registry before applying the new TMP file (for Windows)
Original commit message from CVS:
Remove the registry before applying the new TMP file (for Windows)
2004-07-24 10:43:57 +00:00
Zaheer Abbas Merali
13905b113e gst/elements/gstmultifilesrc.*: Added newmedia property so it generates newmedia events between each file when proper...
Original commit message from CVS:
2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

* gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
(gst_multifilesrc_init), (gst_multifilesrc_set_property),
(gst_multifilesrc_get_property), (gst_multifilesrc_get):
* gst/elements/gstmultifilesrc.h:
Added newmedia property so it generates newmedia events between each
file when property is set, as well as fixed eos handling
2004-07-23 13:09:27 +00:00
David Schleef
4fa4267105 gst/gststructure.c: Set type field correctly.
Original commit message from CVS:
* gst/gststructure.c: (gst_structure_id_empty_new),
(gst_structure_empty_new):  Set type field correctly.
* gst/gststructure.h: Check type field correctly.
* testsuite/caps/Makefile.am:
* testsuite/caps/structure.c: (test1), (main): Add a very small
test for structures.
2004-07-23 00:12:57 +00:00
Benjamin Otte
9574c7851f gst/gstelementfactory.c: set the factory in the class struct, so gst_element_get_factory actually works
Original commit message from CVS:
* gst/gstelementfactory.c: (gst_element_register):
set the factory in the class struct, so gst_element_get_factory
actually works
* gst/parse/grammar.y:
set element to playing when it gets unlocked as we can't rely on the
bin state - all elements in the bin state might still be locked in
NULL)
2004-07-22 16:14:56 +00:00
Benjamin Otte
66786dc6f9 gst/gstelement.c: make this a static function
Original commit message from CVS:
* gst/gstelement.c: (gst_element_set_state_func):
make this a static function
2004-07-22 11:21:54 +00:00
Wim Taymans
d5f0f798ac gst/schedulers/gstoptimalscheduler.c: fix 147894-2 and the group_link problem.
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
(gst_opt_scheduler_pad_link):
fix 147894-2 and the group_link problem.
2004-07-22 09:43:40 +00:00
Benjamin Otte
228cef489a keep this up to date, since I seem to be the only one who cares about not missing files on commits
Original commit message from CVS:
* gst/.cvsignore:
* gst/autoplug/.cvsignore:
* gst/elements/.cvsignore:
* gst/indexers/.cvsignore:
* libs/gst/bytestream/.cvsignore:
* libs/gst/control/.cvsignore:
* libs/gst/getbits/.cvsignore:
* testsuite/states/.cvsignore:
* testsuite/threads/.cvsignore:
keep this up to date, since I seem to be the only one who cares
about not missing files on commits
2004-07-21 21:37:31 +00:00
Benjamin Otte
28bf20507e gst/gstbin.c: make state changes work correctly and reentrant (so removing elements from bins during state changes of...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
(gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
(gst_bin_child_state_change_func), (set_kid_state_func),
(gst_bin_set_state), (gst_bin_change_state_norecurse):
make state changes work correctly and reentrant (so removing
elements from bins during state changes of bins doesn't cause
segfaults or even wrong states)
add debugging category and debugging output to print children states
* gst/gstbin.c: (gst_bin_dispose):
add some assertion checks
* gst/gstbin.h:
* gst/gstbin.c: (gst_bin_sync_children_state):
deprecate this function - it just does gst_bin_set_state (bin,
GST_STATE (bin))
* testsuite/threads/queue.c: (main):
don't use gst_bin_sync_children_state anymore
* testsuite/states/Makefile.am:
* testsuite/states/bin.c:
test that the state changes of bins work as expected
* gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
some adjustments to change states correctly, too
* gst/gstthread.c: (gst_thread_change_state):
don't enable/disable "threadsafe" properties, they're unused and
cause random segfaults
* testsuite/threads/Makefile.am:
the queue check randomly passes now, ignore it
2004-07-21 21:28:58 +00:00
Benjamin Otte
d8c591b902 gst/gstpad.c: check if data is NULL before outputting debug info. (fixes #145100)
Original commit message from CVS:
* gst/gstpad.c:
check if data is NULL before outputting debug info. (fixes #145100)
2004-07-21 21:20:10 +00:00
Benjamin Otte
04ec1a2ad9 gst/schedulers/entryscheduler.c: reset the state when the cothread starts, so we don't get assertion failures on rest...
Original commit message from CVS:
* gst/schedulers/entryscheduler.c:
(gst_entry_scheduler_loop_wrapper),
(gst_entry_scheduler_chain_wrapper),
(gst_entry_scheduler_get_wrapper):
reset the state when the cothread starts, so we don't get assertion
failures on restarting of cothreads
2004-07-21 19:41:52 +00:00
Stefan Kost
21e56edfbc put symbols in the sections.txt into the right sections (so that we dont get wrong undocumented symbols) added TITLE ...
Original commit message from CVS:
put symbols in the sections.txt into the right sections (so that we dont get wrong undocumented symbols)
added TITLE tags where they were missing
fixed section names so that gtk-doc introspection works
fixed typos in api docs and docbook docs
added some thoughts about new interfaces (to personal notes)
2004-07-21 11:32:09 +00:00
Benjamin Otte
e5a3b3f338 gst/gstelement.c: use correct sinkpad, if only sinkpad is specified, but not srcpad (fixes #147889)
Original commit message from CVS:
* gst/gstelement.c: (gst_element_link_pads_filtered):
use correct sinkpad, if only sinkpad is specified, but not srcpad
(fixes #147889)
* gst/gstelement.c: (gst_element_set_state_func),
(gst_element_change_state): ref/unref the element, signal handlers
could get rid of the element otherwise
2004-07-20 19:54:20 +00:00
Ronald S. Bultje
8b895dadce docs/random/ds/0.9-suggested-changes: Make note about renaming fixed-list to array.
Original commit message from CVS:
* docs/random/ds/0.9-suggested-changes:
Make note about renaming fixed-list to array.
* gst/gstvalue.c: (gst_value_intersect_fixed_list),
(_gst_value_initialize):
Add array intersections.
* testsuite/caps/intersect2.c: (main):
Add test for array intersections.
2004-07-20 19:35:15 +00:00
Thomas Vander Stichele
050631f63b fix for #142813 - deadlock in opt
Original commit message from CVS:
fix for #142813 - deadlock in opt
2004-07-20 10:57:38 +00:00
Thomas Vander Stichele
add97dd1ce fix for #147819 (Add some checks in the opt scheduler)
Original commit message from CVS:
fix for #147819 (Add some checks in the opt scheduler)
2004-07-20 10:40:09 +00:00
Thomas Vander Stichele
f8e7ca6ea9 fix for 147929: [PATCH] running gst-register in non-utf8 locale can cause invalid registry
Original commit message from CVS:
fix for 147929: [PATCH] running gst-register in non-utf8 locale can cause invalid registry
2004-07-20 10:18:48 +00:00
Thomas Vander Stichele
b515b8a729 fix for #147894 (opt scheduler decoupled elements mismanagement)
Original commit message from CVS:
fix for #147894 (opt scheduler decoupled elements mismanagement)
2004-07-20 09:55:13 +00:00
Wim Taymans
74060a4ff6 gst/schedulers/gstoptimalscheduler.c: Call group_inc_link with the proper src->sink ordering -- break this, and we br...
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
(create_chain), (destroy_chain), (create_group), (destroy_group),
(add_to_group), (merge_groups), (group_elements), (group_inc_link),
(group_dec_link), (gst_opt_scheduler_pad_link),
(group_inc_links_for_element), (group_migrate_connected):
Call group_inc_link with the proper src->sink ordering --
break this, and we break sort_chain. patch from wingo for bug
147713.
Partially revert patch 1.89. When adding a loop based element to
the scheduler, the links to other groups are automatically followed
and incremented. This should not happen because the bin will call
pad_link explicitly for those connection, resulting in them counted
twice. Results in assertion failure on pipeline cleanup.
2004-07-16 16:02:12 +00:00
Thomas Vander Stichele
37960c1b39 fix #147707 blocker
Original commit message from CVS:
fix #147707 blocker
2004-07-16 13:31:28 +00:00
Benjamin Otte
ae7fb01363 gst/gstvalue.c: use ints and return ints, fractions only use ints, too, so this avoids accidently casting multiplicat...
Original commit message from CVS:
* gst/gstvalue.c: (gst_greatest_common_divisor):
use ints and return ints, fractions only use ints, too, so this
avoids accidently casting multiplications to unsigned
(gst_value_lcopy_fraction): it's ints, not uint32
(gst_value_set_fraction): disallow minint, multiplying and negation
are broken with it
(gst_value_fraction_multiply): fix to make large numbers work and get
rid of the assumption that the multiplication of two ints fits an
int64 - dunno if that's true for all systems
* testsuite/caps/Makefile.am:
* testsuite/caps/fraction-multiply-and-zero.c:
(check_multiplication), (check_equal), (zero_test), (main):
add tests for all the stuff above
* testsuite/caps/value_compare.c: (test1):
fix comment
* tests/.cvsignore:
* testsuite/caps/.cvsignore:
* testsuite/debug/.cvsignore:
* testsuite/dlopen/.cvsignore:
* testsuite/states/.cvsignore:
get up to date
2004-07-16 01:16:53 +00:00
Thomas Vander Stichele
76f329603c adding GstFraction GValue type
Original commit message from CVS:
adding GstFraction GValue type
2004-07-15 20:27:20 +00:00
Thomas Vander Stichele
1c5150d393 debugging additions and style cleanups
Original commit message from CVS:
debugging additions and style cleanups
2004-07-15 16:20:50 +00:00
Benjamin Otte
ae23ffba6f gst/gstelement.h: Don't GST_ERROR_OBJECT smpty strings - Solaris doesn't like NULL strings.
Original commit message from CVS:
* gst/gstelement.h:
Don't GST_ERROR_OBJECT smpty strings - Solaris doesn't like NULL
strings.
* gst/gstelement.c (gst_element_class_init):
GError's are boxed, not objects
* gst/gstmarshal.list:
update list for the fixed error signal
2004-07-15 02:26:48 +00:00
Andy Wingo
d6443170cf gst/gsttag.c: Add a tag merge func for pointers. The header was there all along, but the function wasn't. (guile-gstr...
Original commit message from CVS:
2004-07-14  Andy Wingo  <wingo@pobox.com>

* gst/gsttag.c: Add a tag merge func for pointers. The header was
there all along, but the function wasn't. (guile-gstreamer's build
system uses the address of the function -- I wasn't actually
trying to use this.)

2004-07-13  Andy Wingo  <wingo@pobox.com>

* gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
as gst_pad_proxy_pad_link) just link to every other pad when they
are called. In the case where the graph has cycles, this will mean
that a call to try_set_caps will recurse. Allow this recursion
and return OK, while we wait for the first try_set_caps to give a
proper return value.
(gst_pad_link_call_link_functions): Since this function is the
only one to set the NEGOTIATING flag on a pad, if the flag is set
it means that the link functions have indirectly recursed. If this
happens, error out to avoid infinite recursion and an eventual
SEGV.
(gst_real_pad_class_init): Remove a crufty GtkObject comment.
(gst_pad_proxy_getcaps): Intersect the result with the template
caps to ensure that the return value is valid.

2004-07-11  Andy Wingo  <wingo@pobox.com>

* gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
one refcount, the calling function is the owner of the buffer.
2004-07-14 15:28:51 +00:00
Wim Taymans
99c3c397ca gst/schedulers/gstoptimalscheduler.c: Fix stupid warning when an element is to be migrated but is already migrated.
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
(gst_opt_scheduler_pad_link), (group_migrate_connected):
Fix stupid warning when an element is to be migrated but
is already migrated.
2004-07-14 15:10:09 +00:00
Wim Taymans
d7ec4cb787 gst/schedulers/gstoptimalscheduler.c: Make sure that a single non-loop-based element does not end up in a group. This...
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
(gst_opt_scheduler_pad_link), (group_migrate_connected):
Make sure that a single non-loop-based element does not
end up in a group. This fixes the testsuite again.
2004-07-14 14:52:49 +00:00
Wim Taymans
b997eae215 gst/schedulers/gstoptimalscheduler.c: move isolated groups to a new chain.
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c: (create_group),
(add_to_group), (merge_groups), (schedule_group),
(gst_opt_scheduler_get_wrapper), (group_elements),
(group_dec_link), (gst_opt_scheduler_pad_link),
(group_migrate_connected), (gst_opt_scheduler_pad_unlink),
(gst_opt_scheduler_iterate):
move isolated groups to a new chain.
Emit a warning instead of segfaulting in some error cases.
Fix a bug where the link count between groups was not calculated
correctly. Fixes #144510.
2004-07-14 14:25:04 +00:00
Steve Lhomme
9b99ef6164 Handle binary files under Windows OK
Original commit message from CVS:
Handle binary files under Windows OK
2004-07-13 17:35:50 +00:00
Benjamin Otte
f71ec9df53 compatibility fixes for Solaris 8/gcc 2.95
Original commit message from CVS:
compatibility fixes for Solaris 8/gcc 2.95
* configure.ac:
include libintl libs in LDFLAGS
* gstvalue.c (gst_value_deserialize_buffer):
cast isxdigit stuff to int to silence compiler warning
2004-07-13 14:17:01 +00:00
Benjamin Otte
f1d9a4c380 gst/gsttypes.h: get rid of GST_O_READONLY, GST_FILE_MODE_READ and
Original commit message from CVS:
* gst/gsttypes.h:
get rid of GST_O_READONLY, GST_FILE_MODE_READ and
GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
just causes support madness
* gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
make it work without this
* gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
(gst_file_index_commit):
glib IO channels don't want binary mode
* testsuite/bytestream/filepadsink.c: (main):
* testsuite/bytestream/test1.c: (read_param_file):
use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
2004-07-12 21:57:35 +00:00
Benjamin Otte
d77dbaac2f gst/gstelement.c: virutalize gst_element_set_state, use set_state member in class struct that was already added in 0....
Original commit message from CVS:
* gst/gstelement.c: (gst_element_class_init),
(gst_element_set_state), (gst_element_set_state_func):
virutalize gst_element_set_state, use set_state member in class
struct that was already added in 0.7 for this.
* gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func),
(gst_bin_change_state):
make gst_bin_foreach works similar to other foreach functions, plug
memleaks in it. Make functions using it work with the new approach.
Document gst_bin_foreach, so it can be exported if we want to
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
use virtualized set_state to make set_state on bins set the state of
all its children.
2004-07-12 21:27:11 +00:00
Benjamin Otte
2ab9d39848 configure.ac: require valgrind >= 2.1 (fixes Gentoo bug 53967, see http://bugs.gentoo.org/show_bug.cgi?id=53967)
Original commit message from CVS:
* configure.ac:
require valgrind >= 2.1 (fixes Gentoo bug 53967, see
http://bugs.gentoo.org/show_bug.cgi?id=53967)
* gst/gstpad.c: (gst_pad_alloc_buffer):
allow buffer_alloc functions to return NULL and allocate a normal
buffer in that case
2004-07-12 21:20:40 +00:00
Steve Lhomme
fb7d3a201c Handle binary files under Windows
Original commit message from CVS:
Handle binary files under Windows
2004-07-12 20:24:45 +00:00
Steve Lhomme
766d02d57a fix i18n under Windows and a C syntax error
Original commit message from CVS:
fix i18n under Windows and a C syntax error
2004-07-12 19:32:30 +00:00
Thomas Vander Stichele
14e4ff51de set PENDING on bin correctly for special case. fixes testsuite again.
Original commit message from CVS:
set PENDING on bin correctly for special case. fixes testsuite again.
2004-07-12 10:03:04 +00:00
Benjamin Otte
9b9a151d43 gst/gstclock.h: GST_SECOND shouldn't cause a conversion to unsigned.
Original commit message from CVS:
* gst/gstclock.h:
GST_SECOND shouldn't cause a conversion to unsigned.
* testsuite/clock/.cvsignore:
* testsuite/clock/Makefile.am:
* testsuite/clock/signedness.c: (main):
make sure it never will again
2004-07-11 18:19:54 +00:00
Andy Wingo
db1987c472 gst/gstbin.c (gst_bin_add_func): If we're adding an element whose state is higher than the bin state, raise the bin s...
Original commit message from CVS:
2004-07-11  Andy Wingo  <wingo@pobox.com>

* gst/gstbin.c (gst_bin_add_func): If we're adding an element
whose state is higher than the bin state, raise the bin state to
ensure that bin state := highest child state.
2004-07-11 12:16:29 +00:00
Andy Wingo
799ee9420c gst/gstbin.c (gst_bin_foreach): New static function. Calls a procedure on the children of a bin. Assumes that the pro...
Original commit message from CVS:
2004-07-11  Andy Wingo  <wingo@pobox.com>

* gst/gstbin.c (gst_bin_foreach): New static function. Calls a
procedure on the children of a bin. Assumes that the procedure can
change the set of children.
(set_kid_state_func): New static function.
(gst_bin_change_state): Use gst_bin_foreach to call
set_kid_state_func. Fixes a bug: if a child had a state-change
handler that removes it from the bin, there would be a segfault.
Hopefully it should also work in the case where the state-change
handler on one child adds or removes other children. In any case,
fixes should go to gst_bin_foreach.
2004-07-11 11:11:37 +00:00
Thomas Vander Stichele
0ce552665c fix for last plugins release
Original commit message from CVS:
fix for last plugins release
2004-07-10 16:31:54 +00:00