What still needs to be done is to add a way to set
a custom lock to the task, currently a newly created
task can only get a lock by making it a pad task.
Make sure that we a) don't free structures of caps as we don't own them
and b) make sure to create a copy of all still referenced structures
before it gets removed, the caps are unreffed or something else happens.
This still needs to be fixed for gst_caps_do_simplify()!
This workaround is inspired by the one in gst-python.
Also fix some reference ownership issues in the StaticPadTemplate bindings
and make them a read-only container without any way to create new instances.
We don't need StaticCaps anywhere and StaticPadTemplates only for reading
the static pad templates of an element factory.
This will be needed later to call the action signals of
playbin2 for example.
Also get the correct instance size of GClosure at runtime
instead of always taking the largest known one.
We can't call gst_object_unref() directly as this will conflict
with the toggle-refs used in glib-sharp. It's also not required
to call gst_object_unref(), it's just a wrapper around g_object_unref()
with some debugging.
* gstreamer-sharp/BindingHelper.cs: Static helper class to assist
in making element bindings (delegate manipulation/invocation)
* gstreamer-sharp/DynamicSignal.cs: Updated DynamicSignalArgs so they
can more easily be derived
* gstreamer-sharp/Makefile.am: Updated build
* sample/HelloWorld.cs: More cleaning
* sample/Makefile.am:
* sample/TypeFind.cs: Added typefind sample
* gstreamer-sharp.mdp: Updated MonoDevelop project
* gstreamer-sharp/plugins-base/DecodeBin.cs: Signal support rewritten
to use BindingHelper/DynamicSignal
* gstreamer-sharp/plugins-base/TypeFindElement.cs: New typefind
element wrapper using BindingHelper/DynamicSignal
* gstreamer-sharp/Element.custom: Fixed property getter/setter methods
and added indexer wrapper for property lookup for syntax convenience
git-svn-id: svn://anonsvn.mono-project.com/source/branches/abock/gstreamer-sharp@62570 e3ebcda4-bce8-0310-ba0a-eca2169e7518
* sample/HelloWorld.cs: Cleaned up, works with new dynamic signal stuff
* gstreamer-sharp.mdp: Updated MonoDevelop project
* gstreamer-sharp/glue/dynamicsignal.c:
* gstreamer-sharp/DynamicSignal.cs: Added DynamicSignal support for
runtime GObject signal binding
* gstreamer-sharp/glue/Makefile.am:
* gstreamer-sharp/Makefile.am: Updated build
* gstreamer-sharp/Element.custom: Removed old DynamicSignal
stuff and added pass-thru/proxy Connect/Disconnect methods on
top of GLib.DynamicSignal
* gstreamer-sharp/DynamicSignalHandlerGenerator.cs:
* gstreamer-sharp/DynamicSignalMarshalHandler.cs: Removed
* gstreamer-sharp/gstreamer-sharp.dll.config.in: Updated maps, removed
old 0.8 maps
git-svn-id: svn://anonsvn.mono-project.com/source/branches/abock/gstreamer-sharp@62542 e3ebcda4-bce8-0310-ba0a-eca2169e7518
* gstreamer-sharp.mds:
* gstreamer-sharp.mdp: Updated MonoDevelo project/solution
* source/gstreamer-sharp-source.xml: Cleaned up a bit
* sample/DecodeBinTranscoder.cs: Updated to reflect renaming of
Clock.GstSecond to Clock.Second, etc.
* gstreamer-sharp/glue/clock.c: Added gstsharp_gst_clock_get_time_none
and gstsharp_gst_clock_time_is_valid
* gstreamer-sharp/Clock.custom: Added bindings for new clock glue
and renamed GstNSecond to NSecond (and friends)
git-svn-id: svn://anonsvn.mono-project.com/source/branches/abock/gstreamer-sharp@62535 e3ebcda4-bce8-0310-ba0a-eca2169e7518
* gstreamer-sharp/glue/Bin.c: Newly added. Added a function to
return the offset of *children.
* tests/ElementTest.cs: Newly added. Added two NUnit tests for
Element class - one to test creation of elements and the other
to test addition and deletion of Pads from elements.
git-svn-id: svn://anonsvn.mono-project.com/source/branches/abock/gstreamer-sharp@61443 e3ebcda4-bce8-0310-ba0a-eca2169e7518
* sample/DecodeBinTranscoder.cs: Fixing ambigious cast.
* gstreamer-sharp/glue/clock.c:
* gstreamer-sharp/Clock.custom: Changing the gint64 to guint64 and
long to ulong respectively. The clocktime (GstClockTime) is measured
in nanoseconds as unsigned long inside GStreamer.
This is introducing a small schizophrenia since some functions (such
as queries, seeks) take signed long (-1 to mark infinity or error).
This is the expected Gst behaviour.
Just sticking silently to long (instead of ulong) will bork us sooner
or later, especially for custom-build low level routines/elements.
Comments welcome.
git-svn-id: svn://anonsvn.mono-project.com/source/branches/abock/gstreamer-sharp@61438 e3ebcda4-bce8-0310-ba0a-eca2169e7518