Stefan Kost [Mon, 6 Nov 2006 15:14:46 +0000 (15:14 +0000)]
docs/gst/gstreamer-sections.txt: add new API and fix the build
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
add new API and fix the build
* gst/gstbin.c: (gst_bin_recalc_state):
* gst/gstelement.c: (gst_element_message_full),
(gst_element_get_state_func), (gst_element_set_state_func):
use new API and improve logging
* gst/gstutils.c: (gst_element_state_change_return_get_name):
* gst/gstutils.h:
API: add function to get StateChangereturn names to improve logs
Zaheer Abbas Merali [Mon, 6 Nov 2006 12:01:27 +0000 (12:01 +0000)]
Notes taken while discussing dvb channel selection with Wim
Original commit message from CVS:
Notes taken while discussing dvb channel selection with Wim
Thomas Vander Stichele [Sat, 4 Nov 2006 12:54:08 +0000 (12:54 +0000)]
don't put strerror in translatable message
Original commit message from CVS:
don't put strerror in translatable message
Wim Taymans [Fri, 3 Nov 2006 15:04:40 +0000 (15:04 +0000)]
plugins/elements/gstfdsrc.c: Get the type and printf conversion specifiers right.
Original commit message from CVS:
* plugins/elements/gstfdsrc.c: (gst_fd_src_create):
Get the type and printf conversion specifiers right.
Mark Nauwelaerts [Fri, 3 Nov 2006 13:57:28 +0000 (13:57 +0000)]
gst/gstpad.c: Some small cleanups. Improve debugging.
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet dot be>
* gst/gstpad.c: (gst_pad_init), (pre_activate),
(gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
(gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
Some small cleanups. Improve debugging.
* gst/gstpad.h:
Signal all waiting threads with a broadcast instead of just one.
Fixes #369942.
Wim Taymans [Fri, 3 Nov 2006 09:40:03 +0000 (09:40 +0000)]
plugins/elements/gstfdsrc.c: Add some debugging.
Original commit message from CVS:
* plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
(gst_fd_src_create):
Add some debugging.
Only update fd when it's different from the old.
Tim-Philipp Müller [Thu, 2 Nov 2006 20:52:21 +0000 (20:52 +0000)]
plugins/elements/gstfilesrc.c: Printf fixes for PPC/OSX, take two (#369366).
Original commit message from CVS:
* plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
Printf fixes for PPC/OSX, take two (#369366).
Jan David Mol [Thu, 2 Nov 2006 13:00:38 +0000 (13:00 +0000)]
plugins/elements/: Printf fixes for gsize parameters on PPC/OSX (#369366). Also, don't cast to long long for portabil...
Original commit message from CVS:
Based on patch by: Jan David Mol <j.j.d.mol at tudelft nl>
* plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
* plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
(gst_file_src_map_small_region), (gst_file_src_create_mmap):
Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
don't cast to long long for portability reasons, but use
GLib's types instead.
Michael Smith [Mon, 30 Oct 2006 18:43:12 +0000 (18:43 +0000)]
plugins/elements/gstfdsrc.c: Get the arguments to lseek() the right way around.
Original commit message from CVS:
* plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
Get the arguments to lseek() the right way around.
Fixes 367677.
gorshkov [Mon, 30 Oct 2006 07:51:13 +0000 (07:51 +0000)]
gst/gstinfo.h: _declspec should be __declspec (two underscores, not one). Fixes 366572.
Original commit message from CVS:
Patch by: gorshkov <gorshkov at oghma dot on dot ca>
* gst/gstinfo.h:
_declspec should be __declspec (two underscores, not one). Fixes 366572.
Kjartan Maraas [Sat, 28 Oct 2006 15:42:29 +0000 (15:42 +0000)]
Typo fixes (#366212).
Original commit message from CVS:
Patch by: Kjartan Maraas <kmaraas at gnome org>
* docs/design/part-MT-refcounting.txt:
* docs/random/wtay/capsnego2-docs:
* gst/gstclock.c:
* gst/gstxml.c:
Typo fixes (#366212).
Sergey Scobich [Sat, 28 Oct 2006 15:10:26 +0000 (15:10 +0000)]
Add needed entries in .def files.
Original commit message from CVS:
Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
* gst/gst.c:
* win32/common/libgstbase.def:
* win32/common/libgstreamer.def:
* win32/vs8/libgstbase.vcproj:
* win32/vs8/libgstcontroller.vcproj:
Add needed entries in .def files.
Use HAVE_UNISTD_H.
Rearrange def files in vs8 solutions. Fixes #366286.
Tim-Philipp Müller [Sat, 28 Oct 2006 15:03:19 +0000 (15:03 +0000)]
win32/common/gstconfig.h: Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the hand-made win32 gstconfig.h. F...
Original commit message from CVS:
* win32/common/gstconfig.h:
Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
hand-made win32 gstconfig.h. Fixes #366321.
Wim Taymans [Fri, 27 Oct 2006 16:31:15 +0000 (16:31 +0000)]
gst/gstghostpad.c: Make acceptcaps return TRUE when we don't have a target, just like setcaps does.
Original commit message from CVS:
* gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
(gst_ghost_pad_new_full):
Make acceptcaps return TRUE when we don't have a target, just like
setcaps does.
Wim Taymans [Fri, 27 Oct 2006 10:10:26 +0000 (10:10 +0000)]
libs/gst/base/gstbasetransform.c: Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
Tim-Philipp Müller [Thu, 26 Oct 2006 08:49:52 +0000 (08:49 +0000)]
gst/gststructure.c: If someone tries to set a non-UTF8 string field on a structure, don't just print a warning, but a...
Original commit message from CVS:
* gst/gststructure.c: (gst_structure_id_set_value):
If someone tries to set a non-UTF8 string field on a structure,
don't just print a warning, but also ignore the request and do
not change/add that field to the structure.
* tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
Test for the above.
David Schleef [Thu, 26 Oct 2006 00:00:34 +0000 (00:00 +0000)]
gst/gstinfo.c: g_hash_table_insert() needs a cast to a non-const pointer duh.
Original commit message from CVS:
* gst/gstinfo.c:
g_hash_table_insert() needs a cast to a non-const pointer duh.
David Schleef [Wed, 25 Oct 2006 23:47:40 +0000 (23:47 +0000)]
gst/gstinfo.*: Change name parameter of _gst_debug_register_funcptr to const to reflect the constness of its use in t...
Original commit message from CVS:
* gst/gstinfo.c:
* gst/gstinfo.h:
Change name parameter of _gst_debug_register_funcptr to const
to reflect the constness of its use in the function as well
as to quiet a gcc warning.
Edward Hervey [Wed, 25 Oct 2006 13:41:44 +0000 (13:41 +0000)]
libs/gst/base/gstbasetransform.c: Don't push the buffer if it's empty.
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
Don't push the buffer if it's empty.
Closes #363095
Wim Taymans [Tue, 24 Oct 2006 08:22:19 +0000 (08:22 +0000)]
gst/gstevent.h: Add small comment.
Original commit message from CVS:
* gst/gstevent.h:
Add small comment.
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_sink_eventfunc):
Debug segment values *after* updating them as this is more
interesting.
Wim Taymans [Mon, 23 Oct 2006 15:21:12 +0000 (15:21 +0000)]
docs/design/part-events.txt: Update some docs.
Original commit message from CVS:
* docs/design/part-events.txt:
Update some docs.
* docs/design/part-block.txt:
* gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
(gst_pad_push_event):
Revert BLOCKING patch, it tries to be smart without really having a
clear idea what or how. So, now we discard all FLUSHING events again on
a blocking pad. Should fix gnonlin again.
Sergey Scobich [Mon, 23 Oct 2006 14:51:30 +0000 (14:51 +0000)]
libs/gst/base/gstbasesrc.c: Make sure size is always initialized. Fixes #364388.
Original commit message from CVS:
Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
* libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
(gst_base_src_start), (gst_base_src_activate_push):
Make sure size is always initialized. Fixes #364388.
Stefan Kost [Fri, 20 Oct 2006 11:36:56 +0000 (11:36 +0000)]
docs/random/ensonic/distributed.txt: add some ideas about doing distributed processing
Original commit message from CVS:
* docs/random/ensonic/distributed.txt:
add some ideas about doing distributed processing
* docs/random/ensonic/profiling.txt:
get_rusage look promising
Stefan Kost [Wed, 18 Oct 2006 19:43:46 +0000 (19:43 +0000)]
docs/manual/basics-helloworld.xml: Add a cast in example to fix compile warning
Original commit message from CVS:
* docs/manual/basics-helloworld.xml:
Add a cast in example to fix compile warning
Wim Taymans [Wed, 18 Oct 2006 15:28:19 +0000 (15:28 +0000)]
gst/gstsegment.c: Relax arg checking again, -1 is allowed.
Original commit message from CVS:
* gst/gstsegment.c: (gst_segment_set_last_stop),
(gst_segment_set_seek), (gst_segment_set_newsegment_full):
Relax arg checking again, -1 is allowed.
Wim Taymans [Wed, 18 Oct 2006 13:27:39 +0000 (13:27 +0000)]
gst/gstsegment.c: _set_last_stop() must be with a value != -1
Original commit message from CVS:
* gst/gstsegment.c: (gst_segment_set_last_stop),
(gst_segment_set_seek), (gst_segment_set_newsegment_full):
_set_last_stop() must be with a value != -1
A _TYPE_SET to -1 means seek to 0.
Calc last_stop correctly for negative rates.
Make sure we work with positive durations when updating a segment.
Wim Taymans [Wed, 18 Oct 2006 13:21:56 +0000 (13:21 +0000)]
Small docs fixes.
Original commit message from CVS:
* docs/design/part-live-source.txt:
* gst/gstclock.h:
Small docs fixes.
Tim-Philipp Müller [Wed, 18 Oct 2006 10:08:45 +0000 (10:08 +0000)]
gst/gstbuffer.h: Add an explicit cast to GstBuffer** to keep old code that added an explicit cast to GstMiniObject** ...
Original commit message from CVS:
* gst/gstbuffer.h:
Add an explicit cast to GstBuffer** to keep old code that added an
explicit cast to GstMiniObject** for gst_mini_object_replace()
compiling without warning.
Stefan Kost [Wed, 18 Oct 2006 08:54:30 +0000 (08:54 +0000)]
gst/gstvalue.c: check for validity of dates
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
check for validity of dates
Tim-Philipp Müller [Tue, 17 Oct 2006 12:09:35 +0000 (12:09 +0000)]
docs/gst/gstreamer-sections.txt: Forgot this one, makes gtk-doc shut up.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
Forgot this one, makes gtk-doc shut up.
Peter Kjellerstedt [Tue, 17 Oct 2006 11:57:32 +0000 (11:57 +0000)]
gst/gstobject.h: Don't define xmlNodePtr to gpointer if the core was built with
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* gst/gstobject.h:
Don't define xmlNodePtr to gpointer if the core was built with
--disable-loadsave and --disable-registry, this will break
applications that want to use libxml2 but are buildling against a
core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
instead so we don't have to mess with the libxml2 namespace
(#361675).
Tim-Philipp Müller [Tue, 17 Oct 2006 10:30:27 +0000 (10:30 +0000)]
gst/gstbuffer.h: Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related type-punned pointer warnings.
Original commit message from CVS:
* gst/gstbuffer.h:
Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
type-punned pointer warnings.
Tim-Philipp Müller [Mon, 16 Oct 2006 20:02:38 +0000 (20:02 +0000)]
gst/gstelement.h: Add casts to the correct return type to state <=> state transition macros.
Original commit message from CVS:
* gst/gstelement.h:
Add casts to the correct return type to state <=> state transition
macros.
Stefan Kost [Mon, 16 Oct 2006 13:53:55 +0000 (13:53 +0000)]
docs/design/part-live-source.txt: describe howto handle latency
Original commit message from CVS:
* docs/design/part-live-source.txt:
describe howto handle latency
* docs/random/ensonic/profiling.txt:
more ideas
* tools/gst-plot-timeline.py:
fix log parsing for solaris, remove unused function
Wim Taymans [Mon, 16 Oct 2006 11:46:04 +0000 (11:46 +0000)]
Update some docs regarding reverse playback.
Original commit message from CVS:
* docs/design/part-trickmodes.txt:
* gst/gstevent.c:
Update some docs regarding reverse playback.
Marcus Granado [Sun, 15 Oct 2006 12:47:13 +0000 (12:47 +0000)]
win32/vs8/grammar.vcproj: Error out with a warning if glib-genmarshal.exe is not in path, instead of creating bogus g...
Original commit message from CVS:
Patch by: Marcus Granado <mrc dot gran at gmail com>
* win32/vs8/grammar.vcproj:
Error out with a warning if glib-genmarshal.exe is not in path,
instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
Wim Taymans [Fri, 13 Oct 2006 16:09:53 +0000 (16:09 +0000)]
gst/gstsegment.c: When seeking to stop -1, set last_stop (current position) to the duration of the segment.
Original commit message from CVS:
* gst/gstsegment.c: (gst_segment_set_seek):
When seeking to stop -1, set last_stop (current position) to the
duration of the segment.
Yves Lefebvre [Fri, 13 Oct 2006 13:27:46 +0000 (13:27 +0000)]
gst/gstelement.h: Clarify _NO_PREROLL a bit more.
Original commit message from CVS:
* gst/gstelement.h:
Clarify _NO_PREROLL a bit more.
* gst/gstevent.c:
Fix docs.
* gst/gstpad.c: (gst_pad_link_check_hierarchy),
(gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
(handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
due to wrong locking order. Fixes #361769.
Remove some redundant/misplaced checks in pad_block.
* libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
For negative rates, count backwards from the duration.
Tim-Philipp Müller [Fri, 13 Oct 2006 09:37:59 +0000 (09:37 +0000)]
gst/gsterror.c: Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come up with something better).
Original commit message from CVS:
* gst/gsterror.c: (_gst_library_errors_init):
Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
up with something better).
Tim-Philipp Müller [Thu, 12 Oct 2006 22:35:52 +0000 (22:35 +0000)]
win32/: Don't reference glib-compat.c which is currently not used and not disted; add gstquark.c which was recently a...
Original commit message from CVS:
* win32/vs6/libgstreamer.dsp:
* win32/vs7/libgstreamer.vcproj:
* win32/vs8/libgstreamer.vcproj:
Don't reference glib-compat.c which is currently not used and not
disted; add gstquark.c which was recently added. Fixes #361730.
Tim-Philipp Müller [Thu, 12 Oct 2006 16:09:24 +0000 (16:09 +0000)]
win32/common/: Add gst_caps_merge() and a bunch of other recently-added functions.
Original commit message from CVS:
* win32/common/libgstbase.def:
* win32/common/libgstcontroller.def:
* win32/common/libgstreamer.def:
Add gst_caps_merge() and a bunch of other recently-added functions.
Fixes #361732.
Wim Taymans [Wed, 11 Oct 2006 16:30:14 +0000 (16:30 +0000)]
docs/plugins/: Update element args.
Original commit message from CVS:
* docs/plugins/gstreamer-plugins.args:
* docs/plugins/inspect/plugin-coreelements.xml:
* docs/plugins/inspect/plugin-coreindexers.xml:
Update element args.
* gst/gstsystemclock.c:
Small comment update.
* plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
(gst_tee_request_new_pad), (gst_tee_release_pad),
(gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
(gst_tee_sink_activate_pull):
* plugins/elements/gsttee.h:
Some tee loving:
Add default property defines.
Implement release pad function.
Give properties better blubs etc.
Activate pads before adding them to a running tee.
Do simple buffer_alloc on the first requested pad.
Post error when activation fails.
Tim-Philipp Müller [Wed, 11 Oct 2006 12:16:05 +0000 (12:16 +0000)]
gst/gst.c: Check return value of write() to make compiler happy.
Original commit message from CVS:
* gst/gst.c: (ensure_current_registry_forking):
Check return value of write() to make compiler happy.
Sjoerd Simons [Wed, 11 Oct 2006 10:10:37 +0000 (10:10 +0000)]
plugins/elements/gstqueue.c: Recheck queue filledness after signalling the overrun when we're about to leak downstrea...
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon dot net>
* plugins/elements/gstqueue.c: (gst_queue_chain):
Recheck queue filledness after signalling the overrun when we're about
to leak downstream because we released the lock when emitting the signal
and the queue could be empty again. Fixes #352345.
Tim-Philipp Müller [Wed, 11 Oct 2006 09:13:26 +0000 (09:13 +0000)]
libs/gst/controller/gstcontroller.c: Fix refcounting here too, just like we did for _new_valist() a few days ago (#35...
Original commit message from CVS:
* libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
Fix refcounting here too, just like we did for _new_valist() a few
days ago (#357180) (thanks to René Stadler). Also remove all those
'Since: 0.9' from the gtk-doc blobs.
* tests/check/libs/controller.c: (controller_refcount_new_list),
(gst_controller_suite):
Unit test for the above.
Sebastien Cote [Tue, 10 Oct 2006 14:47:40 +0000 (14:47 +0000)]
gst/gstpad.c: Update some docs.
Original commit message from CVS:
Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
* gst/gstpad.c: (gst_pad_get_caps_unlocked),
(gst_pad_save_thyself):
Update some docs.
Write pad direction in XML output. Fixes #345496.
René Stadler [Tue, 10 Oct 2006 14:13:08 +0000 (14:13 +0000)]
libs/gst/controller/gstcontroller.c: Take ref to controlled object so that it cannot disappear.
Original commit message from CVS:
Patch by: René Stadler <mail at renestadler dot de>
* libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
(gst_controller_new_list), (_gst_controller_dispose),
(_gst_controller_finalize), (_gst_controller_class_init):
Take ref to controlled object so that it cannot disappear.
Fixes #357432.
Wim Taymans [Tue, 10 Oct 2006 14:09:43 +0000 (14:09 +0000)]
libs/gst/check/gstcheck.c: Activate/deactivate pads in setup/teardown respectively.
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):
Activate/deactivate pads in setup/teardown respectively.
Josep Torre Valles [Tue, 10 Oct 2006 12:12:44 +0000 (12:12 +0000)]
gst/Makefile.am: Cast values when making gstenumtypes.h. This pacifies Forte so it doesn't warn about the ~0 as GST_...
Original commit message from CVS:
2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
Patch by: Josep Torre Valles <josep@fluendo.com>
* gst/Makefile.am:
Cast values when making gstenumtypes.h. This pacifies Forte
so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
in the enumeration.
Wim Taymans [Mon, 9 Oct 2006 17:15:39 +0000 (17:15 +0000)]
gst/gstevent.c: Rename some more @cur to @start to fix docs.
Original commit message from CVS:
* gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
Rename some more @cur to @start to fix docs.
* gst/gstsegment.c: (gst_segment_set_seek):
Fix typo.
time and start must always stay in sync as defined in design doc.
* gst/gsttaglist.c: (gst_tag_list_is_empty):
Rename param to fix docs.
* tests/check/gst/gstsegment.c: (GST_START_TEST):
Check that start and time are in sync.
* tests/check/pipelines/parse-launch.c:
(gst_parse_test_element_change_state):
Activate pad before adding to the element.
Wim Taymans [Mon, 9 Oct 2006 16:33:29 +0000 (16:33 +0000)]
docs/design/part-qos.txt: Fix typo.
Original commit message from CVS:
* docs/design/part-qos.txt:
Fix typo.
* gst/gstevent.c:
* gst/gstevent.h:
Update seek event docs regarding negative rates.
Rename @cur to @start.
* gst/gstsegment.c: (gst_segment_set_seek):
* gst/gstsegment.h:
Update set_seek docs regarding negative rates.
Correctly update last_stop to @stop when dealing with negative
rates.
Rename @cur to @start.
* tests/check/gst/gstpad.c: (GST_START_TEST):
Activate pads before trying to use them.
* tests/check/gst/gstsegment.c: (GST_START_TEST),
(gst_segment_suite):
Add simple check for segments and negative rates.
Tim-Philipp Müller [Mon, 9 Oct 2006 11:20:44 +0000 (11:20 +0000)]
API: add gst_tag_list_is_empty() (#360467).
Original commit message from CVS:
* gst/gsttaglist.c: (gst_tag_list_is_empty):
* gst/gsttaglist.h:
* docs/gst/gstreamer-sections.txt:
API: add gst_tag_list_is_empty() (#360467).
* tests/check/gst/gsttag.c: (GST_START_TEST):
And a test case.
Zaheer Abbas Merali [Mon, 9 Oct 2006 11:06:50 +0000 (11:06 +0000)]
gst/gstmessage.h: Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having a value that doesn't fit on enumeration.
Original commit message from CVS:
2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* gst/gstmessage.h:
Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
a value that doesn't fit on enumeration.
Zaheer Abbas Merali [Mon, 9 Oct 2006 10:14:28 +0000 (10:14 +0000)]
libs/gst/net/gstnetclientclock.c: Remove local debugging system and use Gstreamer's instead.
Original commit message from CVS:
2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
Remove local debugging system and use Gstreamer's instead.
Josep Torre Valles [Mon, 9 Oct 2006 09:32:29 +0000 (09:32 +0000)]
common/m4/gst-error.m4: Disable warning of statement not reached on Forte.
Original commit message from CVS:
2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
Patch by: Josep Torre Valles <josep@fluendo.com>
* common/m4/gst-error.m4:
Disable warning of statement not reached on Forte.
* gst/gstmessage.h:
Fix warning on Forte (value doesn't fit on enumeration).
* libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
Fix warning on Forte (value doesn't fit on enumeration).
* libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
DEBUG macro says it takes minimum of 2 args and so Forte
complains about the use with just 1 arg.
* plugins/elements/gstfdsink.c:
* plugins/elements/gstfdsrc.c:
* plugins/elements/gstfilesink.c:
* plugins/elements/gstfilesrc.c:
Use correct return type for the uri handler implementations.
All these fix warnings in Forte. Fixes bug #360860.
Tim-Philipp Müller [Sun, 8 Oct 2006 13:27:17 +0000 (13:27 +0000)]
gst/gstelement.h: gcc versions prior to gcc 3.3 apparently complain about a NULL printf format string, so don't use G...
Original commit message from CVS:
* gst/gstelement.h:
gcc versions prior to gcc 3.3 apparently complain about a NULL printf
format string, so don't use G_GNUC_PRINTF for those versions.
Tim-Philipp Müller [Sat, 7 Oct 2006 18:41:19 +0000 (18:41 +0000)]
gst/gsttaglist.*: Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
Original commit message from CVS:
* gst/gsttaglist.c: (gst_is_tag_list):
* gst/gsttaglist.h:
Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
* tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
Small test for the above.
Tim-Philipp Müller [Sat, 7 Oct 2006 18:11:03 +0000 (18:11 +0000)]
gst/gsttaglist.h: Less tabs, more spaces.
Original commit message from CVS:
* gst/gsttaglist.h:
Less tabs, more spaces.
Tim-Philipp Müller [Fri, 6 Oct 2006 17:21:33 +0000 (17:21 +0000)]
gst/gstinfo.h: Those two function declarations do actually belong there, revert commit from yesterday that turned the...
Original commit message from CVS:
* gst/gstinfo.h:
Those two function declarations do actually belong there, revert
commit from yesterday that turned them intro macros.
Josep Torre Valles [Fri, 6 Oct 2006 14:46:04 +0000 (14:46 +0000)]
gst/gst.c: Fix empty declaration and type mismatch.
Original commit message from CVS:
2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
Patch by: Josep Torre Valles <josep@fluendo.com>
* gst/gst.c: (gst_init_get_option_group):
Fix empty declaration and type mismatch.
* gst/gstbin.c: (gst_bin_change_state_func):
Fix type mismatch.
* gst/gstelement.c: (gst_element_continue_state),
(gst_element_set_state_func), (gst_element_change_state),
(gst_element_change_state_func):
Fix type mismatches.
* gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
(gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
Cast as appropriate.
* gst/gstobject.c: (gst_class_signal_connect):
Cast as appropriate. The function pointer parameter really
has the wrong type but would break API if we change it.
* gst/gstquery.c:
Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
order of including string.h.
* gst/gstutils.c: (gst_element_state_get_name):
Remove unreachable line.
* gst/gstxml.c: (gst_xml_parse_doc):
Fix type mismatch.
All these caught by Forte.
Josep Torre Valles [Fri, 6 Oct 2006 14:00:49 +0000 (14:00 +0000)]
common/m4/gst-error.m4: Fixed bug #360151.
Original commit message from CVS:
2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
Patch by: Josep Torre Valles <josep@fluendo.com>
* common/m4/gst-error.m4:
Fixed bug #360151.
We need to disable warnings on Forte for empty declarations
due to gst-indent adding ;s to lines that just use macros
where the macro actually doesn't need a ; at end to end
statement.
Wim Taymans [Fri, 6 Oct 2006 13:01:30 +0000 (13:01 +0000)]
plugins/elements/gstfilesink.c: Add some FIXME for the NEWSEGMENT handling.
Original commit message from CVS:
* plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
(gst_file_sink_close_file), (gst_file_sink_event),
(gst_file_sink_render):
Add some FIXME for the NEWSEGMENT handling.
Zaheer Abbas Merali [Thu, 5 Oct 2006 15:47:44 +0000 (15:47 +0000)]
gst/parse/grammar.y: Remove static function gst_parse_element_lock as all it does is return. Looks like cruft from 0.8.
Original commit message from CVS:
2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* gst/parse/grammar.y:
Remove static function gst_parse_element_lock as all it does
is return. Looks like cruft from 0.8.
Josep Torre Valles [Thu, 5 Oct 2006 15:31:16 +0000 (15:31 +0000)]
Fix a compilation issue with Forte on Solaris. inet_aton is in libresolv.
Original commit message from CVS:
2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
Patch by: Josep Torre Valles <josep@fluendo.com>
* common/m4/gst-error.m4:
* configure.ac:
* libs/gst/net/Makefile.am:
Fix a compilation issue with Forte on Solaris. inet_aton is in
libresolv.
Tim-Philipp Müller [Thu, 5 Oct 2006 14:26:08 +0000 (14:26 +0000)]
Printf fixes.
Original commit message from CVS:
* gst/gstpad.c: (pre_activate):
* gst/gstregistry.c: (gst_registry_scan_path_level):
* gst/gstregistryxml.c: (load_plugin):
* libs/gst/controller/gstcontroller.c:
(gst_controlled_property_set_interpolation_mode):
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_packet_from_event_1_0):
* libs/gst/net/gstnetclientclock.c:
(gst_net_client_clock_observe_times):
* plugins/elements/gstfdsrc.c: (gst_fd_src_create):
Printf fixes.
Tim-Philipp Müller [Thu, 5 Oct 2006 12:31:07 +0000 (12:31 +0000)]
Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know whether we can use G_GNUC_PRINTF in other header files ...
Original commit message from CVS:
* configure.ac:
* docs/gst/gstreamer-sections.txt:
* gst/gstconfig.h.in:
* gst/gstelement.h:
* gst/gstinfo.h:
Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
whether we can use G_GNUC_PRINTF in other header files and at
least check the printf format/arguments of debug messages and
GST_ELEMENT_ERROR messages when the printf extension is not
being used.
Replace more tabs with spaces in gstinfo.h and remove two spurious
function declarations in GST_DISABLE_DEBUG part with macros.
Tim-Philipp Müller [Tue, 3 Oct 2006 19:13:36 +0000 (19:13 +0000)]
gst/gstbus.c: More docs for the sync-message signal (mention that it is not emitted by default); log message structur...
Original commit message from CVS:
* gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
More docs for the sync-message signal (mention that it is not
emitted by default); log message structures of messages posted on
the bus as well.
Jan Schmidt [Tue, 3 Oct 2006 15:10:51 +0000 (15:10 +0000)]
gst/gst.c: Use a pipe pair to receive status results from the forked child, and ignore the result from waitpid. Fixes...
Original commit message from CVS:
* gst/gst.c: (ensure_current_registry_forking):
Use a pipe pair to receive status results from the forked child, and
ignore the result from waitpid. Fixes #355499
Wim Taymans [Mon, 2 Oct 2006 16:46:16 +0000 (16:46 +0000)]
tests/check/gst/gstghostpad.c: Fix leak in check.
Original commit message from CVS:
* tests/check/gst/gstghostpad.c: (GST_START_TEST),
(gst_ghost_pad_suite):
Fix leak in check.
Tim-Philipp Müller [Mon, 2 Oct 2006 16:37:56 +0000 (16:37 +0000)]
gst/gstpad.c: Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
Original commit message from CVS:
* gst/gstpad.c:
Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
Edward Hervey [Mon, 2 Oct 2006 16:01:54 +0000 (16:01 +0000)]
docs/design/part-block.txt: Further explain the use of flushing on blocked pads.
Original commit message from CVS:
* docs/design/part-block.txt:
Further explain the use of flushing on blocked pads.
* docs/gst/gstreamer-sections.txt:
* gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
(gst_pad_push_event):
* gst/gstpad.h:
Added new GstPadFlag : GST_PAD_BLOCKING.
Adds the notion of pads really blocking, which enables to properly
handle FLUSH_START/FLUSH_STOP events on blocked pads.
Fixes #358999
API: gst_pad_is_blocking()
API: GST_PAD_IS_BLOCKING() macro
API: GST_PAD_BLOCKING GstPadFlag
mrcgran [Mon, 2 Oct 2006 10:06:17 +0000 (10:06 +0000)]
gst/gstghostpad.c: Filter the proxied caps against the padtemplate if we have one.
Original commit message from CVS:
Patch by: mrcgran <mrc.gran at gmail dot com>
* gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
Filter the proxied caps against the padtemplate if we have one.
* gst/gstquery.c: (gst_query_new_segment):
Add include for gstinfo.h so that compilation with
-DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
Wim Taymans [Mon, 2 Oct 2006 09:44:03 +0000 (09:44 +0000)]
Give credit
Original commit message from CVS:
Give credit
Wim Taymans [Mon, 2 Oct 2006 09:41:09 +0000 (09:41 +0000)]
plugins/elements/gstfilesink.c: Set file to NULL when closing filesink so that we can set a new filename in READY. Fi...
Original commit message from CVS:
* plugins/elements/gstfilesink.c: (gst_file_sink_init),
(gst_file_sink_set_location), (gst_file_sink_open_file),
(gst_file_sink_close_file), (gst_file_sink_event),
(gst_file_sink_render):
Set file to NULL when closing filesink so that we can set a new filename
in READY. Fixes #358613.
Alessandro Decina [Mon, 2 Oct 2006 08:37:24 +0000 (08:37 +0000)]
gst/gstevent.c: Fix gst_mini_object_make_writable() and gst_event_copy() for events with event structures by setting ...
Original commit message from CVS:
Patch by: Alessandro Decina <alessandro at nnva org>
* gst/gstevent.c: (_gst_event_copy):
Fix gst_mini_object_make_writable() and gst_event_copy() for events
with event structures by setting the parent refcount address of the
copied structure to the address of the refcount member of the newly
copied event rather than the address of the refcount member of the
original event. Fixes #358737.
* tests/check/gst/gstevent.c: (GST_START_TEST):
Unit test for the above.
Stefan Kost [Fri, 29 Sep 2006 20:29:49 +0000 (20:29 +0000)]
docs/design/Makefile.am: Dist some more files.
Original commit message from CVS:
* docs/design/Makefile.am:
Dist some more files.
Tim-Philipp Müller [Fri, 29 Sep 2006 12:31:18 +0000 (12:31 +0000)]
tests/check/libs/controller.c: Add test for the previous fix; add some more tests for correct refcounting behaviour; ...
Original commit message from CVS:
* tests/check/libs/controller.c: (GST_START_TEST),
(gst_controller_suite):
Add test for the previous fix; add some more tests
for correct refcounting behaviour; fix a few leaks
in test cases; call gst_controller_init() at start
of all tests.
Tim-Philipp Müller [Fri, 29 Sep 2006 12:24:50 +0000 (12:24 +0000)]
libs/gst/controller/gstcontroller.c: Don't g_return_val_if_fail() on timed values with invalid timestamps inside a cr...
Original commit message from CVS:
* libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
(gst_controller_set_from_list):
Don't g_return_val_if_fail() on timed values with invalid timestamps
inside a critical section without unlocking the mutex. Spotted by
René Stadler. (#357617)
Also, fix up refcounting properly: when returning an existing
controller, we should increase the reference only once and not
once per property and when trying to control a property again
we should also increase the refcount.
Wim Taymans [Fri, 29 Sep 2006 08:22:22 +0000 (08:22 +0000)]
libs/gst/net/: Stop reading commands when EOF as well.
Original commit message from CVS:
* libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
* libs/gst/net/gstnettimeprovider.c:
(gst_net_time_provider_thread):
Stop reading commands when EOF as well.
* plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
* plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
* plugins/elements/gstidentity.c: (gst_identity_class_init):
Unify description of the dump property.
Jan Schmidt [Thu, 28 Sep 2006 17:20:17 +0000 (17:20 +0000)]
Mention bug number in previous commit
Original commit message from CVS:
Mention bug number in previous commit
Jan Schmidt [Thu, 28 Sep 2006 15:52:04 +0000 (15:52 +0000)]
tests/examples/manual/.cvsignore: OK, so it's actually cvsignore that needs changing. Stop laughing.
Original commit message from CVS:
* tests/examples/manual/.cvsignore:
OK, so it's actually cvsignore that needs changing. Stop laughing.
Jan Schmidt [Thu, 28 Sep 2006 15:27:12 +0000 (15:27 +0000)]
tests/examples/manual/Makefile.am: Gah, declare vars *before* using them
Original commit message from CVS:
* tests/examples/manual/Makefile.am:
Gah, declare vars *before* using them
Jan Schmidt [Thu, 28 Sep 2006 14:00:43 +0000 (14:00 +0000)]
gst/: Re-commit the registry changes, along with an extra fix:
Original commit message from CVS:
* gst/gst.c: (init_pre), (scan_and_update_registry),
(ensure_current_registry_nonforking),
(ensure_current_registry_forking), (ensure_current_registry),
(init_post), (gst_debug_help), (gst_deinit):
* gst/gst_private.h:
* gst/gstregistry.c: (gst_registry_finalize),
(gst_registry_remove_features_for_plugin_unlocked),
(gst_registry_remove_plugin), (gst_registry_scan_path_level),
(gst_registry_scan_path),
(_priv_gst_registry_remove_cache_plugins),
(_priv_gst_registry_cleanup):
* gst/gstregistry.h:
Re-commit the registry changes, along with an extra fix:
When a cached plugin is encountered at a different file path,
update the stored path in the registry cache so that the parent
process knows where it actually is now when it re-reads the registry
cache. Fixes the thing that broke distcheck with the previous commit.
* tests/check/Makefile.am:
Clean up files named 'core' too when running make clean.
* tests/examples/manual/Makefile.am:
Set up a registry path for running these tests, and clean it properly
for distcheck.
Jan Schmidt [Thu, 28 Sep 2006 11:11:28 +0000 (11:11 +0000)]
configure.ac: Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we want gmodule-no-export-2.0.pc instea...
Original commit message from CVS:
* configure.ac:
Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
want gmodule-no-export-2.0.pc instead so that we don't drag in
--export-dynamic on every project that links to GStreamer.
Also, make our export regex only match the start of symbols, rather
than any symbol that contains '_gst' somewhere.
* libs/gst/check/Makefile.am:
The libgstcheck we build does however need export-dynamic, as it
produces some symbols that don't match our _gst... style regex.
Jan Schmidt [Wed, 27 Sep 2006 17:42:47 +0000 (17:42 +0000)]
gst/: Revert previous change until I figure out why it breaks distcheck.
Original commit message from CVS:
* gst/gst.c: (init_pre), (scan_and_update_registry),
(ensure_current_registry_nonforking),
(ensure_current_registry_forking), (ensure_current_registry),
(init_post), (gst_debug_help), (gst_deinit):
* gst/gst_private.h:
* gst/gstregistry.c: (gst_registry_finalize),
(gst_registry_remove_plugin), (gst_registry_scan_path_level),
(gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
(_gst_registry_cleanup):
* gst/gstregistry.h:
Revert previous change until I figure out why it breaks distcheck.
Jan Schmidt [Wed, 27 Sep 2006 16:52:59 +0000 (16:52 +0000)]
gst/gst.c: Make init_pre and init_post take the full complement of GOptionFunc args so they can return useful GErrors...
Original commit message from CVS:
* gst/gst.c: (init_pre), (scan_and_update_registry),
(ensure_current_registry_nonforking),
(ensure_current_registry_forking), (ensure_current_registry),
(init_post), (gst_debug_help), (gst_deinit):
Make init_pre and init_post take the full complement of GOptionFunc
args so they can return useful GErrors. Make the registry updating
functions do so.
Call _priv_gst_registry_remove_cache_plugins after scanning files to
ensure that the registry we're about to write out doesn't contain
stale information about old-deleted plugin files.
Make _priv_gst_registry_remove_cache_plugins return a boolean so
that deletion of plugin files is considered a registry change.
* gst/gst_private.h:
* gst/gstregistry.c: (gst_registry_finalize),
(gst_registry_remove_features_for_plugin_unlocked),
(gst_registry_remove_plugin), (gst_registry_scan_path_level),
(gst_registry_scan_path),
(_priv_gst_registry_remove_cache_plugins),
(_priv_gst_registry_cleanup):
* gst/gstregistry.h:
Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
by adding _priv prefix, so that they won't appear in the global
symbol table. They still do atm though because of #318031. Move the
prototypes to gst_private.h
When removing a plugin, remove all features for that plugin too.
Fixes #340878.
Wim Taymans [Wed, 27 Sep 2006 13:19:55 +0000 (13:19 +0000)]
docs/random/moving-plugins: Make it clear that the "compiled-in descriptions" really mean the element details.
Original commit message from CVS:
* docs/random/moving-plugins:
Make it clear that the "compiled-in descriptions" really mean
the element details.
* libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
(gst_base_sink_wait_preroll):
Update docs.
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
(gst_base_src_get_range), (gst_base_src_activate_push):
* libs/gst/base/gstbasesrc.h:
Added function to block while waiting for PLAYING, this function
is used by live sources that block on the clock.
API: gst_base_src_wait_playing()
Peter Kjellerstedt [Wed, 27 Sep 2006 10:13:13 +0000 (10:13 +0000)]
Makefile.am: gst-element-check.m4 is generated and should therefore be copied from the build dir rather than the sour...
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* Makefile.am:
gst-element-check.m4 is generated and should therefore be
copied from the build dir rather than the source dir (#357593).
'make distcheck' hasn't noticed this because we were disting
the file as well, so stop doing that.
Tim-Philipp Müller [Wed, 27 Sep 2006 09:23:18 +0000 (09:23 +0000)]
tests/check/gst/gstcaps.c: Add some tests for gst_caps_intersect().
Original commit message from CVS:
* tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
Add some tests for gst_caps_intersect().
* tools/gst-launch.c: (event_loop):
Print all buffering percentages we get, even the 100% one.
Wim Taymans [Tue, 26 Sep 2006 12:39:26 +0000 (12:39 +0000)]
tools/gst-inspect.c: Fix printing of flags to match the look of enums.
Original commit message from CVS:
* tools/gst-inspect.c: (print_element_properties_info),
(print_signal_info):
Fix printing of flags to match the look of enums.
Tim-Philipp Müller [Mon, 25 Sep 2006 13:08:29 +0000 (13:08 +0000)]
gst/gstelementfactory.c: Fix typo in docs blurb.
Original commit message from CVS:
* gst/gstelementfactory.c:
Fix typo in docs blurb.
Tim-Philipp Müller [Mon, 25 Sep 2006 11:16:37 +0000 (11:16 +0000)]
gst/gsturi.c: Don't assert/crash here if a uri handler doesn't return any supported protocols. The list of protocols ...
Original commit message from CVS:
* gst/gsturi.c: (search_by_entry):
Don't assert/crash here if a uri handler doesn't return any
supported protocols. The list of protocols could be generated
dynamically at runtime or at plugin registration, and an error
in the underlying library shouldn't be fatal (#353301).
Tim-Philipp Müller [Mon, 25 Sep 2006 10:36:23 +0000 (10:36 +0000)]
gst/gstinfo.c: Fix warning if HAVE_PRINTF_EXTENSION is undefined (spotted by Peter Kjellerstedt).
Original commit message from CVS:
* gst/gstinfo.c:
Fix warning if HAVE_PRINTF_EXTENSION is undefined
(spotted by Peter Kjellerstedt).
Antoine Tremblay [Sat, 23 Sep 2006 09:30:40 +0000 (09:30 +0000)]
libs/gst/base/gstbasesrc.c: Match _start/_stop calls in the activate functions. Remove redundant _stop call from the ...
Original commit message from CVS:
Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
* libs/gst/base/gstbasesrc.c:
(gst_base_src_default_check_get_range), (gst_base_src_start),
(gst_base_src_activate_push), (gst_base_src_activate_pull),
(gst_base_src_change_state):
Match _start/_stop calls in the activate functions. Remove redundant
_stop call from the state change function. Fixes #356910.
Turn failure DEBUG into ERROR.
Wim Taymans [Fri, 22 Sep 2006 15:29:23 +0000 (15:29 +0000)]
Update docs about buffering.
Original commit message from CVS:
* docs/design/part-buffering.txt:
* gst/gstmessage.c: (gst_message_new_buffering),
(gst_message_parse_buffering):
Update docs about buffering.
* docs/design/part-trickmodes.txt:
Fix typo.
Thomas Vander Stichele [Fri, 22 Sep 2006 14:30:49 +0000 (14:30 +0000)]
audiotestsrc is not part of core, fakesrc is
Original commit message from CVS:
audiotestsrc is not part of core, fakesrc is
Stefan Kost [Fri, 22 Sep 2006 13:32:43 +0000 (13:32 +0000)]
libs/gst/controller/gstcontroller.c: Ref instances when returning them again (fixes #357180)
Original commit message from CVS:
* libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
(gst_controller_new_list):
Ref instances when returning them again (fixes #357180)
Tim-Philipp Müller [Fri, 22 Sep 2006 10:17:15 +0000 (10:17 +0000)]
gst/gstghostpad.c: Don't forget to release proxy lock when there's an error.
Original commit message from CVS:
* gst/gstghostpad.c: (gst_ghost_pad_set_target):
Don't forget to release proxy lock when there's an error.
Jan Schmidt [Wed, 20 Sep 2006 16:17:26 +0000 (16:17 +0000)]
gst/gstcaps.h: Add extra initialisers for Caps things, to fix some plugin warnings when using -Wextra
Original commit message from CVS:
* gst/gstcaps.h:
Add extra initialisers for Caps things, to fix some plugin warnings
when using -Wextra
Wim Taymans [Mon, 18 Sep 2006 13:56:26 +0000 (13:56 +0000)]
gst/gstghostpad.c: Also set template on the internal pad so that a getcaps from the target pad returns the template c...
Original commit message from CVS:
* gst/gstghostpad.c: (gst_ghost_pad_new_full):
Also set template on the internal pad so that a getcaps from the target
pad returns the template caps.