summaryrefslogtreecommitdiff
path: root/libs/gst/controller
AgeCommit message (Collapse)AuthorFilesLines
2017-05-17gst: Don't ref_sink() GstObject subclasses in instance_init/constructorSebastian Dröge3-3/+20
This is something bindings can't handle and it causes leaks. Instead move the ref_sink() to the explicit, new() constructors. This means that abstract classes, and anything that can have subclasses, will have to do ref_sink() in their new() function now. Specifically this affects GstClock and GstControlSource. https://bugzilla.gnome.org/show_bug.cgi?id=743062
2017-05-17gst: Correctly annotate functions taking floating reference parameters and ↵Sebastian Dröge1-1/+1
returning floating references https://bugzilla.gnome.org/show_bug.cgi?id=702960
2017-05-15libs: controller: mark symbols explicitly for export with GST_EXPORTTim-Philipp Müller9-10/+37
2017-05-04g-i: no need to load registry in g-i scannerTim-Philipp Müller1-1/+1
2017-04-13meson: A couple for GIR-generation fixesRico Tzschichholz1-1/+2
2017-04-12meson: Add controller enum file as generated sourcesThibault Saunier1-1/+1
Avoiding build failure like https://ci.appveyor.com/project/thiblahute/gst-build-ge9m5/build/1.0.2857
2017-04-11controller: include new proxycontrolbinding headerTim-Philipp Müller1-0/+1
And fix includes in docs to just include the main header (the include for the proxycontrolbinding was wrong in the docs).
2017-04-10controller: Fix build with srcdir!=builddirSebastian Dröge1-2/+4
2017-04-10controller: Add missing sources/headers to the GIR buildRico Tzschichholz1-2/+2
2017-04-09meson: And actually make the controller mkenums rules workSebastian Dröge1-3/+3
2017-04-09controller: Generate GLib enums automaticallySebastian Dröge7-56/+98
2017-04-08Don't use deprecated g_object_newv()Tim-Philipp Müller3-3/+3
Use g_object_new() instead which nowadays has a shortcut for the no-properties check. It still does an extra GType check in the function guard, but there's a pending patch to remove that and it's hardly going to be a performance issue in practice, even less so on a system that's compiled without run-time checks. Alternative would be to move to the new g_object_new_properties() with a fallback define for older glib versions, but it makes the code look more unwieldy and doesn't seem worth it. Fixes deprecation warnings when building against newer GLib versions. https://bugzilla.gnome.org/show_bug.cgi?id=780903
2017-01-27meson: libs: Add gir to the source list of the dependencyThibault Saunier1-1/+5
2017-01-27Port gtk-doc comments to their equivalent markdown syntaxThibault Saunier7-0/+7
Modernizing our documentation and preparing a possible move to hotdoc. This commits also adds missing @title metadatas to all SECTIONs
2016-11-23controllers: add new proxy control bindingMatthew Waters4-0/+286
Allows proxying the control interface from one property on one GstObject to another property (of the same type) in another GstObject. E.g. in a parent-child relationship, one may need to gst_object_sync_values() on the child and have a binding (set elsewhere) on the parent update the value. Note: that this doesn't solve GObject property forwarding and must be taken care of by the implementation manually or using GBinding. https://bugzilla.gnome.org/show_bug.cgi?id=774657
2016-11-09meson: Advertise dependency on gst_dep generating girsThibault Saunier1-1/+1
And do not simply link to libgst as the gir information location only exist in declare_dependecy https://bugzilla.gnome.org/show_bug.cgi?id=774044
2016-10-13argbcontrolbinding: gst_object_replace() is transfer noneSebastian Dröge1-4/+4
2016-10-13directcontrolbinding: Clarify in the documentation what the difference ↵Sebastian Dröge1-4/+9
between absolute and not is
2016-08-19Add support for Meson as alternative/parallel build systemNirbheek Chauhan1-0/+63
https://github.com/mesonbuild/meson With contributions from: Tim-Philipp Müller <tim@centricular.com> Mathieu Duponchelle <mathieu.duponchelle@opencreed.com> Jussi Pakkanen <jpakkane@gmail.com> (original port) Highlights of the features provided are: * Faster builds on Linux (~40-50% faster) * The ability to build with MSVC on Windows * Generate Visual Studio project files * Generate XCode project files * Much faster builds on Windows (on-par with Linux) * Seriously fast configure and building on embedded ... and many more. For more details see: http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html Building with Meson should work on both Linux and Windows, but may need a few more tweaks on other operating systems.
2016-05-24g-i: pass compiler env to g-ir-scannerTim-Philipp Müller1-0/+1
It's what introspection.mak does as well. Should fix spurious build failures on gnome-continuous.
2016-02-02controller: Do not unset uninitiallized GValueThibault Saunier1-1/+2
In case the property was not interpollable we might never initialize the GValue, we should thus never unset it.
2016-01-05controller: rename new cubic interpolation modeStefan Sauer3-21/+21
Don't abbreviate to 'mono' and use 'monotonic' instead.
2015-12-14core: Add g_autoptr() support to all typesXavier Claessens6-0/+24
https://bugzilla.gnome.org/show_bug.cgi?id=754464
2015-12-02Drop usage of deprecated g-ir-scanner --strip-prefix flagReynaldo H. Verdejo Pinochet1-1/+2
2015-11-20controller: fix annotation to make g-ir-scanner happyTim-Philipp Müller1-1/+2
gstinterpolationcontrolsource.h:59: Warning: GstController: missing ":" at column 51: * @GST_INTERPOLATION_MODE_CUBIC_MONO: (Since 1.8) monotonic cubic interpolation, will not gstinterpolationcontrolsource.h:59: Warning: GstController: unknown annotation: since
2015-10-02timedvaluecontrolsource: Use g_sequence_lookup where possibleJan Alexander Steffens (heftig)1-33/+15
When looking for exact matches in the sequence, this results in much simpler code than when using g_sequence_search. https://bugzilla.gnome.org/show_bug.cgi?id=755498
2015-10-01interpolationcontrolsource: fix write over the array sizeStefan Sauer1-1/+1
The '++' got incidentially added during the refactoring in 2fe3939ce7ea84c45dd922e7f1097dd07f11fc5d.
2015-09-30controlpoint: change the padding to be of arch-independent sizeStefan Sauer1-3/+3
The default padding I introduced in d4f81fb4e62d34a4c1dabc65b23ede7ce7694c63 is actually only 4 pointers and on 32bit platforms already smaller than the union. Replace it with a fixed 64byte padding. Don't add the normal padding for now. Fixes #755822
2015-09-28directcontrolbinding: fix formattingStefan Sauer1-1/+2
2015-09-28controller: add the missing abi paddingStefan Sauer1-2/+2
While this technically is an abi break, we decided to do this: 1) the struct is documented to be internal 2) the struct is alloced and freed inside the library 3) there are no public methods that receive or return instances 4) the only code known to use this struct are classes containd here
2015-09-27interpolationcontrolsource: add cubic_mono interpolationStefan Sauer3-4/+185
This new mode won't overshoot the min/max y values set by the control-points. Fixes #754678 API: GST_INTERPOLATION_MODE_CUBIC_MONO
2015-09-27interpolationcontrolsource: refactor codeStefan Sauer1-100/+76
Extract common code that looks up the control-points around the timestamp. Add some comments for future investigation.
2015-06-29directcontrolbinding: fix ABI breakTim-Philipp Müller2-6/+9
Structure size was increased without adjustment of the padding. https://bugzilla.gnome.org/show_bug.cgi?id=751622 https://bugzilla.gnome.org/show_bug.cgi?id=740502
2015-06-16gi: Use INTROSPECTION_INIT for --add-init-sectionNicolas Dufresne1-1/+1
This new define was added to common. The new init section fixed compilation warning found in the init line that was spread across all files.
2015-06-14doc: Include and fix GstControlPointNicolas Dufresne1-3/+5
2015-06-13doc: Fix Since: marksNicolas Dufresne1-3/+3
There was few Since: mark missing their column. Also unify the way we set the Since mark on enum value and structure members. These sadly don't show up in the index.
2015-06-13doc: Make ..._source_find_control_point_iter transfer noneNicolas Dufresne1-1/+1
2015-06-12controller: Added absolute direct control binding, example and testLazar Claudiu2-25/+77
Fixes: 740502 API: gst_direct_control_binding_new_absolute
2015-05-16timedvaluecontrolsource: Check that the only iter is the end iter in the ↵Thibault Saunier1-11/+14
GSequence Previous patch was assuming that if the returned iter was the last iter the GSequence was empty, which is obviously wrong.
2015-05-16timedvaluecontrolsource: Fix removing all keyframes, and adding one backThibault Saunier1-1/+1
We were segfaulting because g_sequence_search was returning the iter_end, and that iterator does not contain anything and thus should not be used directly
2015-04-26Remove obsolete Android build cruftTim-Philipp Müller1-12/+0
This is not needed any longer.
2015-03-31introspection: Don't use g-ir-scanner cache at compile timeEdward Hervey1-1/+1
It pollutes user directories and we don't need to cache it https://bugzilla.gnome.org/show_bug.cgi?id=747095
2015-02-13timedvaluecontrolsource: Do not wrongly send value-removedThibault Saunier1-0/+3
And avoid freeing something we do not own
2014-11-25triggercontrolsource: Fix short description for the docsSebastian Dröge1-1/+1
2014-10-22timedvaluecontrolsource: Add some signals about values changesThibault Saunier2-8/+108
In order for user to be able to track changes in the value set in GstTimedValueControlSource the following signals have been added: * value-added * value-removed * value-changed To be able to use a GstControlPoint to be marshalled into the signals, the GstControlPoint structure is now registerd as a GBoxed type. New API: ~~~~~~~ * GstTimedValueControlSource::value-added * GstTimedValueControlSource::value-removed * GstTimedValueControlSource::value-added https://bugzilla.gnome.org/show_bug.cgi?id=737616
2014-04-17libs: g-ir-scanner: do not hardcode libtool pathAntoine Jacoutot1-1/+1
https://bugzilla.gnome.org/show_bug.cgi?id=726571
2013-12-10controller: Fix out-of-bounds detectionEdward Hervey1-1/+1
We want to abort if we higher than the maximum *OR* lower than the minimum accepted value. Detected by Coverity.
2013-12-02docs: cosmetic changes in references/decriptionsSebastian Rasmussen1-1/+1
* fix typo GstBufferFlag -> GstBufferFlags * fix typo GstFeatures -> GstCapsFeatures * fix typo GstAllocatorParams -> GstAllocationParams * fix typo GstContrlSources -> GstControlSource * do not refer to gstcheck as an object * make references gtk_init() and tcase_set_timeout() not be references * gst_element_get_pad() renamed gst_element_get_static_pad() * gst_clock_id_wait_async_full() renamed gst_clock_id_wait_async() * _drop_element() is really gst_queue_array_drop_element() * gst_pad_accept_caps() was removed, do not refer to it * separate GST_META_TAG_MEMORY_STR declaration from description * do not describe removed gst_collect_pads_collect() * correctly link to GstElementClass' virtual set_context() Fixes https://bugzilla.gnome.org/show_bug.cgi?id=719614
2013-09-10controlbindings: fix pspec relaxation for control source propertiesRico Tzschichholz2-5/+10
The change should have been from PARAM_CONSTRUCT_ONLY to PARAM_CONSTRUCT, otherwise bindings are affected, since they look for the CONSTRUCT flag. See ec55363d
2013-08-08controller: fixes int overflow with properties that span +-INT_MAXAdrian Pardini1-2/+2
When the range for a property is defined as -INT_MAX-1 .. INT_MAX, like the xpos in a videomixer the following expression in the macro definitions of convert_g_value_to_##type (and the equivalent in convert_value_to_##type) v = pspec->minimum + (g##type) ROUNDING_OP ((pspec->maximum - pspec->minimum) * s); are converted to: v = -2147483648 + (g##type) ROUNDING_OP ((2147483647 - -2147483648) * s); (2147483647 - -2147483648) overflows to -1 and the net result is: v = -2147483648 + (g##type) ROUNDING_OP (-1 * s); so v only takes the values -2147483648 for s == 0 and 2147483647 for s == 1. Rewriting the expression as minimum*(1-s) + maximum*s gives the correct result in this case. https://bugzilla.gnome.org//show_bug.cgi?id=705630