Commit graph

48 commits

Author SHA1 Message Date
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
Wim Taymans a4e4bb5795 Small cleanups
Original commit message from CVS:
Small cleanups
Added a bound to the number of switches, also fix a small bug
2002-01-01 13:51:04 +00:00
Wim Taymans 46ac5c55c2 free the entries and strings
Original commit message from CVS:
free the entries and strings
2001-12-18 16:56:40 +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
Joshua N. Pritikin 02aca4f203 fix compile
Original commit message from CVS:
fix compile
2001-09-13 23:06:47 +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
Erik Walthinsen 91d7e800d5 Reworked the arguments for DEBUG and INFO. Removed -debug-verbose.
Original commit message from CVS:
Reworked the arguments for DEBUG and INFO.  Removed -debug-verbose.
Renamed GST_DISABLE_XML to GST_DISABLE_LOADSAVE and added --disable flag.
2001-06-25 06:45:56 +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
Richard Boulton 5bac75942d Simplify properties which contain lists of integer and integer range entries to minimal combination of ints and range...
Original commit message from CVS:
Simplify properties which contain lists of integer and integer range
entries to minimal combination of ints and ranges that is equivalent.
eg, (1,2,3,7-12,13) becomes (1-3,7-13)

Don't bother with floats for the moment, though it would be easy to add
an equivalent, which would simplify overlapping ranges.
2001-06-18 22:33:35 +00:00
Wim Taymans 42f52b0b2d Fixed a bug so that gst_props_new (NULL) == NULL
Original commit message from CVS:
Fixed a bug so that gst_props_new (NULL) == NULL
2001-05-30 21:14:46 +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 7565c285ad Created a macro of the va_arg parsing function because some systems (PPC) cannot handle passing a va_list by reference.
Original commit message from CVS:
Created a macro of the va_arg parsing function because some systems (PPC)
cannot handle passing a va_list by reference.
2001-05-03 22:29:44 +00:00
Wim Taymans 5c43234108 Removed the assert on an unknown propertytype and print usefull info.
Original commit message from CVS:
Removed the assert on an unknown propertytype and print usefull info.
2001-05-01 22:43:21 +00:00
Steve Baker 368feff16f add gst_props_get_float function
Original commit message from CVS:
add gst_props_get_float function
2001-04-28 18:56:10 +00:00
Wim Taymans 97f4820da2 Fixed the gfloat error in the va_arg code.
Original commit message from CVS:
Fixed the gfloat error in the va_arg code.
2001-04-15 01:02:05 +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
Wim Taymans 335080574f Lots of updates to the plugins for caps negotiation.
Original commit message from CVS:
Lots of updates to the plugins for caps negotiation.
Added YUY2 output to the win32 dlls.
Added a colorspace converter in gstplay
2001-04-12 18:11:19 +00:00
Wim Taymans c3a64ce1f6 Merged the float property patch from Steve Baker. This patch doesn't really work yet...
Original commit message from CVS:
Merged the float property patch from Steve Baker. This patch doesn't
really work yet...
2001-04-02 19:56:34 +00:00
Wim Taymans 2d20073eb3 A rather large update:
Original commit message from CVS:
A rather large update:
- a new videosink using plain X windows (xvideosink). It uses capsnego to
set up it's formats.
- gstplay uses the new xvideosink and a gtk_socket. The initial window
size is set to 0x0 so you need to resize it before you see something.
- got rid of the video metadata include file in favour of properties and
caps negotiation
- adjusted most plugins to not use the metadata.
2001-04-02 14:21:08 +00:00
Wim Taymans 9f44f8ecc2 Added a plain X videosink, the videosink uses capsnego. adjusted the v4lsrc so that it uses capsnego on the src pad
Original commit message from CVS:
Added a plain X videosink, the videosink uses capsnego.
adjusted the v4lsrc so that it uses capsnego on the src pad
Small fixed to capsnego and the properties/caps.
2001-03-29 22:32:00 +00:00
Wim Taymans 0837e1e495 Modified a lot of plugins to use the caps system.
Original commit message from CVS:
Modified a lot of plugins to use the caps system.
Modified the caps of audio/raw to our agreed properties.
Added the multidisksrc plugin of Dominic Ludlam
Renamed audiosink/src to osssink/src and updated all the examples using
the old name. Moved oss specific plugins in an oss directory. removed
the old audiosink from the elements/ dir.
removed audioraw.h metadata header files since we now use the properties.
There are still a few plugins that won't build because they include the
old audioraw.h header file. This will be fixed soon.
Make sure the caps are set in the plugins as described by their
padtemplates (this should solve problems with gstmediaplay with various
media files).

