Original commit message from CVS:
Store the element in the cothread private field.
If we remove the current entry in the cothread chain, make sure another
cothread is marked as COTHREAD_STOPPING.
Original commit message from CVS:
* add two apis:
* gst_element_connect_elements_many (elem1, elem2, ...)
- calls gst_element_connect_elements() in order
- should be called gst_element_connect_many, but we need to rename gst_element_connect_elements first
- simplifies common-case code
* gst_bin_add_many (bin, elem1, ...)
- calls gst_bin_add on all of the elems
- again, simplifying common code
Original commit message from CVS:
* warning fixes
* gst_object_set_name (name, NULL) uniquifies the name globally
- needs robusticizing
* gst_elementfactory_make can now take NULL as a second argument
Original commit message from CVS:
* a warning fix
* a potential commenting error fix
* more debug output when trying to set caps so I can actually tell from it
what's going on
Original commit message from CVS:
Fixed some warnings
Always recalculate caps intersection in perform_negotiate 'cause they
might have changed. (needs better solution probably)
Original commit message from CVS:
* changes to spider:
* add padtemplates so the connect functions can connect two request-pad
elements
* add a hack in gstelement.c. please look at this, Company, and see how
we can get around this
* add backwards caps-propagation support in identity, int2float, float2int,
adder, speed, volume
Original commit message from CVS:
* many fixes related to dynamic pipelines.
* addition of gst_element_disconnect_elements(), as per connect_elements()
* don't have a cow if typefind changes state in its signal handlers
* support of request pad -> request pad in connect_elements()
* some fixes in int2float that will eventually need to be ported to float2int and
adder
the gstelement api is getting bloated, expect a rewrite within the next month.
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);
Original commit message from CVS:
allow gst_init(NULL, NULL) to work
this fix was prompted by testsuite/test_gst_init.c, which thomasvs was running
on the autobuilder. they are good after all :)
Original commit message from CVS:
workaround for old popt versions, maybe this is the best way anyway (not alowing
for command line args that are not parsed with popt)
Original commit message from CVS:
to set default categories for an app, call set_categories before the gst_init
restores gst-register to its previous verbosity (but --gst-mask=0 works)
Original commit message from CVS:
first pass at integrating popt into gstreamer
note: you will need popt 1.6.3 or greater (configure checks for this) -- debian
people will either need to patch popt 1.6.2 or install 1.6.3 by hand.
Original commit message from CVS:
revert part of wingo's patch
wingo, I'm not doing this to piss you off ;)
but with your change we get the reverse issue : stuff in libs/gst needs
gstmarshal.[ch], which are only generated if we go in gst before libs.
So unless we just throw the egg at the chicken we'll have to settle for a
hack.
Alternatively, we could take the egg out of the chicken and put it in
a separate tarball which would then be installed ;)
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:
I don't think we wanted to change the include dir to gstreamer as well.
If we did, then we need major code cleanups all over so let's hold off for
a second.
Original commit message from CVS:
this is a really evil hack.
I would like for someone to help wingo and me fixing it properly ;)
and for that I could use a little basic education on some of the LD FLAGS
we need all over because trying to fix it properly got me confused.
Original commit message from CVS:
major rewrite of the spider.
Now uses GstSpiderConnection to track current connections and remember the way they're plugged.
Advantages of this approach:
- function prototypes are now much cleaner.
- Allow event propagation (EOS) to elements that are not connected but plugged.
- Allow deconstruction of plugged pipes. (not implemented)
Disadvantage:
- I screwed up naming (always get src and sink the wrong way). It's very inconsistent in the gstspider.[ch] files
- a little more time and memory are needed to manage the structs
Original commit message from CVS:
* removed cothread-specific code from gstinfo.c because the new cothreads has no cothread_self()
* added a new scheduler, untested but it does compile :-)
* cothreads links to the scheduler, not core now
* no installation of cothreads headers
Original commit message from CVS:
This patch (nearly) completes the removal of vertical events from the
core.
What it does:
- removal of the EVENT signal of GstElement (to be replaced by
g_object_notify)
- changing of the ERROR signal to allow recursive notification (like
deep_notify)
- implementing recursive notification with error events.
- removal of some functions in gstbin.c that are not used anymore.
- The function gst_element_info and gst_element_send_event now do
nothing but printing a warning, that these functions are gone. This is
done to allow plugins to catch up.
- Some bugfixes in XML saving are included, they simply were in the
file.
Original commit message from CVS:
initial checkin for the deep_notify signal which replaces INFO events in the long run.
PLEASE do not use gst_element_[info,message,error] anymore. Use g_object_notify instead.
Thank you.
Original commit message from CVS:
this fix makes sure that we actually request a pad from the template with
an unused name
this isn't optimal but gets the job done
should we move this code fragment to it's own helper function to use
everywhere stuff is requested according to a template ?
Original commit message from CVS:
- use autoplugging instead of predefined way on sometimes pads
- exchange plugtype with factories in the spider
- revamp the spider, now messier than before...
- bugfixing
- style corrections
Original commit message from CVS:
Added a first stab at a better clocking system.
It still needs more infrastructure for async notification and custom clock
implementors.
This thing can still deadlock the pipeline.
Original commit message from CVS:
some compile fixes, api changes, and i added the ability to create new chunks on the
stack, which can extend the main thread's stack up to 8M under linuxthreads. thanks
to billh for the {set,get}rlimit tip.
on the other hand, there's a nasty bug in cothreads when they are run without gthreads
that i'm still tracking down. that's the last bug though, at this point.
the commit is to syn the repository with my working copy before moving cothreads to a
separate module.
Original commit message from CVS:
Change soversion back to 0:0:0 and add use of -release flag for libtool.
This means that any program linking against libgst will automatically have
the specific release of libgst encoded into it. This enforces the fact
that (for the moment), the API/ABI is changing rapidly enough that you
can't link against 0.3.2 originally and have it still work with 0.3.3. It
might be possible, but highly unlikely.
When we get closer to a stable API/ABI, in the 0.5.0 timeframe most likely,
we will start using soversions as recommended in the libtool docs. Then
we have to pay more attention to forward and backwards compatiblity, or
rather, we have to *start* paying attention <g>
Original commit message from CVS:
fixed a number of bugs, added support for cothread-private data and
functions of the form void (*func) (int argc, void **argv)
the test app demonstrates the thread-safety of the cothreads lib
this is shaping up to be pretty solid.
Original commit message from CVS:
* a first pass at cleaning up the configure stuff
* new cothread library started, some experimental stack allocation code is in place
Original commit message from CVS:
should fix an error in a no-glib2 error message, an error in libxml stuff
(newer versions of libxml1 can be included as libxml/parser.h), and silencing
a warning in the cothreads stuff
Original commit message from CVS:
new, shiny hack uses mutexes to determine the current pthread_descr
without resorting to internal header files. muahaha ;)
this is only for linuxthreads, of course.
Original commit message from CVS:
added a test for pth and pthreads. in summary, it doesn't work because
in __pthread_find_self() some funny stack pointer math is done that
will result in no matches for __pthread_find_self(). this is dereferenced in
__errno_location, causing a segfault on context switch because of the errno-swapping
on the part of pth. it's a mess and i don't know how to get around it. i'll
have to look into what ngpt does for looking up errno, as it has kernel threads as
well as user threads.
Original commit message from CVS:
The core code from pth has been taken out and included in gstreamer.
This code is documented, more or less, in http://www-124.ibm.com/pthreads/docs/rse-pmt.ps.
This code is designed to replace cothreads.[ch], eventually.
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.
Original commit message from CVS:
miscellaneous fixes, added gst_pad_unset_sched() api.
although I unref the old pipeline and the cothread context gets freed in dynamic-pipeline.c,
I still get segfaults.
Original commit message from CVS:
* cleaning up duplicated code in gstbin.c
* added some sanity checks in gstpad.c
* added checks for failed connections in gstparse.c
* better docs in gstxml.c
Original commit message from CVS:
Previously filesrc would segfault when fed with the name of a directory.
Added check to ensure that the given file is a regular file.
Original commit message from CVS:
* fix doc build for glib2
* remove template files from cvs, they are generated with gtkdoc-mktmpl
* new, cleaner interface to the parser facilities
* cleanups in gstparse.c
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.
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
Original commit message from CVS:
summary: fix xml in gstreamer
1) make clear distinction between loading xml that actually creates objects and loading xml that just
synchronizes properties with objects. moved most of gst_element_restore_thyself functionality to
gst_xml_make_element. this new function name can change if it sucks.
2) many various fixes. createxml and runxml work now.
3) doc updates.
4) GstSignalObject is stil broken. i have no idea what it's supposed to do.
Original commit message from CVS:
added function gst_xml_write_file() which writes a nicely formatted and indented
xml representation of an element to a file. you can use stdout or stderr, for
example.
Original commit message from CVS:
fixes for make distcheck
does GST_ELEMENT_IS_COTHREAD_STOPPING still exist ?
and if so, how should it be found by the bytestream test ?
Original commit message from CVS:
fixes to make distcheck work
changed registry out of date to warning to allow tests to continue regardless (any better suggestions much appreciated)
Original commit message from CVS:
Some small cleanups.
added a drop_probaility arg to identity, so it occasionally can drop buffers
to simulate network packet loss
Original commit message from CVS:
- Removed deprecated buffer flags.
- removed gst_element_signal_eos, replaced with gst_element_set_eos
to set the object to PAUSED, signal an eos event etc..
- small updates to documentation
- repair some plugins
Original commit message from CVS:
- Added a function to get the currently executing cothread
- Removed some useless includes
- _interrupt now returns a boolean so the behaviour after the interrupt
can be controlled by the scheduler.
- Added a better way to set/get the default scheduler.
- make thread and pipeline get the default scheduler.
Original commit message from CVS:
* save the plugin paths in the registry
* load them back
* don't look in PLUGIN_DIR ($prefix/lib/gst usually) when PLUGIN_BUILD_DIR
Original commit message from CVS:
Tee Fixes.
added cothread_stop (not used)
improved the pad event dispatcher.
added an event_received signal on the pad.
do less state changes in the autoplugger.
small scheduler fix.
Original commit message from CVS:
Better, cleaner state management of the scheduler by adding scheduler state
flags.
typefind has to interrupt instead of yield.
Fix a leak in the queue when it's dropping buffers.