Original commit message from CVS:
many changes including:
- now the rate needs to be set explicitly, instead of from a pad
- asynchronous mode has been implemented - and it even works
- some refactoring of the process code
- a plugin api change, GST_DPMAN_PREPROCESS and GST_DPMAN_PROCESS have changed a bit
they are now *a lot* simpler to use, more flexible, and optimised so that the process func is never called if nothing changes - all in all worth the api breakage.
UPDATE YOUR PLUGINS PEOPLE!
Original commit message from CVS:
completely rewrite interpolation so that it is more stable, faster, easier to maintain and it now sounds damned smoooth
Original commit message from CVS:
a few internal changes:
- put last_update_timestamp into GstDParam
- added a GstDParamUpdateInfo enum to the update function so that dparams know what context they are updating in (for example, the first update since the pipeline was started)
- rewrote bogus next_timestamp calculation in GstDParamSmooth
Original commit message from CVS:
- make all _get_list functions return a const reference to original lists and no copy
- redo code accordingly
- fix compile issue in dparam stuff
Original commit message from CVS:
added unitconvert which has a registry of Units of Measurement and an api to convert one unit to another.
Any required dparam now needs to specify what unit it represents so that an app can convert it to some other unit for presentation/other purposes.
Also added GST_DPMAN_PROCESS_CHUNK macro for elements which don't process their audio one sample at a time (ie, ladspa).
Original commit message from CVS:
Added a signal which notifies when a required dparam is added.
Added gst_dpman_bypass_dparam so that some dparams can be exposed as object properties as well. If the object property is set, a connected dparam is disconnected to avoid the two subsystems fighting over setting the value.
Original commit message from CVS:
* added plugin_desc structures to libs, which makes their locations cached in the registry. this
speeds plugin loading considerably, especially on uninstalled versions.
* put the lib path before all others, for speed reasons.
* some fixes to adder's caps.
* added linefeeds (\n) to GST_DEBUG strings to match GST_INFO behavior. this is more sane. all
code will need to be converted. i think some perl can do this.
Original commit message from CVS:
* removal of //-style comments
* don't link plugins to core libs -- the versioning is done internally to the plugins with the plugin_info struct,
and symbol resolution is lazy, so we can always know if a plugin can be loaded by the plugin_info data. in theory.
Original commit message from CVS:
s/@GST_PLUGIN_LDFLAGS@/$(GST_PLUGIN_LDFLAGS)/
@-substitued variables variables are defined as make variables automagically,
and this gives the user the freedom to say make GST_PLUGIN_LDFLAGS=-myflag
Original commit message from CVS:
This is a major update to the dparams api - I think it is now much cleaner and the app-side is much easier to use.
highlights are:
- GParamSpecs are now used throughout to define dparams
- currently limited to supporting types gfloat, gint and gint64. this should cover 99% of cases and new types can be added in the future
- application-side api is now based almost entirely on setting object properties
- the smoothing dparam is now a subclass of GstDParam
- array-mode is not yet implemented but is not forgotton
time to start documenting
Original commit message from CVS:
fix funny build issue by not linking plugin libraries to gstreamer core. this is
because they are plugins, not shared libraries per se, and will only be loaded by
the core itself. this change allows the core elements (schedulers, autopluggers, etc)
to use the core loadable libraries (bytestream, getbits, etc) as well as "ext" libs
like the new cothreads package.
Original commit message from CVS:
- plugins are built without versioning info /Uraeus claims: plugins/;
if not plugins why this is built as lib*.so.0.0.0?
Original commit message from CVS:
* s/filter/plugin/
* add $(GST_LIBS) to all plugins
* move Makefile.am things around to a mostly standard layout
* remove HTTP flags/libs from elements since http element moved