Original commit message from CVS:
fixed mainloop for non-glib2
this is a hack, we really need to fix this properly so i don't have to do this in every file
Original commit message from CVS:
i've added a testcase where the scheduler fails. i don't know enough about
the scheduler to fix it, though. the sequence goes:
- make a pipeline, iterate it once
- re-use one of the elements in a new pipeline, see if it works
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 :-)
Original commit message from CVS:
Fixes to various plugins.
Removed the eos/qos calls in favour of the soon to be event system.
Added a test app to test element reuse (doesn't work)
Original commit message from CVS:
moved debug to before _init so cmdline can override, and put sleep(1)'s in while(1) to increase chance of contention (I think)
Original commit message from CVS:
Remove #include <gnome.h> from some tests which don't actually need it,
and make the other tests and the autoplug example only compile if gnome
headers are present.
Original commit message from CVS:
API docs updates.
Properly implemented the disksink.
Fixed a compile problem with alsa.
Added bufferpool handling to dvdec
Some compiler warning fixes
Original commit message from CVS:
Fixed a few plugins so that mpeg1 encoding sorta works.
Added an mpeg1 encoder example, it uses the autoplugger to convert
the stream to audio/video, which is then fed to the encoders.
Original commit message from CVS:
* mixer now works with variable inputs
* mixer creates custom volume envelopes allowing each song to play alone
and end with a mix of all of them, undistorted
Original commit message from CVS:
changed mixer to work by autoplugging the input channels
(not very useful yet, since the input buffers to volenv have different
sizes)
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.
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.
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
Original commit message from CVS:
Simplified the FOURCC API to the caps, add a GST_MAKE_FOURCC macro
to create a fourcc.
Adjusted the plugins to use the new FOURCC API
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.
Original commit message from CVS:
Added --enable-plugin-docs configure option, to enable build of the plugin
documentation (currently broken). This defaults to off.
Changed --enable-docs-build to default to on, since all other documentation
should build correctly.
Also, correct typo in manual, and fix up a couple of things in example.c
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.
Original commit message from CVS:
More work on capsnego, mostly proxying
Added another testsuite for capsnego
Added caps to vorbisdec, mp3parse, mp1videoparse
Redid the queue proxy handling a bit.
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.
Original commit message from CVS:
Updated test to have a comment explaining its purpose (very important this,
especially for regression tests), and to actually test what I meant it to.
Original commit message from CVS:
Added a testsuite. This currently only has one test, which replicates a
problem just submitted to the list.
I hope noone disagrees that we need a testsuite. Also, hopefully we all
think that a tiny testsuite which is easy to add tests to is much better
than a huge project to create a complete testsuite, which never gets
started because its too big and scary.
I suggest that tests get created whenever someone has a spare moment, or
whenever a bug is reported (to replicate the problem, and thus be sure that
when fixed it stays fixed), and before making a change to a piece of code
to ensure that it remains working.
If we all add little tests occasionally, then we'll have a good useful
testsuite before we know it. All you need to do is make a
Original commit message from CVS:
More doc updates
Manual additions: xml/load save of custom XML, debugging, request pads
added a signal to the example plugin
fixed a bug in mp3parse (ifdef 1)
Original commit message from CVS:
Added a first attempt for XML embedding in the main core XML.
Objects will emit a signal that a user app can connect to in order to
insert its XML into the tree.
You can catch the object_loaded signal in GstXML to parse the user
supplied XML data in the stream. The object_loaded signal is implemented
with a custom made class signal. All GstObject classes now automatically
create a GstSignalObject that serves as a proxy to the user app when an
object is loaded. All objects are currently responsible to emit the
class signal themselves.
runxml and createxml serve as an example how the XML hooks can be used to
insert and retrieve custom XML tags.
Original commit message from CVS:
Lots of plugins fixes where the parentage macros were replaced with the
correct gst_*_get_parent.
Updated the example.
'gstreamer' now is the doc type instead of GST-Pipeline
Original commit message from CVS:
This is a megapatch with the following changes:
- moved the gchar *name to GstObject, removed the ones in GstElement and
GstPad.
- moved the parent handling completely into GstObject. This cause *all* of
the plugins to fail (except those that used gst_pad_get_parent)
- rearanged the XML save handling.
- GstObject now has a class function save/restore_thyself.
- GstObject has a generic method gst_object_save_thyself, this makes it
possible to fire a signal wehever a new object is loaded. This is needed
so we can add XML save hooks.
- GstXML API has changed slightly. You now have to create a GstXML object
first before you can actually load something. This makes it possible to
attach a signal to GstXML whenever an object is loaded. I'm not sure we
will keep this interface.
- GstObject can now print the path_string without knowing about the GstPad and
GstElement types.
- Added gst_bin_get_by_name_recurse_up to lookup an element in the current
element hierarchy.
- added XML namespaces to the saved pipelines the namespace is:
http://gstreamer.net/gst-core/1.0/
namespaces are needed to distinguish user generated XML from the core XML.
Note that the plugins still contain a macro GST_OBJECT_PARENT that will be
replaced with gst_pad_get_parent shortly.
Original commit message from CVS:
Add gst_element_request_compatible_pad and remove gst_element_request_pad.
Implemented something reasonable for gst_element_request_compatible_pad,
but havn't tested much: it won't work for tee because the pad templates
have no caps, and negotiation is not yet written, so it is assumed that the
tee pads can't connect to anything.