*please don't panic when some plugins won't build, just cd manually into
the plugin dirs* This will be fixed soon.
2001-03-24 17:22:03 +00:00
Wim Taymans 1d040471a4 API docs updates
Original commit message from CVS:
API docs updates
2001-03-21 21:43:56 +00:00
Wim Taymans 0267b92c93 More work on capsnego proxying. It should be OK now.
Original commit message from CVS:
More work on capsnego proxying. It should be OK now.
Added another testcase enum that shows various capsnego algorithms.
Warn about pads that try to set a capability incompatible with their
padtemplate.
Implemented refcounting and copy_on_write for caps/props.
2001-03-20 18:29:00 +00:00
Wim Taymans 3534e68563 Reworked the capsnegotiation function audiosink now uses capsnego to set its parameters mpg123/ac3dec use capsnego in...
Original commit message from CVS:
Reworked the capsnegotiation function
audiosink now uses capsnego to set its parameters
mpg123/ac3dec use capsnego instead of metadata
Added the beginnings of a testsuite for capsnego.
2001-03-18 02:42:30 +00:00
Wim Taymans 55006f6367 Merged the AUTOPLUG2 branch
Original commit message from CVS:
Merged the AUTOPLUG2 branch
2001-03-07 21:52:56 +00:00
Richard Boulton 28d65687ed Redo patch using _NUM rather than converting one way and then back again, as wtay suggested. Ho hum.
Original commit message from CVS:
Redo patch using _NUM rather than converting one way and then back again,
as wtay suggested.  Ho hum.
2001-02-16 23:54:11 +00:00
Richard Boulton 750a06ee55 Fix missing GPOINTER_TO_INT()'s on case values.
Original commit message from CVS:
Fix missing GPOINTER_TO_INT()'s on case values.
2001-02-16 23:45:00 +00:00
Wim Taymans 1a66e83975 - backported the xml load bug in the properties
Original commit message from CVS:
- backported the xml load bug in the properties
- backported the videosink bug
- make sure the regiontype is set to NONE after a getregion
- an ugly fix (copy the chainfunction outselves) to make the avidecoder
work again.
2001-02-10 14:46:37 +00:00
Richard Boulton 41ebd85275 Fixes to work with libxml2.
Original commit message from CVS:
Fixes to work with libxml2.
Also improved a couple of debugging messagse.
2001-01-18 11:16:53 +00:00
Erik Walthinsen e33b2e5908 more leak fixes
Original commit message from CVS:
more leak fixes
2001-01-07 07:45:54 +00:00
Erik Walthinsen 7c51d6e0ca Cleaned up the docs a bit.
Original commit message from CVS:
Cleaned up the docs a bit.
2001-01-06 22:05:15 +00:00
Wim Taymans 7411cfe17e Made the GstProps a GList instead of a GSList
Original commit message from CVS:
Made the GstProps a GList instead of a GSList
Some fixes to inspect: added the mime type
2001-01-03 20:21:22 +00:00
Erik Walthinsen 1e04cefaf2 Mega update of INFO, DEBUG, and ERROR subsystems, renamed with GST_ prefix.
Original commit message from CVS:
Mega update of INFO, DEBUG, and ERROR subsystems, renamed with GST_ prefix.
GST_DEBUG now takes a category parameter, which is the same as GST_INFO
system.  They are now called GST_CAT_*.  All the GST_DEBUGs are set to 0
for now, we need to go and fix all these eventually.
2001-01-01 03:14:40 +00:00
Wim Taymans bc4619a44b Added multiple caps to the pads
Original commit message from CVS:
Added multiple caps to the pads
Extended the padfactory for the multiple caps
GstCaps now have a name so that future manipulations on them can be done by name
Updated the plugins for the new caps list
2000-12-31 16:12:48 +00:00
Wim Taymans 860ada25b1 Fixed MPEG2 autoplugging
Original commit message from CVS:
Fixed MPEG2 autoplugging
Added some more INFO to gstthread
2000-12-30 17:42:15 +00:00
Wim Taymans c306021ce3 Fixed buffer flag handling gstplay used old flag handling updated some plugins for the new objects/error handling
Original commit message from CVS:
Fixed buffer flag handling
gstplay used old flag handling
updated some plugins for the new objects/error handling
Fixed a serious buffer error in gst_buffer_append
2000-12-29 19:45:45 +00:00
Wim Taymans fe6128b118 Fixed a serious bug in gst_props_new: properties with a 0 value causes a segfault
Original commit message from CVS:
Fixed a serious bug in gst_props_new: properties with a 0 value causes
a segfault
Fixed a possible bug in gstautoplug when one of the constructed paths
was empty
Commented out a too liberal assert in gstscheduler.c
Added GST_BUFFER_DISCONTINUOUS
tried to fix asyndisksrc
2000-12-29 18:23:41 +00:00
Erik Walthinsen ca1c48e95c Updated copyright in all the libgst files.
Original commit message from CVS:
Updated copyright in all the libgst files.
Created gst_private.h, set up all files to use it.
2000-12-28 22:12:02 +00:00
Wim Taymans 9655c3b593 Updated the API docs.
Original commit message from CVS:
Updated the API docs.
2000-12-28 21:42:23 +00:00
Wim Taymans efda5ffd9a Added API to dynamically create GstCaps and GstProps
Original commit message from CVS:
Added API to dynamically create GstCaps and GstProps
Changed typefind of mpeg1 to set the GstProps.
autoplugging now works again for mpeg1, whoohoo!
2000-12-19 16:36:10 +00:00
Wim Taymans bbb9799996 Cleanup in gsttypes.c: removed the crazy GList of GHashTables, since the autoplugger will use the GstCaps and element...
Original commit message from CVS:
Cleanup in gsttypes.c:
removed the crazy GList of GHashTables, since the autoplugger will
use the GstCaps and elementfactories instead of the type system.
We don't maintain a list anymore of the elements for the specific
removed unused code in XML loading/saving.

