Commit graph

7819 commits

Author SHA1 Message Date
Tim-Philipp Müller
12aaf988aa API: add GST_ROUND_DOWN_* macros (#401781).
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstutils.h:
API: add GST_ROUND_DOWN_* macros (#401781).
2007-01-29 13:40:38 +00:00
Tim-Philipp Müller
636e022fed Document registry signals and make gtk-doc pick them up (#401381).
Original commit message from CVS:
* docs/gst/gstreamer.types.in:
* gst/gstregistry.c: (gst_registry_class_init):
Document registry signals and make gtk-doc pick them up (#401381).
2007-01-27 18:44:11 +00:00
Tim-Philipp Müller
476cdb3904 docs/pwg/building-testapp.xml: Add some audioconverts and audioresample to the pipeline, and some more comments and e...
Original commit message from CVS:
* docs/pwg/building-testapp.xml:
Add some audioconverts and audioresample to the pipeline, and some
more comments and error handling.
2007-01-26 18:24:56 +00:00
Tim-Philipp Müller
0b60f83664 docs/: Fix typo (#400987).
Original commit message from CVS:
* docs/manual/manual.xml:
* docs/pwg/pwg.xml:
Fix typo (#400987).
2007-01-26 13:07:36 +00:00
Wim Taymans
e569c17c76 gst/gstcaps.c: Init caps flags too.
Original commit message from CVS:
* gst/gstcaps.c: (gst_static_caps_get):
Init caps flags too.
2007-01-26 09:37:03 +00:00
Jindrich Makovicka
46848a3595 plugins/elements/gstfilesrc.c: If not using mmap'ed files try to seek to the end instead of the start to determine wh...
Original commit message from CVS:
Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
* plugins/elements/gstfilesrc.c: (gst_file_src_start):
If not using mmap'ed files try to seek to the end instead of the
start to determine whether we can seek at all. This fixes the case
of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
seeks for everything afterwards fail. Fixes #400656
2007-01-25 17:54:07 +00:00
Wim Taymans
76e88f9d37 gst/gstcaps.c: Add some refcount debugging.
Original commit message from CVS:
* gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
Add some refcount debugging.
Make gst_static_caps_get threadsafe, which is needed when autoplugging
in multiple streaming threads.
2007-01-25 17:41:39 +00:00
David Schleef
8be2913771 API: gst_adapter_copy() that can reduce the amount of memcpy when getting data from the adapter. Fixes #388201.
Original commit message from CVS:
Patch by: David Schleef <ds at schleef dot org>
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstadapter.c: (gst_adapter_copy):
* libs/gst/base/gstadapter.h:
API: gst_adapter_copy() that can reduce the amount of memcpy when
getting data from the adapter. Fixes #388201.
2007-01-25 10:50:03 +00:00
Edward Hervey
00a8f6ac84 gst/gstregistrybinary.c: In print statements, "%x" is for guint. Fixes build on macosx.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
In print statements, "%x" is for guint. Fixes build on macosx.
2007-01-25 10:14:09 +00:00
Edward Hervey
a212adfb2c plugins/elements/gstmultiqueue.c: Small fix.
Original commit message from CVS:
* plugins/elements/gstmultiqueue.c:
(gst_multi_queue_loop):
Small fix.
(single_queue_overrun_cb), (single_queue_underrun_cb),
(single_queue_check_full), (gst_single_queue_new):
Implement single queue growth system.
This uses the extra-size properties, and will grow single queues by
that much if one goes full whereas there are others empty. This is
called extra-mode in the code.
When a single queue's levels go back below the initial max-size
limits, it is no longer in extra-mode. This is to ensure we don't
consume too much memory.
Fixes #399875
2007-01-24 11:32:00 +00:00
Tim-Philipp Müller
9e0b1e942c gst/gst.c: Make warning about late g_thread_init() calls a bit more explicit, so that it's more obvious to applicatio...
Original commit message from CVS:
* gst/gst.c: (gst_init_get_option_group):
Make warning about late g_thread_init() calls a bit more explicit,
so that it's more obvious to application developers what they need
to do if a user files a bug against their application.
2007-01-23 13:50:42 +00:00
Edward Hervey
bc3baaa7c4 plugins/elements/gstmultiqueue.c: Remove previous hack of unsetting the flushing flag for the source pad instead of a...
Original commit message from CVS:
* plugins/elements/gstmultiqueue.c:
(gst_multi_queue_src_activate_push), (gst_single_queue_new):
Remove previous hack of unsetting the flushing flag for the source pad
instead of activating it. Instead, fix the source pad activate function
so that it no longer depends on having a parent set or not.
2007-01-22 16:00:39 +00:00
Carlos Sanmartin Dominguez
7c4dc118f6 docs/manual/basics-bus.xml: Fix example code, gst_element_unref() doesn't exist any longer.
Original commit message from CVS:
Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
* docs/manual/basics-bus.xml:
Fix example code, gst_element_unref() doesn't exist any longer.
2007-01-22 14:30:27 +00:00
Mark Nauwelaerts
e56bad5b13 gst/gstpad.c: Fix two docs typoes (#399094).
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet be>
* gst/gstpad.c:
Fix two docs typoes (#399094).
2007-01-21 20:24:11 +00:00
Edward Hervey
572c86b927 docs/faq/gst-uninstalled: Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins depending on libgstbaseu...
Original commit message from CVS:
* docs/faq/gst-uninstalled:
Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
depending on libgstbaseutils can work in uninstalled environment.
2007-01-19 09:15:21 +00:00
Stefan Kost
2d88cb7e88 gst/: Add more docs regarding tag merge-modes and when to send tags. Fix 'since' statement for new tag.
Original commit message from CVS:
* gst/gsttaglist.h:
* gst/gsttagsetter.c:
Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
statement for new tag.
2007-01-18 12:00:23 +00:00
Edward Hervey
4e07e925a5 plugins/elements/gstmultiqueue.c: When dynamically creating single queues, activate sinkpad before adding it.
Original commit message from CVS:
* plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
When dynamically creating single queues, activate sinkpad before adding
it.
We should be doing the same thing for the source pad, but we can't
since it would call a method which needs the parent to be set in order
to work propertly. Instead of activating the source pad, we just unset
the flushing flag, which is the minimal requirement for adding a pad
to an element in a state greater than READY.
2007-01-17 14:33:39 +00:00
Edward Hervey
816486ea9b docs/faq/gst-uninstalled: Add DYLD_LIBRARY_PATH declarations so we can also use this script on
Original commit message from CVS:
* docs/faq/gst-uninstalled:
Add DYLD_LIBRARY_PATH declarations so we can also use this script on
Mac OS X.
2007-01-17 14:26:46 +00:00
Tim-Philipp Müller
7cd0c45ee0 tests/check/: Add ABI structs for HPPA (see #393796).
Original commit message from CVS:
* tests/check/gst/gstabi.c:
* tests/check/gst/struct_hppa.h:
* tests/check/libs/libsabi.c:
* tests/check/libs/struct_hppa.h:
Add ABI structs for HPPA (see #393796).
2007-01-17 12:31:01 +00:00
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