Commit graph

80 commits

Author SHA1 Message Date
David Schleef
cd1d72deb2 gst/gstcaps.*: Add simplify function
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
(gst_caps_structure_simplify), (gst_caps_simplify):
* gst/gstcaps.h:
Add simplify function
* gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
(gst_pad_perform_negotiate), (gst_pad_is_negotiated):
* gst/gstpad.h:
Copy over srcnotify, sinknotify when calling old pad_link
functions.  Add new is_negotiated() function.
* gst/gststructure.c: (gst_structure_copy):
Fix an incredibly stupid bug that should have been noticed
weeks ago.  _copy() returned the argument, not the new copy.
2003-12-30 04:59:48 +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
473c2e6446 Fix bug in _gst_caps_value_copy() that could cause GValue corruption
Original commit message from CVS:
Fix bug in _gst_caps_value_copy() that could cause GValue corruption
2003-12-24 00:02:17 +00:00
David Schleef
6150b02001 rename gstcaps2.[ch] to gstcaps.[ch]
Original commit message from CVS:
rename gstcaps2.[ch] to gstcaps.[ch]
2003-12-22 01:58:20 +00:00
David Schleef
8c9cd079d4 Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
2003-12-22 01:39:35 +00:00
Ronald S. Bultje
b96f885fa1 Caps with empty props (which is not NULL - gst_props_new_empty()) can result in an invalid string, so we need to chec...
Original commit message from CVS:
Caps with empty props (which is not NULL - gst_props_new_empty()) can result in an invalid string, so we need to check for empty props (as opposed to NULL props) too.
2003-11-09 21:26:13 +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
David Schleef
dd7878f38c Add code to poison objects being destroyed
Original commit message from CVS:
Add code to poison objects being destroyed
2003-08-19 04:10:29 +00:00
David Schleef
a937894b48 Add GST_CAPS_NONE and GST_CAPS_ANY
Original commit message from CVS:
Add GST_CAPS_NONE and GST_CAPS_ANY
2003-08-19 04:08:29 +00:00
Andy Wingo
5c2d6b2f43 cache return values of _gst_debug_nameof_funcptr
Original commit message from CVS:
kill some memleaks, add ::signal-handoffs property to fakesrc/sink (default FALSE), cache return values of _gst_debug_nameof_funcptr
2003-08-07 12:45:31 +00:00
Ronald S. Bultje
3770896368 Implement gst_caps_has_property*() as functions instead of macro's - this prevents failed assertions when calling the...
Original commit message from CVS:
Implement gst_caps_has_property*() as functions instead of macro's - this prevents failed assertions when calling them in some specific cases. See #115886
2003-07-29 12:00:38 +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
Wim Taymans
024c51c559 - further productizing the fixed flag on GstCaps by using the flag on
Original commit message from CVS:
- further productizing the fixed flag on GstCaps by using the flag on
GstProps instead of keeping the two in sync.
- implemented proper flag updates in _props_set and _props_remove.
2003-06-13 21:26:33 +00:00
David Schleef
808c52f535 gst_caps_to_string: print NULL caps correctly
Original commit message from CVS:
gst_caps_to_string: print NULL caps correctly
2003-05-30 03:02:38 +00:00
Thomas Vander Stichele
e05cab4b4c help us debug caps ref issues
Original commit message from CVS:
help us debug caps ref issues
2003-05-29 17:24:03 +00:00
Benjamin Otte
42f3a63586 remove _destroy functions from public headers and make them static.
Original commit message from CVS:
remove _destroy functions from public headers and make them static.
2003-05-18 02:42:19 +00:00
Benjamin Otte
f13198c52b added gst_{props,caps}_{from,to}_string to API, see documentation for use, put errors into testsuite/caps/string-conv...
Original commit message from CVS:
added gst_{props,caps}_{from,to}_string to API, see documentation for use, put errors into testsuite/caps/string-conversions.c
2003-05-17 00:47:01 +00:00
Wim Taymans
4a64884918 Fix 112596, gst_caps_is_always_compatible() broken
Original commit message from CVS:
Fix 112596, gst_caps_is_always_compatible() broken
2003-05-08 19:57:06 +00:00
Christian Meyer
dabb6637bd Fixed bug #108514.
Original commit message from CVS:
Fixed bug #108514.
2003-03-16 20:06:02 +00:00
Wim Taymans
f1b49bfcad Adjust the fixed flag in gst_caps_set_props
Original commit message from CVS:
Adjust the fixed flag in gst_caps_set_props
2003-02-25 19:52:03 +00:00
Wim Taymans
b030b5cef2 - Add more --disable options
Original commit message from CVS:
- Add more --disable options
- fix makefiles to only compile non-disabled features
- some compile fixes.
- removed extratypes, added gsturitype
- make get/set clock on a bin overridable
- some portability fixes for GUINT64
- separate pools from gstregistry.[ch] into gstregistrypool.[ch]
- make gstobject size fixed, even if we disabled load/save
- don't use 'new' as a variable as it is not a valib C++ variable
2003-02-10 20:32:32 +00:00
Wim Taymans
6ad8197d61 - implement FLOATING flag on caps/props
Original commit message from CVS:
- implement FLOATING flag on caps/props
- use gstmemchunk for caps/props
- implement remove_entry for props
- various refcounting functions
- fix refcounting on caps/props
- use tracing for caps/props/propsentries
- fix memleak in transform functions
- fix refcounting on elementfactory padtemplates
- add dispose for padtemplates
- shortcut pad negotiation early on
2003-02-02 19:58:11 +00:00
Wim Taymans
a4aa00288b When we unref a caps, don't unref the chained caps
Original commit message from CVS:
When we unref a caps, don't unref the chained caps
2003-01-14 18:45:18 +00:00
David I. Lehn
5a74101933 more connect -> link updates
Original commit message from CVS:
more connect -> link updates
2003-01-09 22:59:37 +00:00
Wim Taymans
61763adf68 Small cleanup, fix fixed caps detection even on XML load
Original commit message from CVS:
Small cleanup, fix fixed caps detection even on XML load
2002-12-18 23:00:34 +00:00
Thomas Vander Stichele
731b554fd8 code cleanup and API change (gst_caps_check_compatibility -> gst_caps_is_always_compatible)
Original commit message from CVS:
code cleanup and API change
(gst_caps_check_compatibility -> gst_caps_is_always_compatible)
2002-10-02 07:51:54 +00:00
Thomas Vander Stichele
8e96015d95 code cleanup and more debug output
Original commit message from CVS:
code cleanup and more debug output
2002-10-01 11:42:32 +00:00
Thomas Vander Stichele
ac320f6bcc some debug additions and doc fixes
Original commit message from CVS:
some debug additions and doc fixes
2002-09-23 08:36:05 +00:00
Wim Taymans
8b3c7040d4 - Added value transform functions for caps and props boxed types
Original commit message from CVS:
- Added value transform functions for caps and props boxed types
- implement gst_props_new with a GList
- fixed silly typo in _gst_type_*
2002-09-17 21:22:31 +00:00
Wim Taymans
cadff5e813 Some more event flags some more padquery types
Original commit message from CVS:
Some more event flags
some more padquery types
Better debugging in _pad_get_caps
ref the caps before adding them to a padtemplate
2002-08-02 11:40:27 +00:00
Wim Taymans
ae87d97cb2 - Removed unused locking from the cothreads
Original commit message from CVS:
- Removed unused locking from the cothreads
- use G_*_DECLS in .h files
- remove gstlog.h include from gstobject.h, add to .c files
- removed unused refcounting code from gstobject
- small fixes in #includes
- Added Scheduling policy and priority properties to gstthread so that
SCHED_FIFO and SCHED_RR threads can be constructed.
2002-07-08 19:07:30 +00:00
Andy Wingo
694b7ee912 cleanups
Original commit message from CVS:
cleanups
2002-06-21 14:35:45 +00:00
Andy Wingo
b214d35eed commit to make gstreamer follow the gtk function/macro naming conventions:
Original commit message from CVS:
commit to make gstreamer follow the gtk function/macro naming conventions:

