summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 1a40494)
raw | patch | inline | side by side (parent: 1a40494)
author | Stefan Kost <ensonic@users.sourceforge.net> | |
Mon, 2 Apr 2007 14:48:12 +0000 (14:48 +0000) | ||
committer | Stefan Kost <ensonic@users.sourceforge.net> | |
Mon, 2 Apr 2007 14:48:12 +0000 (14:48 +0000) |
Original commit message from CVS:
* docs/random/ensonic/dynlink.txt:
More work on proposal for new core api.
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbasetransform.h:
API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
* libs/gst/controller/gstcontroller.c:
(on_object_controlled_property_changed),
(gst_controller_sync_values),
(gst_controller_set_interpolation_mode):
* libs/gst/controller/gstcontroller.h:
Less verbose logging add docs for unimplemented parts and correctly
return when using unavailable parts.
* docs/random/ensonic/dynlink.txt:
More work on proposal for new core api.
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbasetransform.h:
API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
* libs/gst/controller/gstcontroller.c:
(on_object_controlled_property_changed),
(gst_controller_sync_values),
(gst_controller_set_interpolation_mode):
* libs/gst/controller/gstcontroller.h:
Less verbose logging add docs for unimplemented parts and correctly
return when using unavailable parts.
diff --git a/ChangeLog b/ChangeLog
index 2f98cc50b8b688b7764bc5b6c39b2e5d808c73fd..fc7bad5a59356abec898fe54229482d2c2d8b1a5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2007-04-02 Stefan Kost <ensonic@users.sf.net>
+
+ * docs/random/ensonic/dynlink.txt:
+ More work on proposal for new core api.
+
+ * docs/libs/gstreamer-libs-sections.txt:
+ * libs/gst/base/gstbasetransform.h:
+ API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
+
+ * libs/gst/controller/gstcontroller.c:
+ (on_object_controlled_property_changed),
+ (gst_controller_sync_values),
+ (gst_controller_set_interpolation_mode):
+ * libs/gst/controller/gstcontroller.h:
+ Less verbose logging add docs for unimplemented parts and correctly
+ return when using unavailable parts.
+
2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
* gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
index 4f75333e5018a65dd84d3a8610898cf67525464f..720a20fef18f2e6ee348ffe4a8340d2e4abc850a 100644 (file)
GST_BASE_TRANSFORM_FLOW_DROPPED
+GST_BASE_TRANSFORM_LOCK
+GST_BASE_TRANSFORM_UNLOCK
+
<SUBSECTION Standard>
GST_BASE_TRANSFORM
GST_IS_BASE_TRANSFORM
index d3021950ef8b142b04316414efce84771a64468c..d08b0fcc1abe661dece3ed069b7c847f206d1a11 100644 (file)
== inserting an element ==
-* we have: e1 ! e2
-* we want: e1 ! e3 ! e2
+* we have: e1 ! e4
+* we want: e1 ! e2 ! e3 ! e4
+* we want: e1 ! e2 ! e4
-gst_element_insert_linked(e1, e2, e3);
+gst_element_insert_linked(e1, e2, e3, e4); // e2 == e3 allowed
+gst_pads_insert_link (e1.src, e2.sink, e3.src, e4.sink);
+ disconnect e1.src, e1.src.peer
+ disconnect e4.sink, e4.sink.peer
+ connect e1.src e2.sink
+ connect e3.src e4.sink
== removing an element ==
* we want: e1 ! e3
gst_element_remove_linked(e2);
+gst_pads_remove_link (e1.src, e3.sink);
+ disconnect e1.src, e1.src.peer
+ disconnect e3.sink, e3.sink..peer
+ connect e1.src e3.sink
== swapping out an elelment ==
-* we have: e1 ! e2 ! e3
-* we want: e1 ! e4 ! e3
+* we have: e1 ! e2 ! e5
+* we want: e1 ! e3 ! e4 ! e5
+* we want: e1 ! e3 ! e5
+
+gst_element_swap_linked(e1, e3, e4, e5);
+gst_pads_insert_link (e1.src, e3.sink, e4.src, e5.sink);
+ disconnect e1.src, e1.src.peer (=e2.sink)
+ disconnect e5.sink, e5.sink.peer
+ connect e1.src e3.sink
+ connect e4.src e5.sink
+
-gst_element_swap_linked(e1, e3, e4);
= thoughts =
* I don't think we need api for pads
* Should current api check for the state?
+* do we want to swapp multiple elements at once
index ad8344fbefb150cb58f902eca8619bcd64f42f16..3f042e82172c8f5e742aaa5c5c4f259323c6518a 100644 (file)
*/
#define GST_BASE_TRANSFORM_FLOW_DROPPED GST_FLOW_CUSTOM_SUCCESS
+/**
+ * GST_BASE_TRANSFORM_LOCK:
+ * @obj: base transform instance
+ *
+ * Obtain a lock to protect the transform function from concurrent access.
+ *
+ * Since: 0.10.13
+ */
+#define GST_BASE_TRANSFORM_LOCK(obj) g_mutex_lock (obj->transform_lock)
+
+/**
+ * GST_BASE_TRANSFORM_UNLOCK:
+ * @obj: base transform instance
+ *
+ * Release the lock that protects the transform function from concurrent access.
+ *
+ * Since: 0.10.13
+ */
+#define GST_BASE_TRANSFORM_UNLOCK(obj) g_mutex_unlock (obj->transform_lock)
+
typedef struct _GstBaseTransform GstBaseTransform;
typedef struct _GstBaseTransformClass GstBaseTransformClass;
typedef struct _GstBaseTransformPrivate GstBaseTransformPrivate;
index 88b33b691e8c35c8217c2aa86a70ad2924289549..fd785258679d5004e1f7b2bcaf30b5a48fdb6536 100644 (file)
@@ -105,7 +105,7 @@ on_object_controlled_property_changed (const GObject * object, GParamSpec * arg,
GstControlledProperty *prop = GST_CONTROLLED_PROPERTY (user_data);
GstController *ctrl;
- GST_INFO ("notify for '%s'", prop->name);
+ GST_LOG ("notify for '%s'", prop->name);
ctrl = g_object_get_qdata (G_OBJECT (object), __gst_controller_key);
g_return_if_fail (ctrl);
g_return_val_if_fail (GST_IS_CONTROLLER (self), FALSE);
g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (timestamp), FALSE);
- GST_INFO ("sync_values");
+ GST_LOG ("sync_values");
g_mutex_lock (self->lock);
/* go over the controlled properties of the controller */
*
* Sets the given interpolation mode on the given property.
*
+ * <note><para>Quadratic, qubic and user interpolation is not yet available.
+ * </para></note>
+ *
* Returns: %TRUE if the property is handled by the controller, %FALSE otherwise
*/
gboolean
/* TODO shouldn't this also get a GstInterpolateMethod *user_method
for the case mode==GST_INTERPOLATE_USER
*/
- gst_controlled_property_set_interpolation_mode (prop, mode);
- res = TRUE;
+ res = gst_controlled_property_set_interpolation_mode (prop, mode);
}
g_mutex_unlock (self->lock);
index 69e1b22c5409d0885da5ed44355e717d39b04742..6148451eea7a2d10390d7dbc5834bf11b4709aed 100644 (file)
* @GST_INTERPOLATE_TRIGGER: returns the default value of the property,
* except for times with specific values
* @GST_INTERPOLATE_LINEAR: linear interpolation
- * @GST_INTERPOLATE_QUADRATIC: square interpolation
- * @GST_INTERPOLATE_CUBIC: cubic interpolation
- * @GST_INTERPOLATE_USER: user-provided interpolation
+ * @GST_INTERPOLATE_QUADRATIC: square interpolation (not yet available)
+ * @GST_INTERPOLATE_CUBIC: cubic interpolation (not yet available)
+ * @GST_INTERPOLATE_USER: user-provided interpolation (not yet available)
*
* The various interpolation modes available.
*/