Cleanup in gstelementfactory:
removed the register/unregister methods, register is now implicit when
gst_elementfactory_new is called. _unregister is now _destroy.
Removed logic to register/unregister the types in gsttypes.
added methods to query if the factory can src/sink a GstCaps
Make sure the elementfactory is set in the element_class when a new
element is registered with gst_elementfactory_new.

gst.c: properly register the basic bins
gst_pipeline: use new gstautoplug (next checkin)
gstprops: fixed an error in compatibility check
registry test program changes
plugins: misc changes for the new caps system.
2000-12-19 13:41:55 +00:00
Wim Taymans 510430d10f The typefind function now returns a GstCaps structure instead of a gboolean. modified some plugins to this new behaviour
Original commit message from CVS:
The typefind function now returns a GstCaps structure instead of a gboolean.
modified some plugins to this new behaviour
Fixed autoplugging for the mpg123 case. When an element is selected in
autoplugging and the caps do not match, another element is selected until the
caps match. only examples/autoplug works because gstmediaplay uses a threaded
setup that does not seem to work with the current scheduling.
2000-12-17 16:24:14 +00:00
Wim Taymans c6ac8a0f6b some editor changes= loading of save pipelines (not working) added include in gstdebug.h for getpid property loading ...
Original commit message from CVS:
some editor changes= loading of save pipelines (not working)
added include in gstdebug.h for getpid
property loading implemented
GstXML can now be queried for the toplevel elements.
2000-12-16 17:12:28 +00:00
Wim Taymans a63780a377 Header cleanup: try to include as little as possible; this will probably speed up compilation a bit.
Original commit message from CVS:
Header cleanup: try to include as little as possible; this will probably
speed up compilation a bit.
changed the .c files to use #include "..."
Fix for the 'plugins are loaded twice' bug.
Fix 22186: GstObject flags are now used everywhere. Added *_FLAG_LAST so
elements do not use the same flags. Added some padding in the flag enum
for future expansion.
2000-12-15 01:57:34 +00:00
Wim Taymans 6fa6cd8ce4 First attempt at rebuilding the type/plugin system
Original commit message from CVS:
First attempt at rebuilding the type/plugin system
- make sure caps/props are saved in the registry
autoplugging is completely broken.
removed the typefactories and typeids from all the pads in the plugins
XML load/save is ok (be sure to rerun gstreamer-register)
2000-12-11 00:04:25 +00:00
Wim Taymans eaa6e55855 separated the properties from the capabilities as we might use the properties for metadata too.
Original commit message from CVS:
separated the properties from the capabilities as we might use the properties
for metadata too.
2000-12-07 18:37:56 +00:00