GstPadTemplate <-> gst_pad_template <-> GST_PAD_TEMPLATE

and the same for *factory and typefind.
2002-04-11 20:35:18 +00:00
Wim Taymans
d7a5d173c8 Documentation updates
Original commit message from CVS:
Documentation updates
Added dump to identity
Fix some warnings in gstelement
2002-03-31 14:04:50 +00:00
Wim Taymans
f0326eea55 - Remove the propsprivate header file
Original commit message from CVS:
- Remove the propsprivate header file
- Added new API for properties.
- Moved the clock distribution to the scheduler.
- Removed the lock from GstCaps
- Added boxed types for Caps/Props
- Simplified the clock, new systemclock implementation
- Removed deprecated element_info/send_event functions
- First step at exposing more info in the pad_connect functions
- Queue cleanup
- Make the scheduler aware of other schedulers inside it
- Added the _SELF_SCHEDULABLE flag to gstthread
- Removed _get_widget from _utils, changed to new props API
- Make fakesink sync on timestamps when requested
- Removed the offset notify from filesrc
- Added a fast scheduler
- some scheduler cleanups.
2002-03-30 17:05:03 +00:00
Andy Wingo
ed9b628168 filter newlines out of GST_DEBUG statements to reflect new core behavior fixes to adder's caps, again
Original commit message from CVS:
* filter newlines out of GST_DEBUG statements to reflect new core behavior
* fixes to adder's caps, again
2002-03-24 22:07:09 +00:00
Andy Wingo
0c6802533c document gst_caps_debug change gst_caps_debug to accept a label argument, assists greatly in debugging capsnego bette...
Original commit message from CVS:
* document gst_caps_debug
* change gst_caps_debug to accept a label argument, assists greatly
in debugging capsnego
* better names from gst_object_name_default
* some more debugging in gstpad.c
* require caps to match padtemplates on both side of a connection
* gstspider uses default naming so that names are globally unique
* moved filesrc offset arg to the top -- show up first in a prop list.
in the future we should have flags on props indicating which ones
it might be interesting for the end-user to change.
* initialize cothreads in the more standard way, and provide some more debugging
2002-03-03 00:44:41 +00:00
Benjamin Otte
9c5e022c92 appending caps to themself is not fatal, is it?
Original commit message from CVS:
appending caps to themself is not fatal, is it?
If it is, revert the patch, but please allow gst_caps_append (NULL, NULL);
2002-02-17 21:19:13 +00:00
Wim Taymans
24e313c153 Small pointless cleanups
Original commit message from CVS:
Small pointless cleanups
2002-02-02 13:32:32 +00:00
Wim Taymans
b1bcc1875c Delay pad negotiation until the element is in READY or higher. this will gice the element a chance to open its device...
Original commit message from CVS:
Delay pad negotiation until the element is in READY or higher. this will
gice the element a chance to open its devices before we start calling the
connect functions.
Make sure we use the real pad in the negotiation.
Some other small cleanups.
2002-01-20 11:55:35 +00:00
Wim Taymans
b2ee38575d Landed the new improved capsnegotiation system.
Original commit message from CVS:
Landed the new improved capsnegotiation system.
The main idea is to keep track of the possible data types that can
pass through a connection. plugins can at any time inspect, adjust and
refine these caps. plugins also get notified when something changes to
the types so that they can reconfigure themselves.
Look at the updated plugins and the soon to be finished doc.
2002-01-13 22:22:42 +00:00
Christian Schaller
d6b9ae8b63 aye ladie, no more ugly // comments here, even if Taaz gets upset about it
Original commit message from CVS:
aye ladie, no more ugly // comments here, even if Taaz gets upset about it
2001-12-14 22:59:21 +00:00
Erik Walthinsen
d574ab8126 merge from EVENTS1 on 20011016
Original commit message from CVS:
merge from EVENTS1 on 20011016
2001-10-17 10:21:27 +00:00
Erik Walthinsen
c6a04366a3 gstinfo.[ch], cothreads.c: added initial support for -finstrument_functions gstbin.c: removed a reference to config.h...
Original commit message from CVS:
gstinfo.[ch], cothreads.c: added initial support for -finstrument_functions
gstbin.c: removed a reference to config.h
gstbuffer.[ch]: added gst_buffer_is_span_fast(), used it in gst_buffer_span
elements/gstfilesrc.c: initial work fleshing out the event handling code

