Commit graph

7600 commits

Author SHA1 Message Date
Tim-Philipp Müller
e94feebf11 libs/gst/check/gstcheck.c: Actually write ABI structs to the file specified in the GST_ABI environment variable, as t...
Original commit message from CVS:
* libs/gst/check/gstcheck.c: (gst_check_abi_list):
Actually write ABI structs to the file specified in the GST_ABI
environment variable, as the message we print claims we would.
2007-01-16 09:57:50 +00:00
Stefan Kost
5826d1676c tests/check/gst/gsttask.c: Fix header comment.
Original commit message from CVS:
* tests/check/gst/gsttask.c:
Fix header comment.
2007-01-15 14:51:09 +00:00
Stefan Kost
6fa79ab387 gst/gsttaglist.c: Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my previous two entries.
Original commit message from CVS:
* gst/gsttaglist.c: (_gst_tag_initialize):
Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
previous two entries.
2007-01-15 14:39:51 +00:00
Stefan Kost
0e96e3d727 add tag support for beat-per-minute
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttaglist.c: (_gst_tag_initialize):
* gst/gsttaglist.h:
add tag support for beat-per-minute
2007-01-15 13:57:12 +00:00
Stefan Kost
616cb1862a gst/gstregistrybinary.*: use glib types, cleanup comments, impement interfaces and uri-types
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write),
(gst_registry_binary_initialize_magic),
(gst_registry_binary_save_string), (gst_registry_binary_make_data),
(gst_registry_binary_save_pad_template),
(gst_registry_binary_save_feature),
(gst_registry_binary_save_plugin),
(gst_registry_binary_write_cache),
(gst_registry_binary_check_magic),
(gst_registry_binary_load_pad_template),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin),
(gst_registry_binary_read_cache):
* gst/gstregistrybinary.h:
use glib types, cleanup comments, impement interfaces and uri-types
2007-01-15 12:18:46 +00:00
Andy Wingo
63693a682a gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow getrange() to return buffers with other caps, while we fi...
Original commit message from CVS:
2007-01-13  Andy Wingo  <wingo@pobox.com>

* gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
getrange() to return buffers with other caps, while we fix
demuxers and typefind, or otherwise change part-negotiation.txt.
2007-01-13 10:33:41 +00:00
Andy Wingo
3482d79879 libs/gst/base/gstbasetransform.c (gst_base_transform_activate): Factor start/stop into this private function instead ...
Original commit message from CVS:
2007-01-12  Andy Wingo  <wingo@pobox.com>

* libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
Factor start/stop into this private function instead of partially
in activate functions and partially in the change_state function.
Fixes setup before the element has changed from READY->PAUSED, as
is the case in pull-mode pipelines.
(gst_base_transform_sink_activate_push)
(gst_base_transform_src_activate_pull): Refactor to use
gst_base_transform_activate().
(gst_base_transform_change_state): Removed, not needed any more.

* libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
Truncate before fixating.
2007-01-12 21:13:32 +00:00
Andy Wingo
5cd94e7afc libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull): Don't set_caps() if the result of fixating is ANY, as it'...
Original commit message from CVS:
2007-01-12  Andy Wingo  <wingo@pobox.com>

* libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
Don't set_caps() if the result of fixating is ANY, as it's not
supported, and not necessary in the case of a link with no
template caps on either side. Fixes tests/check/libs/basesrc in
some pull-mode tests.
2007-01-12 18:06:29 +00:00
Andy Wingo
a173768706 libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate): (gst_base_transform_init, gst_base_transform_sink_activa...
Original commit message from CVS:
2007-01-12  Andy Wingo  <wingo@pobox.com>

* libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
(gst_base_transform_init, gst_base_transform_sink_activate_push)
(gst_base_transform_src_activate_pull):
Track the activation mode.
(gst_base_transform_setcaps): In pull mode, when activating the
src pad, after activating the sink pad, activate the sink pad's
peer, as discussed in part-negotiation.txt.

* libs/gst/base/gstbasesrc.h:
* libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
vmethod, as in basesink.

* libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.

* libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
mode, first proxy the setcaps to the peer pad.
(gst_base_sink_pad_fixate): Add a fixate function that calls the
new fixate vmethod.
(gst_base_sink_default_activate_pull): Rename from
gst_base_sink_activate_pull.
(gst_base_sink_negotiate_pull): New function, performs negotiation
in pull mode before calling ::activate_pull().
(gst_base_sink_pad_activate_pull): Actually call the activate_pull
vmethod instead of the default implementation. I have no idea how
this worked before. Negotiate before calling activate_pull.
2007-01-12 15:56:00 +00:00
Andy Wingo
871e807482 gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked sink pads in pull mode. In addition to being correc...
Original commit message from CVS:
2007-01-12  Andy Wingo  <wingo@pobox.com>

* gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
sink pads in pull mode. In addition to being correct, fixes
filesrc ! decodebin ! identity ! fakesink.
(gst_pad_get_range, gst_pad_pull_range): Don't call
gst_pad_set_caps() if the caps changes; instead error out with
GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
2007-01-12 15:48:00 +00:00
Andy Wingo
10d3b02563 docs/design/part-negotiation.txt: Update with more policy.
Original commit message from CVS:
2007-01-12  Andy Wingo  <wingo@pobox.com>

* docs/design/part-negotiation.txt: Update with more policy.
2007-01-12 15:39:57 +00:00
Tim-Philipp Müller
7ce34c615d libs/gst/check/: Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it belongs.
Original commit message from CVS:
* libs/gst/check/gstbufferstraw.h:
* libs/gst/check/gstcheck.h:
Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
belongs.
2007-01-12 12:48:25 +00:00
Tim-Philipp Müller
52a29f5bb4 tests/check/: Add minimal unit test for beforementioned GstTagSetter bug.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/gst/.cvsignore:
* tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
(gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
(gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
(GST_START_TEST), (gst_tag_setter_suite):
Add minimal unit test for beforementioned GstTagSetter bug.
2007-01-12 10:53:54 +00:00
René Stadler
51b5a406ca gst/gsttagsetter.c: gst_tag_list_merge() returns a new list, so it's not the best idea to ingore its return value. Ef...
Original commit message from CVS:
Patch by: René Stadler <mail at renestadler dot de>
* gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
gst_tag_list_merge() returns a new list, so it's not the best idea
to ingore its return value. Effectively meant that tags could only
be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
Also add function guard to require a non-NULL taglist as input (has
always been so due to gst_tag_list_copy(), just making it explicit).
2007-01-12 10:48:49 +00:00
Tim-Philipp Müller
297db8e249 docs/random/draft-missing-plugins.txt: Some additions: mention new API that is supposed to be used at the various sta...
Original commit message from CVS:
* docs/random/draft-missing-plugins.txt:
Some additions: mention new API that is supposed to be used at the
various stages; short blob about new gst-inspect introspection
option; mention potential future problem with plugins that have
a dynamic list of elements (such as ladspa, pitfdll, libvisual).
2007-01-11 15:03:07 +00:00
Tim-Philipp Müller
26b38870f9 tools/gst-inspect.c: Add --print-plugin-auto-install-info option to gst-inspect, so we can introspect plugin files an...
Original commit message from CVS:
* tools/gst-inspect.c:
(print_plugin_automatic_install_info_codecs),
(print_plugin_automatic_install_info_protocols),
(print_plugin_automatic_install_info), (main):
Add --print-plugin-auto-install-info option to gst-inspect, so we can
introspect plugin files and get machine-parsable output that corresponds
to the last bit of the missing-plugin installer string (small gotcha:
doesn't take into account ranks).
2007-01-11 14:16:23 +00:00
Stefan Kost
ebf0c9d353 commit binary registry (disabled by default, see #359653)
Original commit message from CVS:
* configure.ac:
* docs/gst/gstreamer-sections.txt:
* gst/Makefile.am:
* gst/gstregistry.c: (gst_registry_lookup_feature_locked),
(gst_registry_lookup_locked):
* gst/gstregistry.h:
* gst/gstregistrybinary.c: (gst_registry_binary_write),
(gst_registry_binary_initialize_magic),
(gst_registry_binary_save_string),
(gst_registry_binary_save_pad_template),
(gst_registry_binary_save_feature),
(gst_registry_binary_save_plugin),
(gst_registry_binary_write_cache),
(gst_registry_binary_check_magic),
(gst_registry_binary_load_pad_template),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin),
(gst_registry_binary_read_cache):
* gst/gstregistrybinary.h:
* gst/gstregistryxml.c: (load_feature),
(gst_registry_xml_read_cache):
commit binary registry (disabled by default, see #359653)
2007-01-11 13:45:51 +00:00
Tim-Philipp Müller
4a911a8100 tests/check/gst/gstpad.c: Fix 'make check' too.
Original commit message from CVS:
* tests/check/gst/gstpad.c: (test_get_allowed_caps):
Fix 'make check' too.
2007-01-11 10:48:59 +00:00
Andy Wingo
d05f12e1d4 docs/design/part-negotiation.txt: Fix a typo, add a couple notes.
Original commit message from CVS:
2007-01-10  Andy Wingo  <wingo@pobox.com>

* docs/design/part-negotiation.txt: Fix a typo, add a couple
notes.
2007-01-10 21:24:08 +00:00
Andy Wingo
7ef6acd8cd docs/design/part-negotiation.txt: Update with, um, one way that pull-mode negotiation might work?
Original commit message from CVS:
2007-01-10  Andy Wingo  <wingo@pobox.com>

* docs/design/part-negotiation.txt: Update with, um, one way that
pull-mode negotiation might work?

* gst/gstpad.h:
* gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
that the pad must be a src pad; makes sense to call it the other
way in pull mode, and the logic is symmetric anyway.
2007-01-10 21:15:08 +00:00
Tim-Philipp Müller
a18f048fb2 plugins/elements/gstfilesink.c: Include <stdio.h> for fseeko().
Original commit message from CVS:
* plugins/elements/gstfilesink.c:
Include <stdio.h> for fseeko().
2007-01-10 19:25:09 +00:00
Wim Taymans
ececbda2b2 gst/gstevent.*: Reserve LATENCY event.
Original commit message from CVS:
* gst/gstevent.c:
* gst/gstevent.h:
Reserve LATENCY event.
2007-01-10 10:21:47 +00:00
Wim Taymans
44107ac5f8 docs/design/draft-latency.txt: Updates.
Original commit message from CVS:
* docs/design/draft-latency.txt:
Updates.
2007-01-09 18:09:54 +00:00
Wim Taymans
adfd199bd1 docs/design/draft-latency.txt: Updates.
Original commit message from CVS:
* docs/design/draft-latency.txt:
Updates.
* gst/gstelement.h:
* gst/gststructure.c:
* gst/gsttrace.c:
Small typo fixes.
2007-01-09 15:38:58 +00:00
Tim-Philipp Müller
2b63322224 tests/check/.cvsignore: Ignore test-registry.xml as well.
Original commit message from CVS:
* tests/check/.cvsignore:
Ignore test-registry.xml as well.
2007-01-09 14:38:11 +00:00
Wim Taymans
04019f4083 libs/gst/base/gstcollectpads.c: unref data at the end when we are done with the pad.
Original commit message from CVS:
* libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
unref data at the end when we are done with the pad.
2007-01-09 12:34:45 +00:00
Tim-Philipp Müller
702fbf77e9 API: add gst_update_registry() (#391296).
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gst.c: (load_plugin_func), (scan_and_update_registry),
(init_post), (gst_deinit), (gst_update_registry):
* gst/gst.h:
API: add gst_update_registry() (#391296).
* tests/check/Makefile.am:
* tests/check/gst/gstregistry.c:
* tests/check/gst/.cvsignore:
Simple unit test for the above.
2007-01-08 20:30:12 +00:00
Tim-Philipp Müller
2991d5cd33 gst/gstregistry.c: Plugin extension on HP-UX is .sl, add that to the list of approved plugin extensions (see #393796).
Original commit message from CVS:
* gst/gstregistry.c: (gst_registry_scan_path_level):
Plugin extension on HP-UX is .sl, add that to the list of approved
plugin extensions (see #393796).
* tests/check/gst/gstpad.c: (GST_START_TEST):
ulong => gulong. Fixes compilation with HP-UX compiler.
* tests/check/pipelines/parse-launch.c: (GST_START_TEST):
Fix compilation if valgrind headers are not available.
2007-01-08 16:23:03 +00:00
Sébastien Moutte
198f9e72aa win32/common/libgstreamer.def: Add new exported function.
Original commit message from CVS:
* win32/common/libgstreamer.def:
Add new exported function.
* win32/vs6/libgstbase.dsp:
Add gstdataqueue.c to the build.
* win32/vs6/libgstcoreelements.dsp:
Add gstmultiqueue.c to the build.
2007-01-07 10:21:33 +00:00
Andy Wingo
4518a5c652 libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod, activate_pull(), providing for a way to specialize the pro...
Original commit message from CVS:
2007-01-06  Andy Wingo  <wingo@pobox.com>

* libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
activate_pull(), providing for a way to specialize the process of
spawning a thread to pull on the sink pad. There is a default
implementation.

* libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
(gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
(gst_base_sink_init): Renamed pad activation functions (inserting
"_pad" in their names). Refactor to use the new activate_pull
vmethod, as appropriate.
(gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
default activate_pull function to start a task pulling from the
sink pad, as before.
2007-01-06 17:18:03 +00:00
Andy Wingo
77472ddbd7 gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps on the pads if necessary, as in push()/chain(). Update...
Original commit message from CVS:
2007-01-06  Andy Wingo  <wingo@pobox.com>

* gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
on the pads if necessary, as in push()/chain(). Update docs.
Shouldn't affect existing pull() usage as it is currently only
being used on buffers without caps.
2007-01-06 17:09:10 +00:00
Tim-Philipp Müller
3001f88c3c gst/gst.c: Call g_thread_init() first thing in gst_init() / gst_check_init().
Original commit message from CVS:
* gst/gst.c: (gst_init_get_option_group), (gst_init_check),
(init_pre):
Call g_thread_init() first thing in gst_init() / gst_check_init().
When initialisation is done via gst_init_get_option_group() and
GOption parsing, issue a warning if the GLib thread system has not
been initialised yet by the time gst_init_get_option_group() is
called, as it's quite likely other GLib functions such as
g_option_context_new() have been called already then, and
g_thread_init() must be called before any other GLib function. The
application in question must be fixed in that case, since memory
corruption might happen otherwise.
We issue the warning because even if the GLib folks decide to work
around the problem on their end in future, this is still an issue
with all GLib versions >= 2.10.0, so we should warn until we depend
on a GLib version we know to be safe.
Update documentation as well.
Closes bug #391278.
2007-01-05 16:36:36 +00:00
Tim-Philipp Müller
b3eafe67a8 tools/: Call g_thread_init() really really early, before any other GLib function (see #342564 and recent discussion o...
Original commit message from CVS:
* tools/gst-inspect.c: (main):
* tools/gst-launch.c: (main):
* tools/gst-typefind.c: (main):
* tools/gst-xmlinspect.c: (main):
Call g_thread_init() really really early, before any other GLib
function (see #342564 and recent discussion on gtk-devel-list).
2007-01-05 15:55:16 +00:00
Vincent Torri
47d2b0a976 gst/: On win32, all the __declspec stuff for symbol exporting is apparently only needed with MSVC, but doesn't work w...
Original commit message from CVS:
Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
* gst/gst_private.h:
* gst/gstconfig.h.in:
* gst/gstinfo.h:
On win32, all the __declspec stuff for symbol exporting is
apparently only needed with MSVC, but doesn't work with MingW.
Fixes compilation with MingW and #391909.
2007-01-05 13:23:02 +00:00
Tim-Philipp Müller
c84a427f7b libs/gst/base/gstbasesrc.c: Change some GST_ERROR_OBJECT that aren't really errors to
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
Change some GST_ERROR_OBJECT that aren't really errors to
GST_WARNING_OBJECT in order to reduce terminal spam.
2007-01-05 11:57:49 +00:00
Stefan Kost
fcd5faf825 tests/check/Makefile.am: disable test again, as there seem to be still race problems
Original commit message from CVS:
* tests/check/Makefile.am:
disable test again, as there seem to be still race problems
2007-01-04 13:54:25 +00:00
Stefan Kost
6fe3fda99e tests/check/: enable queue test again, add tests for the leaky behaviour
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
(GST_START_TEST), (queue_suite):
enable queue test again, add tests for the leaky behaviour
2007-01-04 13:37:08 +00:00
Tim-Philipp Müller
40f4221ac5 Compile adapter test/example only if the required headers are available (fixes #391915).
Original commit message from CVS:
* configure.ac:
* tests/examples/Makefile.am:
Compile adapter test/example only if the required headers are
available (fixes #391915).
2007-01-02 17:01:33 +00:00
Thomas Vander Stichele
c254a2345b tell us what's not implemented
Original commit message from CVS:
tell us what's not implemented
2007-01-02 09:31:45 +00:00
Thomas Vander Stichele
3542f877e2 bump to CVS
Original commit message from CVS:
bump to CVS
2007-01-02 09:31:11 +00:00
David Schleef
b7e4487952 gst/gstplugin.c: Restore the previous signal handler for SIGSEGV instead of setting to default, since we may have sto...
Original commit message from CVS:
* gst/gstplugin.c:
Restore the previous signal handler for SIGSEGV instead of
setting to default, since we may have stolen it away from
someone.  (i.e., Mono)
2007-01-02 06:14:06 +00:00
Tim-Philipp Müller
24e12f3c9c docs/random/draft-missing-plugins.txt: Some small additions and clarifications.
Original commit message from CVS:
* docs/random/draft-missing-plugins.txt:
Some small additions and clarifications.
2006-12-26 15:55:24 +00:00
Tim-Philipp Müller
5c3731ea37 gst/gstregistryxml.c: Make sure we don't pass non-UTF-8 strings to g_markup_escape(), since that can lead to random m...
Original commit message from CVS:
* gst/gstregistryxml.c: (gst_registry_save_escaped):
Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
since that can lead to random memory corruptions and crashes
(may or may not be related to #383244, #386711, and #386711).
2006-12-26 15:06:52 +00:00
Stefan Kost
8bfabdfe1c tests/check/: sync .cvsignome and CLEANFILES
Original commit message from CVS:
* tests/check/.cvsignore:
* tests/check/Makefile.am:
sync .cvsignome and CLEANFILES
2006-12-21 15:54:06 +00:00
Stefan Kost
24d07724be tests/check/Makefile.am: fix distcheck
Original commit message from CVS:
* tests/check/Makefile.am:
fix distcheck
2006-12-21 15:32:00 +00:00
Stefan Kost
261abbb01e docs/design/part-states.txt: two tiny additional comments
Original commit message from CVS:
* docs/design/part-states.txt:
two tiny additional comments
* gst/gststructure.c:
doc fixing
* tests/check/Makefile.am:
* tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
(GST_START_TEST):
disable test for now, unless it gets fixed
2006-12-21 15:00:08 +00:00
Stefan Kost
a378db54fb tests/check/elements/queue.c: fix race in underrun test
Original commit message from CVS:
* tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
(GST_START_TEST):
fix race in underrun test
2006-12-21 14:24:54 +00:00
Stefan Kost
63873698c3 tests/check/elements/.cvsignore: ignore more
Original commit message from CVS:
* tests/check/elements/.cvsignore:
ignore more
* tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
(GST_START_TEST):
try to narrow test failure
2006-12-21 09:58:25 +00:00
David Schleef
05e2413d3e plugins/elements/gstfakesrc.c: Use g_random_int_range(), since it produces better random numbers in a range than almo...
Original commit message from CVS:
* plugins/elements/gstfakesrc.c:
Use g_random_int_range(), since it produces better random
numbers in a range than almost-correct floating point code.
2006-12-21 09:37:56 +00:00
Stefan Kost
c9fbb589a0 libs/gst/check/gstcheck.c: do not automatically (de)activate pads
Original commit message from CVS:
* libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
(gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
(gst_check_teardown_sink_pad):
do not automatically (de)activate pads
* tests/check/Makefile.am:
* tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
(setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
add new, yet simple tests for queue
* tests/check/elements/fakesrc.c: (cleanup_fakesrc):
* tests/check/elements/fdsrc.c: (cleanup_fdsrc):
* tests/check/elements/filesrc.c: (cleanup_filesrc),
(GST_START_TEST):
* tests/check/elements/identity.c: (cleanup_identity):
consistent pad (de)activation
2006-12-21 08:12:28 +00:00