Original commit message from CVS:
- remove some \n in GstThread debugging
- move the state change g_cond_signal to the set_state function to make
sure that we don't unlock the waiters before we completed the state
change.
Original commit message from CVS:
I suck - it's the wrong variable and I don't get it for ages even while testing this code
But while I was atit, I fixed it right this time (I hope)
Original commit message from CVS:
* make the user registry location major-minor versioned so it doesn't
clash with older incompatible registries
* make gst-register output the location of the registry it's writing
Original commit message from CVS:
assorted fixes:
- fix for #111146 (works now with lots of warnings (or maybe even without - the fun of races))
- more useful debugging output
- restructuring of when to release the lock
- emitting SHUTDOWN when holding lock so we're not destroyed while signalling
- probably something else I don't remember
Original commit message from CVS:
- removed an assert, mmaping the stack of another thread seems to work fine.
This makes the cothread based scheduler work again with the new GstThread.
Original commit message from CVS:
- make child_state_change a virtual function
- remove unneeded != NULL checks
- implement gst_bin_sync_children_state
Original commit message from CVS:
Added a simple function gst_pad_recover_caps_error that a plugin
should call from now on (instead of gst_element_error). This function
will emit a caps_nego_failed signal that the app can catch to resolve
the negotiation failure.
Original commit message from CVS:
It's absolute fun if you don't find this. If an element claims a successful state change but did not actually change its state it is broken and the program deserves to crash. And hard. Can you hear I'm annoyed?
Original commit message from CVS:
Ouch: gst_element_dispose does a state change to NULL. Change the state to NULL yourself if you dispose plugins that reference some of the freed memory on state changes.
This is probably broken in lots of cases.
Original commit message from CVS:
API change: rename (currently unused function) gst_(data|buffer)_needs_copy_on_write to gst_(data|buffer)_is_readonly - we don't want to confuse even core developers
Original commit message from CVS:
- Added infrastructure to run a filter against plugins, registries and
registrypools. This makes it possible to create custom code to filter
out the plugins/features you're interested in.
Original commit message from CVS:
enable debugging output for bison parser, fix // comments, better error recovery, error out on non-instantiable elements (fixes#110758)
Original commit message from CVS:
Revert last Makefile.am change, and fix it correctly. I _think_
this won't break with earlier flex versions, otherwise let me know.
Original commit message from CVS:
- added macros GST_CLOCK_TIME_IS_VALID and GST_BUFFE_TIMESTAMP_IS_VALID
- use macros in some places
- buffer's timestamp field is a GstClockTime, not a guint64 - this is currently the same, but be sure to only use GstClockTime when working with timestamps in the future
Original commit message from CVS:
general fixes:
- changed newly added locked_state API to work like GStreamer does
- added gst_element_sync_state_with_parent function
- revert: pad linking does not require non-playing state
- updated spider and pipeline parsing to link elements in playing state
- bugfix: pads are now activated when added to a playing element (broke above change)
Original commit message from CVS:
rewritten pipeline parsing lands. Have fun breaking it.
regressions:
- No support for filtered links. If anybody needs this, please contact me and I'll add it as fast as possible.
improvements:
- The pipeline building actually works as expected.
- syntax compatible nearly everywhere but more flexible
- better property parsing (you can now set enums by name or nick)
- uses locked_state to allow for delayed pads
- can connect video pipelines without the need for queues
- allows properties on bins
- does not return a bin, but an element.
You may want to read docs/random/company/gstparse to learn how it works.
Original commit message from CVS:
huge modifications, hope i didn't break something:
- added functions for setting/getting locked state of elements. gst_element_lock_state syncs the pads state with the state of its parent.
- made all gst_element_link_* functions call gst_element_link_pads_filtered
- gst_element_link_pads_filtered now accepts NULL as a pad name.
- make sure the link functions are only called when the elements are paused
That's it.
Original commit message from CVS:
many changes to startup handling:
- make gst_init_with_popt_table work like gst_init - exit program on failure, return void
- add gst_init_check_with_popt_table to be the same as gst_init_with_popt_table before - work the same as gst_init_check
- revert an old workaround and apply the proper fix
- do not use g_error to exit the application, g_error causes a segfault. Use exit.
Original commit message from CVS:
2003-03-29 Martin Schulze <MHL.Schulze@t-online.de>
* gst/gstelementfactory.c: Add "g_free (dp->license)" in
gst_element_details_free().
* gst/gstevent.[ch]: Add function gst_event_get_type() to
support c++ language binding. Make macros gst_event_ref[_by_count]
return a GstEvent* instead of a GstData*.
* gst/gstbuffer.[ch]: Add functions gst_buffer[_pool]_get_type()
to support c++ language binding.
Original commit message from CVS:
- Slight reorganisation of functions that should be disabled
- make sure _gst_debug_register_funcptr is #ifdeffed out when DEBUGGING is
disabled.
This should fix 106047. Please retest.
Original commit message from CVS:
- fix unlink between decoupled elements
- clear the entry point of a group when we remove the element
- fix a potential problem in _merge_groups that could be triggered when
someone is holding an extra refcount to the group.
Original commit message from CVS:
added (hopefully) compatible cothreads emulation by using GThreads.
use '--gst-scheduler=basicgthread' to try it out
includes bugfix for opt to call do_cothreads_init when using threads
Original commit message from CVS:
- More refcounting fixes that now sustain abuse from spider, key is to be
careful when iterating over a list when our current pointer could be
removed.