everywhere else: wrapped XML stuff in #ifndef's
2001-09-10 19:46:01 +00:00
Wim Taymans
12bbbd5c1e Lots of modifications to the plugin system.
Original commit message from CVS:
Lots of modifications to the plugin system.
- Added a GstPluginfeature object that serves as a base class for all
plugin contents.
- changed the plugin API, everyhting is now added with
gst_plugin_add_feature
- typefactories are named now so that they can be located easily and filled
in at plugin load.
- mime types like "video/raw image/raw" are gone for now.
- lots of plugin updates (style and API changes)
- tested with an without registry.
- updates to various tools.
- added a little testsuite to test/show how you can load plugins (4 modes)

Test this one, Almost everything has changed :-)
2001-08-21 20:16:48 +00:00
Erik Walthinsen
2703619624 initial pass at #ifdef'ing xml load/save
Original commit message from CVS:
initial pass at #ifdef'ing xml load/save
2001-06-24 21:18:28 +00:00
Erik Walthinsen
4a583683e5 Merged from INCSCHED on 200505251!!!
Original commit message from CVS:
Merged from INCSCHED on 200505251!!!
2001-05-25 21:00:07 +00:00
Wim Taymans
6bd5dcffab The first wave of docs updates
Original commit message from CVS:
The first wave of docs updates
Added a little more comments about the API usage in the api docs.
Some fixes for the capsnego testsuite.
2001-04-17 21:14:55 +00:00
Wim Taymans
6118b074bc Added 1337 macros to create padtemplates and capstemplates.
Original commit message from CVS:
Added 1337 macros to create padtemplates and capstemplates.
Added some code for bufferpools
2001-04-16 21:45:02 +00:00
Wim Taymans
b38d9a945b A rather large patch:
Original commit message from CVS:
A rather large patch:
- changed the API for the padtemplates:
- remove the factories (array of pointers) for the padtemplates,
properties and caps. The static array was a nice idea but converting
all the property values to a gpointer was not a good idea.
float properties were not possible, and casting a gint to a pointer
is not very portable. The new API just uses the _padtemplate_new,
_caps_new and _props_new functions to create the templates.
This has the added benefit that the API is now uniform for static
and dynamic templates and that the code can be made cleaner.
- lots of cleanups in the way the capabilities are constructed (va_list)
- lots of updates for all the plugins (new API)
- docs updates (new API)
- removed the videoraw docs.
2001-04-14 18:56:37 +00:00