Original commit message from CVS:
gstbin.c: commented out the requirement that a bin be !PLAYING to add
gstthread.c: fixed an old failed merge that locked the same mutex twice
...in a row
Original commit message from CVS:
Added element-level locking support, implemented for cothreads with a mutex
held whenever an element is actually currently running. This should be done
with atomic variables eventually, but the best I can find is to use
<asm/spinlock.h> from the kernel, which brings in too much for my taste.
Also increased cothread stack size to 32KB and max cothread count to 64,
which fits within the default pthread 2MB stack. It would probably be good
to do a pthread_attr_getstacksize() to verify that it's 2MB, and if
linuxthreads had a pthread_attr_setstacksize(), we could remove these
limits.
Original commit message from CVS:
added a set flag to end of gst_thread_signal_thread and gst_signal_wait_thread
to indicate whether signal should set flag or unset flag, and whether wait
should wait for flag to be set or to be unset. this is needed for
PLAYING_TO_PAUSE where STATE_SPINNING needs to be signalled to be unset
Original commit message from CVS:
Fixed bug with reconfig, where switching back into an element landed it
in code that still thought it was connected to the previous element. It
now checks to see if the peer's peer has changed, and deal accordingly.
Original commit message from CVS:
Significant progress. Now able to do most operations live, without any
failure. tests/incsched.c currently faults at the last iteration, not
yet sure why.
Original commit message from CVS:
First round of incremental scheduling. Manager setting and managed_elements
lists are now handled at bin_add/remove time. Scheduling chains can be
created incrementally as well, though there are still some pieces missing.
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.
Original commit message from CVS:
Reworked getregion/pullregion stuff. Region is now specified by a type
(OFFSET_LEN, TIME_LEN, etc.) and two guint64's. They are offset and len,
where offset can be used for the time field, and len would be zero or
the time unit (say, 33ms for video).
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.