Merge branch 'master' into 0.11

Conflicts:
	libs/gst/base/gstbasetransform.c
This commit is contained in:
Wim Taymans 2011-10-27 15:27:19 +02:00
commit 852851edab
6 changed files with 32 additions and 13 deletions

View file

@ -479,7 +479,8 @@ gst_caps_append (GstCaps * caps1, GstCaps * caps2)
g_return_if_fail (GST_IS_CAPS (caps1));
g_return_if_fail (GST_IS_CAPS (caps2));
g_return_if_fail (IS_WRITABLE (caps1));
g_return_if_fail (IS_WRITABLE (caps2));
caps2 = gst_caps_make_writable (caps2);
if (G_UNLIKELY (CAPS_IS_ANY (caps1) || CAPS_IS_ANY (caps2))) {
/* FIXME: this leaks */
@ -518,7 +519,8 @@ gst_caps_merge (GstCaps * caps1, GstCaps * caps2)
g_return_if_fail (GST_IS_CAPS (caps1));
g_return_if_fail (GST_IS_CAPS (caps2));
g_return_if_fail (IS_WRITABLE (caps1));
g_return_if_fail (IS_WRITABLE (caps2));
caps2 = gst_caps_make_writable (caps2);
if (G_UNLIKELY (CAPS_IS_ANY (caps1))) {
for (i = GST_CAPS_LEN (caps2) - 1; i >= 0; i--) {

View file

@ -1155,8 +1155,9 @@ gst_event_parse_latency (GstEvent * event, GstClockTime * latency)
* to skip @amount (expressed in @format) of media. It can be used to implement
* stepping through the video frame by frame or for doing fast trick modes.
*
* A rate of <= 0.0 is not allowed, pause the pipeline or reverse the playback
* direction of the pipeline to get the same effect.
* A rate of <= 0.0 is not allowed. Pause the pipeline, for the effect of rate
* = 0.0 or first reverse the direction of playback using a seek event to get
* the same effect as rate < 0.0.
*
* The @flush flag will clear any pending data in the pipeline before starting
* the step operation.

View file

@ -175,6 +175,8 @@ extern GList *_priv_gst_plugin_paths;
/* Set to TRUE when the registry cache should be disabled */
gboolean _gst_disable_registry_cache = FALSE;
static gboolean __registry_reuse_plugin_scanner = TRUE;
#endif
/* Element signals and args */
@ -1086,6 +1088,11 @@ gst_registry_scan_plugin_file (GstRegistryScanContext * context,
changed = TRUE;
}
if (!__registry_reuse_plugin_scanner) {
clear_scan_context (context);
context->helper_state = REGISTRY_SCAN_HELPER_NOT_STARTED;
}
return changed;
}
@ -1619,6 +1626,12 @@ ensure_current_registry (GError ** error)
}
if (do_update) {
const gchar *reuse_env;
if ((reuse_env = g_getenv ("GST_REGISTRY_REUSE_PLUGIN_SCANNER"))) {
/* do reuse for any value different from "no" */
__registry_reuse_plugin_scanner = (strcmp (reuse_env, "no") != 0);
}
/* now check registry */
GST_DEBUG ("Updating registry cache");
scan_and_update_registry (default_registry, registry_file, TRUE, error);

View file

@ -106,7 +106,7 @@
* <listitem><para>
* Finally the buffer can be pushed downstream and the parsing loop starts
* over again. Just prior to actually pushing the buffer in question,
* it is passed to @pre_push_buffer which gives subclass yet one
* it is passed to @pre_push_frame which gives subclass yet one
* last chance to examine buffer metadata, or to send some custom (tag)
* events, or to perform custom (segment) filtering.
* </para></listitem>
@ -3205,9 +3205,9 @@ gst_base_parse_set_syncable (GstBaseParse * parse, gboolean syncable)
* parsing, and the parser should operate in passthrough mode (which only
* applies when operating in push mode). That is, incoming buffers are
* pushed through unmodified, i.e. no @check_valid_frame or @parse_frame
* callbacks will be invoked, but @pre_push_buffer will still be invoked,
* callbacks will be invoked, but @pre_push_frame will still be invoked,
* so subclass can perform as much or as little is appropriate for
* passthrough semantics in @pre_push_buffer.
* passthrough semantics in @pre_push_frame.
*
* Since: 0.10.33
*/

View file

@ -58,7 +58,7 @@ G_BEGIN_DECLS
* GST_BASE_PARSE_FLOW_DROPPED:
*
* A #GstFlowReturn that can be returned from parse_frame to
* indicate that no output buffer was generated, or from pre_push_buffer to
* indicate that no output buffer was generated, or from pre_push_frame to
* to forego pushing buffer.
*
* Since: 0.10.33
@ -107,7 +107,7 @@ G_BEGIN_DECLS
* counted as frame, e.g. if this frame is dependent on a previous one.
* As it is not counted as a frame, bitrate increases but frame to time
* conversions are maintained.
* @GST_BASE_PARSE_FRAME_FLAG_CLIP: @pre_push_buffer can set this to indicate
* @GST_BASE_PARSE_FRAME_FLAG_CLIP: @pre_push_frame can set this to indicate
* that regular segment clipping can still be performed (as opposed to
* any custom one having been done).
*

View file

@ -53,17 +53,20 @@
* controller = gst_object_control_properties (object, "prop1", "prop2",...);
* </para></listitem>
* <listitem><para>
* Get a #GstControlSource for the property and set it up.
* create a #GstControlSource.
* csource = gst_interpolation_control_source_new ();
* gst_interpolation_control_source_set_interpolation_mode(csource, mode);
* gst_interpolation_control_source_set (csource,0 * GST_SECOND, value1);
* gst_interpolation_control_source_set (csource,1 * GST_SECOND, value2);
* </para></listitem>
* <listitem><para>
* Set the #GstControlSource in the controller.
* Attach the #GstControlSource on the controller to a property.
* gst_controller_set_control_source (controller, "prop1", csource);
* </para></listitem>
* <listitem><para>
* Set the control values
* gst_interpolation_control_source_set (csource,0 * GST_SECOND, value1);
* gst_interpolation_control_source_set (csource,1 * GST_SECOND, value2);
* </para></listitem>
* <listitem><para>
* start your pipeline
* </para></listitem>
* </orderedlist>