Commit graph

252 commits

Author SHA1 Message Date
Benjamin Otte
350d4a897c compile before checkin
Original commit message from CVS:
compile before checkin
2004-02-05 23:51:34 +00:00
Benjamin Otte
f3c9c3493d gst/: put reverted patch back in
Original commit message from CVS:
2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstcaps.h:
* gst/gstelement.c: (gst_element_base_class_init),
(gst_element_class_set_details), (gst_element_clear_pad_caps):
* gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
(gst_pad_try_set_caps), (gst_pad_can_link_filtered),
(gst_real_pad_dispose):
* gst/gststructure.c: (gst_structure_free),
(gst_structure_from_string):
put reverted patch back in
* gst/gstelement.c: (gst_element_remove_pad):
free explicit caps if they're set
* gst/gstpad.c: (_gst_pad_default_fixate_func):
copy the structure when fixating
2004-02-05 23:46:13 +00:00
Andy Wingo
a8b84d8a57 gst/gstpad.c (_gst_real_pad_fixate_accumulator): s/pointer/boxed/.
Original commit message from CVS:
2004-02-05  Andy Wingo  <wingo@pobox.com>

* gst/gstpad.c (_gst_real_pad_fixate_accumulator):
s/pointer/boxed/.

* gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.

* gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
with the type=GST_TYPE_CAPS. This allows language bindings to know
what kind of data they're dealing with.

* gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
to NULL when g_value_init is called. GstCaps, which rolls its own
type implementation, now does the same instead of allocating empty
caps.
(_gst_caps_initialize, _gst_caps_collect_value,
_gst_caps_lcopy_value): Provide collect_value and lcopy_value type
table methods. This allows G_VALUE_COLLECT to work.

2004-02-05  Andy Wingo  <wingo@pobox.com>

* configure.ac:
* testsuite/Makefile.am (SUBDIRS):
* testsuite/ghostpads/Makefile.am:
* testsuite/ghostpads/ghostpads.c: A new test for ghost pads.

* gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
These two routines are the only ones that set
GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
pad template. They should be made static, depending on ABI needs.
(gst_real_pad_dispose): Handle the case of ghost pads without a
parent. Assert after dealing with ghost pads that the ghost pad
list is empty.
(gst_ghost_pad_class_init): New property added, ::real-pad. Can be
set after creation.
(gst_ghost_pad_dispose): Set ::real-pad to NULL.
(gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
functions. set_property will call add_ghost_pad/remove_ghost_pad
as appropriate.
(gst_ghost_pad_new): All the work is offloaded to g_object_new.

* gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
(gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
(gst_element_remove_pad): Handle ghost pads as well.
(gst_element_remove_ghost_pad): Deprecated (could be removed,
depending on API-stability needs).

2004-02-05  Andy Wingo  <wingo@pobox.com>

* gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
of course they're const
2004-02-05 13:51:26 +00:00
Thomas Vander Stichele
6fb4c764af revert patch that breaks applications revert this patch after release so everything can be fixed properly
Original commit message from CVS:
revert patch that breaks applications
revert this patch after release so everything can be fixed properly
2004-02-05 13:32:09 +00:00
David Schleef
0f357a0852 gst/gstelement.c: Make sure we have a GstRealPad before accessing its structure members.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
a GstRealPad before accessing its structure members.
2004-02-05 02:30:53 +00:00
Benjamin Otte
3945b0600b gst/gststructure.c: fix huge memleak
Original commit message from CVS:
2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gststructure.c: (gst_structure_from_string):
fix huge memleak
* gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
(new_entry), (gst_type_find_element_chain):
* gst/gstelement.c: (gst_element_base_class_init),
(gst_element_class_set_details):
* gst/gstpad.c: (gst_pad_can_link_filtered):
fix smaller memleaks
* gst/gstpad.c: (gst_real_pad_dispose):
check that explicit caps are gone
* gst/gststructure.c: (gst_structure_free):
actually free the structure
* gst/gstelement.c: (gst_element_clear_pad_caps):
unset explicit caps
2004-02-03 22:13:13 +00:00
Benjamin Otte
4749c7a4f1 gst/: get rid of gstmarshal.h dependency. It's not needed.
Original commit message from CVS:
2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/parse/Makefile.am:
* gst/gstobject.h:
get rid of gstmarshal.h dependency. It's not needed.
* gst/gst.h:
* gst/elements/gstfakesink.c:
* gst/elements/gstfakesrc.c:
* gst/elements/gstidentity.c:
* gst/gstbin.c:
* gst/gstelement.c:
* gst/gstindex.c:
* gst/gstobject.c:
* gst/gstpad.c:
* gst/gstthread.c:
* gst/gstxml.c:
* libs/gst/control/dparam.c:
* libs/gst/control/dparammanager.c:
include gstmarshal.h.
Fixes #132045
2004-02-03 03:31:26 +00:00
Thomas Vander Stichele
031bcfd561 suffix error with period
Original commit message from CVS:
suffix error with period
2004-02-02 17:29:30 +00:00
Thomas Vander Stichele
4fb17846d4 add path for element throwing error
Original commit message from CVS:
add path for element throwing error
2004-01-31 19:09:38 +00:00
Benjamin Otte
192330d37a parts of the patch submitted in bug #113913
Original commit message from CVS:
2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>

reviewed by Benjamin Otte
parts of the patch submitted in bug #113913

* configure.ac:
use AC_C_INLINE. Use = instead of == with test
* examples/plugins/example.c:
* gst/autoplug/gstspideridentity.c:
* gst/elements/gstfdsrc.c:
* gst/elements/gstfilesrc.c:
* gst/elements/gstidentity.c:
* gst/elements/gstmultidisksrc.c:
* gst/elements/gststatistics.c:
* gst/gstelement.c:
* gst/gstobject.c:
* gst/gstpad.c:
* gst/gstpipeline.c:
* gst/gstthread.c:
don't end enums with a comma
* gst/gstindex.c: (gst_index_compare_func):
do explicit casting to gint
* gst/gsttrace.c: (gst_trace_text_flush):
#define strsize as a macro
2004-01-30 20:48:13 +00:00
Thomas Vander Stichele
0fc84c1471 seriously, using cvs over slow lines just sucks.
Original commit message from CVS:
seriously, using cvs over slow lines just sucks.
*sigh*, finishing commit
2004-01-30 07:58:54 +00:00
Benjamin Otte
807937481e docs/random/mimetypes: update docs for audio/x-raw-float. Add "buffer-frames=0 means undefined"
Original commit message from CVS:
2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* docs/random/mimetypes:
update docs for audio/x-raw-float. Add "buffer-frames=0 means
undefined"
* gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
make it only work in NULL.
* gst/gstcaps.c:
don't posion NULL caps
* gst/gstelement.c: (gst_element_set_time):
add debugging statement
* gst/gstelement.c: (gst_element_emit_found_tag),
(gst_element_found_tag_func), (gst_element_found_tags):
* gst/gstelement.h:
These functions take const taglists
* gst/gstpad.c: (gst_pad_proxy_getcaps):
fix memleak
* gst/gstpad.c: (gst_pad_event_default):
make more effort on handling discont and clocks, g_warn if everything
fails
* gst/gststructure.c: (gst_structure_remove_fields),
(gst_structure_remove_fields_valist):
* gst/gststructure.h:
add gst_structure_remove_fields(_valist)
* gst/gsttag.c:
fix doc glitch
2004-01-29 02:24:52 +00:00
Thomas Vander Stichele
3d115f3bff changed _extended to _full
Original commit message from CVS:
changed _extended to _full
2004-01-20 10:53:20 +00:00
Thomas Vander Stichele
1a12e752e4 privatise
Original commit message from CVS:
privatise
2004-01-19 18:23:19 +00:00
Thomas Vander Stichele
b0a02001fa adding a helper printf function for gst_element_error
Original commit message from CVS:
adding a helper printf function for gst_element_error
2004-01-19 11:32:35 +00:00
Thomas Vander Stichele
4efc300279 changing error signal add error codes and domains
Original commit message from CVS:
changing error signal
add error codes and domains
2004-01-18 21:36:20 +00:00
David Schleef
4516e56791 gst/gstelement.c: Use GST_PAD_ macros instead of GST_RPAD_, since we don't know if it's a real or ghost pad.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
(gst_element_link_pads_filtered): Use GST_PAD_ macros instead
of GST_RPAD_, since we don't know if it's a real or ghost pad.
2004-01-15 21:30:49 +00:00
Benjamin Otte
5e8a2fb8a4 gst/autoplug/gstspideridentity.c: break infinite loop by just returning instead of looping
Original commit message from CVS:
2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/autoplug/gstspideridentity.c:
(gst_spider_identity_sink_loop_type_finding):
break infinite loop by just returning instead of looping
* gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
set event time difference correctly. Set it to 1 second instead
of 100ms to be more tolerant
* gst/gstelement.c: (gst_element_set_time):
add debugging output
2004-01-15 01:35:41 +00:00
Benjamin Otte
1e82f617e4 gst/gstclock.*: deprecate old interface and disable functions that aren't in use anymore.
Original commit message from CVS:
2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
(gst_clock_set_speed), (gst_clock_set_active),
(gst_clock_is_active), (gst_clock_reset),
(gst_clock_handle_discont):
* gst/gstclock.h:
deprecate old interface and disable functions that aren't in use
anymore.
* gst/gstelement.h:
* gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
(gst_element_set_time), (gst_element_adjust_time):
add concept of "element time" and functions to get/set this time.
* gst/gstelement.c: (gst_element_change_state):
update element time correctly.
* gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
This is a debug message, not a g_critical.
* gst/gstpad.c: (gst_pad_event_default):
handle discontinuous events right with element time.
* gst/gstscheduler.c: (gst_scheduler_state_transition):
update to clocking fixes.
set clocks on elements in READY=>PAUSED. The old behaviour caused
a wrong element time on the first element that started playing.
* gst/schedulers/gstbasicscheduler.c:
(gst_basic_scheduler_class_init):
* gst/schedulers/gstoptimalscheduler.c:
(gst_opt_scheduler_class_init):
remove code that just implements the default behaviour.
* gst/elements/gstfakesink.c: (gst_fakesink_chain):
update to use new clocking functions
* testsuite/clock/clock1.c: (gst_clock_debug), (main):
* testsuite/clock/clock2.c: (gst_clock_debug), (main):
update to test new element time.
* gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
use _get_allowed_caps instead of _get_caps. This catches filtered
caps correctly.
* testsuite/debug/commandline.c:
update for new GST_DEBUG syntax.
* testsuite/threads/Makefile.am:
disable a test that only works sometimes.
2004-01-14 00:46:48 +00:00
Jan Schmidt
baa7050fd2 Make the "could not find compatible pad' message more informative
Original commit message from CVS:
Make the "could not find compatible pad' message more informative
2004-01-06 16:28:43 +00:00
David Schleef
d4142ec0a0 gst/gstelement.c: Fix to allow DELAYED to indicate that linking was successful.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_link_pads_filtered),
(gst_element_negotiate_pads): Fix to allow DELAYED to indicate
that linking was successful.
* gst/gstpad.c: (gst_pad_link_free),
(gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
(gst_pad_link_try), (gst_pad_link_unnegotiate),
(gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
GstPadLinkReturn correctly between functions, and don't fail
when DELAYED is used (DELAYED is very important).  Better
cleanup on unlinking and unnegotiation.  Should fix some spider
bugs.
2004-01-03 09:25:04 +00:00
David Schleef
f69c95d94c Move padtemplate clearing from class_init to base_init
Original commit message from CVS:
Move padtemplate clearing from class_init to base_init
2004-01-03 01:25:01 +00:00
Ronald S. Bultje
8dd4d19854 gst/gstelement.c: Refuse registering a pad template if another pad template with the same name already exists (#114715).
Original commit message from CVS:
2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* gst/gstelement.c: (gst_element_class_add_pad_template):
Refuse registering a pad template if another pad template
with the same name already exists (#114715).
2004-01-02 23:52:59 +00:00
Benjamin Otte
9df878658c gst/gstcaps.c: add sanity checks
Original commit message from CVS:
2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstcaps.c: (gst_caps_append):
add sanity checks
* gst/gstcaps.h: (gst_caps_debug):
remove, it doesn't exist anymore.
* gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
(gst_element_threadsafe_properties_post_run):
make debugging messages not clutter up THREAD debug category
(gst_element_negotiate_pads), (gst_element_clear_pad_caps),
(gst_element_change_state):
update to new caps API
* gst/gstinterface.c: (gst_implements_interface_cast):
don't put vital code in g_return_if_fail
* gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
(gst_pad_link_filtered):
add pst_pad_try_link and use it.
(gst_pad_perform_negotiate), (gst_pad_renegotiate):
implement correctly, deprecate first one.
(gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
add and implement.
(gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
implement.
(gst_pad_get_negotiated_caps):
add and implement. Make GST_PAD_CAPS call this function.
(gst_pad_get_caps):
remove unneeded check..
(gst_pad_recover_caps_error):
disable, always return FALSE.
(gst_real_pad_dispose):
don't free caps and appfilter anymore, they're unused.
* gst/gstpad.h:
Reflect changes mentioned above.
* gst/gstsystemclock.c: (gst_system_clock_wait):
Make 'clock is way behind' a debugging message.
* gst/gstthread.c: (gst_thread_change_state):
Fix debugging message
2003-12-27 13:51:31 +00:00
David Schleef
686e3f1805 Fix a few logic bugs in gst_element_get_compatible_pad_filtered() caused by new pad negotiation. Add some debugging,...
Original commit message from CVS:
Fix a few logic bugs in gst_element_get_compatible_pad_filtered() caused
by new pad negotiation.  Add some debugging, and fix logic bug in gstpad.c.
2003-12-24 03:28:27 +00:00
David Schleef
8c9cd079d4 Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
2003-12-22 01:39:35 +00:00
Benjamin Otte
46a70fddfb removed GST_*_CAST. Disabling of type checking is done in glib.
Original commit message from CVS:
removed GST_*_CAST. Disabling of type checking is done in glib.
2003-12-13 16:58:29 +00:00
Benjamin Otte
385b9ee5c4 merge in tagging
Original commit message from CVS:
merge in tagging
Includes:
- gsttag.[ch] - The definition of GstTagList and tag registering/querying
- gsttaginterface.[ch] - Interface for elements that can handle setting of tags
- updates and merges to gststructure.[ch] and gstvalue.[ch]
- testsuite/tags - some tests for tagging
- bugfixes
- updates to make make distcheck work
- updates the version number to 0.7.2.1

Does not include:
- including tagging stuff in docs
- extensive tests
2003-11-24 02:09:23 +00:00
Benjamin Otte
9d3683f11f query sink pads before querying peers of source pads in default handler
Original commit message from CVS:
query sink pads before querying peers of source pads in default handler
2003-11-17 01:08:00 +00:00
Andy Wingo
ad008198e0 fix an old bug traversing pad template lists, and change _padtemplates to _pad_templates in new functions
Original commit message from CVS:
fix an old bug traversing pad template lists, and change _padtemplates to _pad_templates in new functions
2003-11-11 12:34:15 +00:00
David Schleef
fc35aeeaad Add gst_element_class_get_pad_template()
Original commit message from CVS:
Add gst_element_class_get_pad_template()
2003-11-08 23:28:04 +00:00
Benjamin Otte
b0ab53ea6a make gst_element_link work when connecting from a NULL-caps request pad
Original commit message from CVS:
make gst_element_link work when connecting from a NULL-caps request pad
2003-11-05 01:33:02 +00:00
Ronald S. Bultje
9abb3e0669 XML, gst-editor, gst-rec and anything that's not based on spider is now broken. This re-fixes it.
Original commit message from CVS:
XML, gst-editor, gst-rec and anything that's not based on spider is now broken. This re-fixes it.
2003-11-02 16:46:12 +00:00
Benjamin Otte
3ddbdba789 fix stupidity bug in gstelement.c (which only crashes other computers :)
Original commit message from CVS:
fix stupidity bug in gstelement.c (which only crashes other computers :)
2003-11-02 14:58:05 +00:00
Benjamin Otte
907e3e97d9 update plugin initialization restructuring (see email for details
Original commit message from CVS:
update plugin initialization restructuring (see email for details
2003-10-31 19:32:47 +00:00
Benjamin Otte
3235f1d4c0 merge TYPEFIND branch. Major changes:
Original commit message from CVS:
merge TYPEFIND branch. Major changes:
- totally reworked type(find) system
- bytestream is out of the core again
- typefind element is now part of gstelements
2003-10-28 20:25:30 +00:00
Thomas Vander Stichele
c4c3c998df reverting error patches before making a branch.
Original commit message from CVS:
reverting error patches before making a branch.
2003-09-16 09:57:31 +00:00
Jan Schmidt
331ee18596 Fix compiler breakage.
Original commit message from CVS:
Fix compiler breakage.
2003-09-15 10:55:03 +00:00
Benjamin Otte
ac695261b3 update docs to new error signal
Original commit message from CVS:
update docs to new error signal
2003-09-15 01:42:04 +00:00
Benjamin Otte
9afd27f29b update default error callback to new error signal
Original commit message from CVS:
update default error callback to new error signal
2003-09-15 01:36:53 +00:00
Benjamin Otte
be1eaa4de3 implement translatable error messages using gerror.
Original commit message from CVS:
implement translatable error messages using gerror.

Includes bugfixes for:
- crash when unlinking Ghostpads
- make *_PAD_* macros use glib casts
- make spider typefinding merge buffers correctly
2003-09-14 19:49:32 +00:00
Thomas Vander Stichele
2b881623ff ignore these test code
Original commit message from CVS:
ignore these
test code
2003-09-11 12:19:22 +00:00
Ronald S. Bultje
e2a9a87c64 Implement simple seek API. This can later be extended to work with GstPipeline as arguments and so on *autodetect pro...
Original commit message from CVS:
Implement simple seek API. This can later be extended to work with GstPipeline as arguments and so on *autodetect proper element to send event to and so on), but this'll do as a start... See #116149
2003-08-04 21:48:06 +00:00
Andy Wingo
73f2d45295 some formatting and doc fixes, and make gstdebug output line up
Original commit message from CVS:
some formatting and doc fixes, and make gstdebug output line up
2003-07-16 15:49:40 +00:00
Benjamin Otte
803ce6bf48 GST_DEBUG reorganization containing loads of stuff:
Original commit message from CVS:
GST_DEBUG reorganization
This is a big diff (ca 450k), containing loads of stuff:
- gstinfo.[ch] complete rewrite
- changing of all GST_DEBUG messages to reflect that change
- reorganization of subsystem disabling
- addition of gstconfig.h.in so we can track the disablings
- <gst/gst.h> does not include <unistd.h> and <config.h> anymore
- documentation updated for gstinfo stuff (build the docs yourself to know what changed)
- bugfixes for making of the docs (files from CVS are not deleted anymore
- testsuite for debugging changes in testsuite/debug

expect breakage
2003-06-29 14:05:49 +00:00
Thomas Vander Stichele
31d75cf682 don't recursively call gst_bin_set_state on failure don't do unnecessary state changes
Original commit message from CVS:
don't recursively call gst_bin_set_state on failure
don't do unnecessary state changes
2003-06-07 22:39:11 +00:00
Thomas Vander Stichele
c349a582b4 fix color for NULL from bright white to blue
Original commit message from CVS:
fix color for NULL from bright white to blue
2003-06-07 16:24:25 +00:00
Wim Taymans
0b1607785b - added GST_ELEMENT_ERROR flag to mark elements in error and to trap and avoid recursive error loops.
Original commit message from CVS:
- added GST_ELEMENT_ERROR flag to mark elements in error and to trap and
avoid recursive error loops.
- moved state change signal back to original place as it causes lockups.
2003-06-03 21:18:39 +00:00
Thomas Vander Stichele
439b5101ba clock debug addition
Original commit message from CVS:
clock debug addition
2003-05-17 23:08:40 +00:00
Benjamin Otte
63c6869123 fix wrong debug message to print the right thing
Original commit message from CVS:
fix wrong debug message to print the right thing
2003-05-17 15:55:23 +00:00