您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ GST_IS_OBJECT函数代码示例

51自学网 2021-06-01 20:56:37
  C++
这篇教程C++ GST_IS_OBJECT函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中GST_IS_OBJECT函数的典型用法代码示例。如果您正苦于以下问题:C++ GST_IS_OBJECT函数的具体用法?C++ GST_IS_OBJECT怎么用?C++ GST_IS_OBJECT使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了GST_IS_OBJECT函数的27个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: gst_object_replace

/** * gst_object_replace: * @oldobj: (inout) (transfer full): pointer to a place of a #GstObject to *     replace * @newobj: (transfer none): a new #GstObject * * Unrefs the #GstObject pointed to by @oldobj, refs @newobj and * puts @newobj in *@oldobj. Be carefull when calling this * function, it does not take any locks. You might want to lock * the object owning @oldobj pointer before calling this * function. * * Make sure not to LOCK @oldobj because it might be unreffed * which could cause a deadlock when it is disposed. * * Since 0.10.36, this function operates atomically. */voidgst_object_replace (GstObject ** oldobj, GstObject * newobj){  GstObject *oldptr;  g_return_if_fail (oldobj != NULL);  g_return_if_fail (*oldobj == NULL || GST_IS_OBJECT (*oldobj));  g_return_if_fail (newobj == NULL || GST_IS_OBJECT (newobj));#ifdef DEBUG_REFCOUNT  GST_CAT_TRACE (GST_CAT_REFCOUNTING, "replace %p %s (%d) with %p %s (%d)",      *oldobj, *oldobj ? GST_STR_NULL (GST_OBJECT_NAME (*oldobj)) : "(NONE)",      *oldobj ? G_OBJECT (*oldobj)->ref_count : 0,      newobj, newobj ? GST_STR_NULL (GST_OBJECT_NAME (newobj)) : "(NONE)",      newobj ? G_OBJECT (newobj)->ref_count : 0);#endif  if (newobj)    g_object_ref (newobj);  do {    oldptr = *oldobj;  } while (!G_ATOMIC_POINTER_COMPARE_AND_EXCHANGE (oldobj, oldptr, newobj));  if (oldptr)    g_object_unref (oldptr);}
开发者ID:AlerIl,项目名称:gstreamer0.10,代码行数:42,


示例2: gst_object_replace

EXPORT_C#endifvoidgst_object_replace (GstObject ** oldobj, GstObject * newobj){  g_return_if_fail (oldobj != NULL);  g_return_if_fail (*oldobj == NULL || GST_IS_OBJECT (*oldobj));  g_return_if_fail (newobj == NULL || GST_IS_OBJECT (newobj));#ifdef DEBUG_REFCOUNT  GST_CAT_LOG (GST_CAT_REFCOUNTING, "replace %p %s (%d) with %p %s (%d)",      *oldobj, *oldobj ? GST_STR_NULL (GST_OBJECT_NAME (*oldobj)) : "(NONE)",      *oldobj ? G_OBJECT (*oldobj)->ref_count : 0,      newobj, newobj ? GST_STR_NULL (GST_OBJECT_NAME (newobj)) : "(NONE)",      newobj ? G_OBJECT (newobj)->ref_count : 0);#endif  if (G_LIKELY (*oldobj != newobj)) {    if (newobj)      gst_object_ref (newobj);    if (*oldobj)      gst_object_unref (*oldobj);    *oldobj = newobj;  }}
开发者ID:kuailexs,项目名称:symbiandump-mw1,代码行数:27,


示例3: gst_object_set_parent

/** * gst_object_set_parent: * @object: a #GstObject * @parent: new parent of object * * Sets the parent of @object to @parent. The object's reference count will * be incremented, and any floating reference will be removed (see gst_object_ref_sink()). * * Returns: TRUE if @parent could be set or FALSE when @object * already had a parent or @object and @parent are the same. * * MT safe. Grabs and releases @object's LOCK. */gbooleangst_object_set_parent (GstObject * object, GstObject * parent){  g_return_val_if_fail (GST_IS_OBJECT (object), FALSE);  g_return_val_if_fail (GST_IS_OBJECT (parent), FALSE);  g_return_val_if_fail (object != parent, FALSE);  GST_CAT_DEBUG_OBJECT (GST_CAT_REFCOUNTING, object,      "set parent (ref and sink)");  GST_OBJECT_LOCK (object);  if (G_UNLIKELY (object->parent != NULL))    goto had_parent;  object->parent = parent;  gst_object_ref_sink (object);  GST_OBJECT_UNLOCK (object);  /* FIXME, this does not work, the deep notify takes the lock from the parent   * object and deadlocks when the parent holds its lock when calling this   * function (like _element_add_pad()) */  /* g_object_notify_by_pspec ((GObject *)object, properties[PROP_PARENT]); */  return TRUE;  /* ERROR handling */had_parent:  {    GST_CAT_DEBUG_OBJECT (GST_CAT_REFCOUNTING, object,        "set parent failed, object already had a parent");    GST_OBJECT_UNLOCK (object);    return FALSE;  }}
开发者ID:PeterXu,项目名称:gst-mobile,代码行数:47,


示例4: gst_child_proxy_set_valist

/** * gst_child_proxy_set_valist: * @object: the parent object * @first_property_name: name of the first property to set * @var_args: value for the first property, followed optionally by more name/value pairs, followed by NULL * * Sets properties of the parent object and its children. */voidgst_child_proxy_set_valist (GstChildProxy * object,    const gchar * first_property_name, va_list var_args){  const gchar *name;  gchar *error = NULL;  GValue value = { 0, };  GParamSpec *pspec;  GObject *target;  g_return_if_fail (GST_IS_CHILD_PROXY (object));  name = first_property_name;  /* iterate over pairs */  while (name) {    if (!gst_child_proxy_lookup (object, name, &target, &pspec))      goto not_found;    G_VALUE_COLLECT_INIT (&value, pspec->value_type, var_args,        G_VALUE_NOCOPY_CONTENTS, &error);    if (error)      goto cant_copy;    g_object_set_property (target, pspec->name, &value);    g_object_unref (target);    g_value_unset (&value);    name = va_arg (var_args, gchar *);  }  return;not_found:  {    g_warning ("no property %s in object %s", name,        (GST_IS_OBJECT (object) ? GST_OBJECT_NAME (object) : ""));    return;  }cant_copy:  {    g_warning ("error copying value %s in object %s: %s", pspec->name,        (GST_IS_OBJECT (object) ? GST_OBJECT_NAME (object) : ""), error);    g_value_unset (&value);    g_object_unref (target);    return;  }}
开发者ID:Grobik1,项目名称:gstreamer,代码行数:56,


示例5: gst_debugserver_log_send_log

voidgst_debugserver_log_send_log (GstDebugserverLog * log,    GstDebugserverTcp * tcp_server, GstDebugCategory * category,    GstDebugLevel level, const gchar * file, const gchar * function, gint line,    GObject * object, GstDebugMessage * message){  GstDebugger__GStreamerData gst_data = GST_DEBUGGER__GSTREAMER_DATA__INIT;  GstDebugger__LogInfo log_info = GST_DEBUGGER__LOG_INFO__INIT;  log_info.level = (gint) level;  log_info.category = (gchar *) gst_debug_category_get_name (category);  log_info.file = (gchar *) file;  log_info.function = (gchar *) function;  log_info.line = line;  if (GST_IS_OBJECT (object)) {    log_info.object = GST_OBJECT_NAME (object);  } else {    log_info.object = (gchar *) G_OBJECT_TYPE_NAME (object);  }  log_info.message = (gchar *) gst_debug_message_get (message);  gst_data.info_type_case = GST_DEBUGGER__GSTREAMER_DATA__INFO_TYPE_LOG_INFO;  gst_data.log_info = &log_info;  gst_debugserver_hooks_send_data (&log->hooks, tcp_server, &gst_data);}
开发者ID:loganek,项目名称:gst-debugger,代码行数:28,


示例6: gst_object_set_name

EXPORT_C#endifgbooleangst_object_set_name (GstObject * object, const gchar * name){  gboolean result;  g_return_val_if_fail (GST_IS_OBJECT (object), FALSE);  GST_OBJECT_LOCK (object);  /* parented objects cannot be renamed */  if (G_UNLIKELY (object->parent != NULL))    goto had_parent;  if (name != NULL) {    g_free (object->name);    object->name = g_strdup (name);    GST_OBJECT_UNLOCK (object);    result = TRUE;  } else {    GST_OBJECT_UNLOCK (object);    result = gst_object_set_name_default (object);  }  return result;  /* error */had_parent:  {    GST_WARNING ("parented objects can't be renamed");    GST_OBJECT_UNLOCK (object);    return FALSE;  }}
开发者ID:kuailexs,项目名称:symbiandump-mw1,代码行数:35,


示例7: gst_object_unparent

EXPORT_C#endifvoidgst_object_unparent (GstObject * object){  GstObject *parent;  g_return_if_fail (GST_IS_OBJECT (object));  GST_OBJECT_LOCK (object);  parent = object->parent;  if (G_LIKELY (parent != NULL)) {    GST_CAT_LOG_OBJECT (GST_CAT_REFCOUNTING, object, "unparent");    object->parent = NULL;    GST_OBJECT_UNLOCK (object);    g_signal_emit (object, gst_object_signals[PARENT_UNSET], 0, parent);    gst_object_unref (object);  } else {    GST_OBJECT_UNLOCK (object);  }}
开发者ID:kuailexs,项目名称:symbiandump-mw1,代码行数:25,


示例8: gst_child_proxy_set_property

/** * gst_child_proxy_set_property: * @object: the parent object * @name: name of the property to set * @value: new #GValue for the property * * Sets a single property using the GstChildProxy mechanism. */voidgst_child_proxy_set_property (GstChildProxy * object, const gchar * name,    const GValue * value){  GParamSpec *pspec;  GObject *target;  g_return_if_fail (GST_IS_CHILD_PROXY (object));  g_return_if_fail (name != NULL);  g_return_if_fail (G_IS_VALUE (value));  if (!gst_child_proxy_lookup (object, name, &target, &pspec))    goto not_found;  g_object_set_property (target, pspec->name, value);  g_object_unref (target);  return;not_found:  {    g_warning ("cannot set property %s on object %s", name,        (GST_IS_OBJECT (object) ? GST_OBJECT_NAME (object) : ""));    return;  }}
开发者ID:Grobik1,项目名称:gstreamer,代码行数:33,


示例9: gst_log_android_handler

static void gst_log_android_handler(GstDebugCategory *category,                 GstDebugLevel level,                 const gchar *file,                 const gchar *function,                 gint line,                 GObject *object,                 GstDebugMessage *message,                 gpointer data){    gchar *obj = NULL;    OWR_UNUSED(data);    if (level > gst_debug_category_get_threshold(category))      return;    if (GST_IS_PAD(object) && GST_OBJECT_NAME(object)) {      obj = g_strdup_printf("<%s:%s>", GST_DEBUG_PAD_NAME(object));    } else if (GST_IS_OBJECT(object)) {      obj = g_strdup_printf("<%s>", GST_OBJECT_NAME(object));    }    __android_log_print(ANDROID_LOG_INFO, "gst_log", "%p %s %s %s:%d:%s:%s %s/n",            (void *)g_thread_self(),            gst_debug_level_get_name(level), gst_debug_category_get_name(category),            file, line, function, obj ? obj : "", gst_debug_message_get(message));    g_free(obj);}
开发者ID:bill-auger,项目名称:openwebrtc,代码行数:29,


示例10: gst_index_get_writer_id

/** * gst_index_get_writer_id: * @index: the index to get a unique write id for * @writer: the GstObject to allocate an id for * @id: a pointer to a gint to hold the id * * Before entries can be added to the index, a writer * should obtain a unique id. The methods to add new entries * to the index require this id as an argument. * * The application can implement a custom function to map the writer object * to a string. That string will be used to register or look up an id * in the index. * * <note> * The caller must not hold @writer's #GST_OBJECT_LOCK, as the default * resolver may call functions that take the object lock as well, and * the lock is not recursive. * </note> * * Returns: TRUE if the writer would be mapped to an id. */gbooleangst_index_get_writer_id (GstIndex * index, GstObject * writer, gint * id){  gchar *writer_string = NULL;  GstIndexEntry *entry;  GstIndexClass *iclass;  gboolean success = FALSE;  g_return_val_if_fail (GST_IS_INDEX (index), FALSE);  g_return_val_if_fail (GST_IS_OBJECT (writer), FALSE);  g_return_val_if_fail (id, FALSE);  *id = -1;  /* first try to get a previously cached id */  entry = g_hash_table_lookup (index->writers, writer);  if (entry == NULL) {    iclass = GST_INDEX_GET_CLASS (index);    /* let the app make a string */    if (index->resolver) {      gboolean res;      res =          index->resolver (index, writer, &writer_string,          index->resolver_user_data);      if (!res)        return FALSE;    } else {      g_warning ("no resolver found");      return FALSE;    }    /* if the index has a resolver, make it map this string to an id */    if (iclass->get_writer_id) {      success = iclass->get_writer_id (index, id, writer_string);    }    /* if the index could not resolve, we allocate one ourselves */    if (!success) {      *id = ++index->last_id;    }    entry = gst_index_add_id (index, *id, writer_string);    if (!entry) {      /* index is probably not writable, make an entry anyway       * to keep it in our cache */      entry = g_slice_new (GstIndexEntry);      entry->type = GST_INDEX_ENTRY_ID;      entry->id = *id;      entry->data.id.description = writer_string;    }    g_hash_table_insert (index->writers, writer, entry);  } else {    *id = entry->id;  }  return TRUE;}
开发者ID:adesurya,项目名称:gst-mobile,代码行数:81,


示例11: gst_object_real_restore_thyself

static voidgst_object_real_restore_thyself (GstObject * object, xmlNodePtr self){  g_return_if_fail (GST_IS_OBJECT (object));  g_return_if_fail (self != NULL);  gst_class_signal_emit_by_name (object, "object_loaded", self);}
开发者ID:kuailexs,项目名称:symbiandump-mw1,代码行数:8,


示例12: gst_object_set_parent

EXPORT_C#endifgbooleangst_object_set_parent (GstObject * object, GstObject * parent){  g_return_val_if_fail (GST_IS_OBJECT (object), FALSE);  g_return_val_if_fail (GST_IS_OBJECT (parent), FALSE);  g_return_val_if_fail (object != parent, FALSE);  GST_CAT_DEBUG_OBJECT (GST_CAT_REFCOUNTING, object,      "set parent (ref and sink)");  GST_OBJECT_LOCK (object);  if (G_UNLIKELY (object->parent != NULL))    goto had_parent;  /* sink object, we don't call our own function because we don't   * need to release/acquire the lock needlessly or touch the refcount   * in the floating case. */  object->parent = parent;  if (G_LIKELY (GST_OBJECT_IS_FLOATING (object))) {    GST_CAT_LOG_OBJECT (GST_CAT_REFCOUNTING, object, "unsetting floating flag");    GST_OBJECT_FLAG_UNSET (object, GST_OBJECT_FLOATING);    GST_OBJECT_UNLOCK (object);  } else {    GST_OBJECT_UNLOCK (object);    gst_object_ref (object);  }  g_signal_emit (object, gst_object_signals[PARENT_SET], 0, parent);  return TRUE;  /* ERROR handling */had_parent:  {    GST_CAT_DEBUG_OBJECT (GST_CAT_REFCOUNTING, object,        "set parent failed, object already had a parent");    GST_OBJECT_UNLOCK (object);    return FALSE;  }}
开发者ID:kuailexs,项目名称:symbiandump-mw1,代码行数:43,


示例13: gst_object_set_name_prefix

voidgst_object_set_name_prefix (GstObject * object, const gchar * name_prefix){  g_return_if_fail (GST_IS_OBJECT (object));  GST_OBJECT_LOCK (object);  g_free (object->name_prefix);  object->name_prefix = g_strdup (name_prefix); /* NULL gives NULL */  GST_OBJECT_UNLOCK (object);}
开发者ID:AlerIl,项目名称:gstreamer0.10,代码行数:10,


示例14: gst_child_proxy_lookup

/** * gst_child_proxy_lookup: * @childproxy: child proxy object to lookup the property in * @name: name of the property to look up * @target: (out) (allow-none) (transfer full): pointer to a #GObject that *     takes the real object to set property on * @pspec: (out) (allow-none) (transfer none): pointer to take the #GParamSpec *     describing the property * * Looks up which object and #GParamSpec would be effected by the given @name. * * MT safe. * * Returns: TRUE if @target and @pspec could be found. FALSE otherwise. In that * case the values for @pspec and @target are not modified. Unref @target after * usage. For plain GObjects @target is the same as @object. */gbooleangst_child_proxy_lookup (GstChildProxy * childproxy, const gchar * name,    GObject ** target, GParamSpec ** pspec){  GObject *object;  gboolean res = FALSE;  gchar **names, **current;  g_return_val_if_fail (GST_IS_CHILD_PROXY (childproxy), FALSE);  g_return_val_if_fail (name != NULL, FALSE);  object = g_object_ref (childproxy);  current = names = g_strsplit (name, "::", -1);  /* find the owner of the property */  while (current[1]) {    GObject *next;    if (!GST_IS_CHILD_PROXY (object)) {      GST_INFO          ("object %s is not a parent, so you cannot request a child by name %s",          (GST_IS_OBJECT (object) ? GST_OBJECT_NAME (object) : ""), current[0]);      break;    }    next = gst_child_proxy_get_child_by_name (GST_CHILD_PROXY (object),        current[0]);    if (!next) {      GST_INFO ("no such object %s", current[0]);      break;    }    g_object_unref (object);    object = next;    current++;  }  /* look for psec */  if (current[1] == NULL) {    GParamSpec *spec =        g_object_class_find_property (G_OBJECT_GET_CLASS (object), current[0]);    if (spec == NULL) {      GST_INFO ("no param spec named %s", current[0]);    } else {      if (pspec)        *pspec = spec;      if (target) {        g_object_ref (object);        *target = object;      }      res = TRUE;    }  }  g_object_unref (object);  g_strfreev (names);  return res;}
开发者ID:Grobik1,项目名称:gstreamer,代码行数:72,


示例15: gst_type_find_helper

GstCaps *gst_type_find_helper (GstPad * src, guint64 size){  GstTypeFindHelperGetRangeFunction func;  g_return_val_if_fail (GST_IS_OBJECT (src), NULL);  g_return_val_if_fail (GST_PAD_GETRANGEFUNC (src) != NULL, NULL);  func = (GstTypeFindHelperGetRangeFunction) (GST_PAD_GETRANGEFUNC (src));  return gst_type_find_helper_get_range (GST_OBJECT (src), func, size, NULL);}
开发者ID:AlerIl,项目名称:gstreamer0.10,代码行数:12,


示例16: gst_object_restore_thyself

/** * gst_object_restore_thyself: * @object: a #GstObject to load into * @self: The XML node to load @object from * * Restores @object with the data from the parent XML node. */voidgst_object_restore_thyself (GstObject * object, xmlNodePtr self){  GstObjectClass *oclass;  g_return_if_fail (GST_IS_OBJECT (object));  g_return_if_fail (self != NULL);  oclass = GST_OBJECT_GET_CLASS (object);  if (oclass->restore_thyself)    oclass->restore_thyself (object, self);}
开发者ID:kuailexs,项目名称:symbiandump-mw1,代码行数:20,


示例17: rbcltgst_initialize_gst_object

voidrbcltgst_initialize_gst_object (VALUE obj, gpointer gstobj){    /* Grab the floating reference if the object is a subclass of       GstObject */    if (GST_IS_OBJECT (gstobj))    {        gst_object_ref (gstobj);        gst_object_sink (gstobj);    }    G_INITIALIZE (obj, gstobj);}
开发者ID:orospakr,项目名称:rbclutter,代码行数:13,


示例18: gst_object_get_name

/** * gst_object_get_name: * @object: a #GstObject * * Returns a copy of the name of @object. * Caller should g_free() the return value after usage. * For a nameless object, this returns NULL, which you can safely g_free() * as well. * * Free-function: g_free * * Returns: (transfer full): the name of @object. g_free() after usage. * * MT safe. This function grabs and releases @object's LOCK. */gchar *gst_object_get_name (GstObject * object){  gchar *result = NULL;  g_return_val_if_fail (GST_IS_OBJECT (object), NULL);  GST_OBJECT_LOCK (object);  result = g_strdup (object->name);  GST_OBJECT_UNLOCK (object);  return result;}
开发者ID:PeterXu,项目名称:gst-mobile,代码行数:28,


示例19: gst_object_get_parent

/** * gst_object_get_parent: * @object: a #GstObject * * Returns the parent of @object. This function increases the refcount * of the parent object so you should gst_object_unref() it after usage. * * Returns: (transfer full): parent of @object, this can be NULL if @object *   has no parent. unref after usage. * * MT safe. Grabs and releases @object's LOCK. */GstObject *gst_object_get_parent (GstObject * object){  GstObject *result = NULL;  g_return_val_if_fail (GST_IS_OBJECT (object), NULL);  GST_OBJECT_LOCK (object);  result = object->parent;  if (G_LIKELY (result))    gst_object_ref (result);  GST_OBJECT_UNLOCK (object);  return result;}
开发者ID:PeterXu,项目名称:gst-mobile,代码行数:27,


示例20: pr_helper

void pr_helper(unsigned int level,		void *object,		const char *file,		const char *function,		unsigned int line,		const char *fmt,		...){	char *tmp;	va_list args;	va_start(args, fmt);	if (vasprintf(&tmp, fmt, args) < 0)		goto leave;	if (level <= 1) {#ifdef SYSLOG		if (object && GST_IS_OBJECT(object) && GST_OBJECT_NAME(object))			syslog(log_level_to_syslog(level), "%s: %s", GST_OBJECT_NAME(object), tmp);		else			syslog(log_level_to_syslog(level), "%s", tmp);#endif		if (level == 0)			g_printerr("%s: %s/n", function, tmp);		else			g_print("%s: %s/n", function, tmp);	}	else if (level == 2)		g_print("%s:%s(%u): %s/n", file, function, line, tmp);#if defined(DEVEL) || defined(DEBUG)	else if (level == 3)		g_print("%s: %s/n", function, tmp);#endif#ifdef DEBUG	else if (level == 4)		g_print("%s:%s(%u): %s/n", file, function, line, tmp);#endif#ifndef GST_DISABLE_GST_DEBUG	gst_debug_log_valist(gstdsp_debug, log_level_to_gst(level), file, function, line, object, fmt, args);#endif	free(tmp);leave:	va_end(args);}
开发者ID:EQ4,项目名称:gst-dsp,代码行数:48,


示例21: gst_object_ref_sink

/** * gst_object_ref_sink: * @object: a #GstObject to sink * * Increase the reference count of @object, and possibly remove the floating * reference, if @object has a floating reference. * * In other words, if the object is floating, then this call "assumes ownership" * of the floating reference, converting it to a normal reference by clearing * the floating flag while leaving the reference count unchanged. If the object * is not floating, then this call adds a new normal reference increasing the * reference count by one. * * MT safe. This function grabs and releases @object lock. * * Since: 0.10.24 */voidgst_object_ref_sink (gpointer object){  g_return_if_fail (GST_IS_OBJECT (object));  GST_OBJECT_LOCK (object);  if (G_LIKELY (GST_OBJECT_IS_FLOATING (object))) {    GST_CAT_TRACE_OBJECT (GST_CAT_REFCOUNTING, object,        "unsetting floating flag");    GST_OBJECT_FLAG_UNSET (object, GST_OBJECT_FLOATING);    GST_OBJECT_UNLOCK (object);  } else {    GST_OBJECT_UNLOCK (object);    gst_object_ref (object);  }}
开发者ID:AlerIl,项目名称:gstreamer0.10,代码行数:33,


示例22: gst_object_save_thyself

/** * gst_object_save_thyself: * @object: a #GstObject to save * @parent: The parent XML node to save @object into * * Saves @object into the parent XML node. * * Returns: the new xmlNodePtr with the saved object */xmlNodePtrgst_object_save_thyself (GstObject * object, xmlNodePtr parent){  GstObjectClass *oclass;  g_return_val_if_fail (GST_IS_OBJECT (object), parent);  g_return_val_if_fail (parent != NULL, parent);  oclass = GST_OBJECT_GET_CLASS (object);  if (oclass->save_thyself)    oclass->save_thyself (object, parent);  g_signal_emit (object, gst_object_signals[OBJECT_SAVED], 0, parent);  return parent;}
开发者ID:kuailexs,项目名称:symbiandump-mw1,代码行数:26,


示例23: gst_object_get_path_string

EXPORT_C#endifgchar *gst_object_get_path_string (GstObject * object){  GSList *parentage;  GSList *parents;  void *parent;  gchar *prevpath, *path;  const gchar *typename;  gchar *component;  gchar *separator;  /* ref object before adding to list */  gst_object_ref (object);  parentage = g_slist_prepend (NULL, object);  path = g_strdup ("");  /* first walk the object hierarchy to build a list of the parents,   * be carefull here with refcounting. */  do {    if (GST_IS_OBJECT (object)) {      parent = gst_object_get_parent (object);      /* add parents to list, refcount remains increased while       * we handle the object */      if (parent)        parentage = g_slist_prepend (parentage, parent);    } else {      break;    }    object = parent;  } while (object != NULL);  /* then walk the parent list and print them out. we need to   * decrease the refcounting on each element after we handled   * it. */  for (parents = parentage; parents; parents = g_slist_next (parents)) {    if (G_IS_OBJECT (parents->data)) {      typename = G_OBJECT_TYPE_NAME (parents->data);    } else {
开发者ID:kuailexs,项目名称:symbiandump-mw1,代码行数:42,


示例24: gst_object_sink

EXPORT_C#endifvoidgst_object_sink (gpointer object){  g_return_if_fail (GST_IS_OBJECT (object));  GST_CAT_LOG_OBJECT (GST_CAT_REFCOUNTING, object, "sink");  GST_OBJECT_LOCK (object);  if (G_LIKELY (GST_OBJECT_IS_FLOATING (object))) {    GST_CAT_LOG_OBJECT (GST_CAT_REFCOUNTING, object, "clear floating flag");    GST_OBJECT_FLAG_UNSET (object, GST_OBJECT_FLOATING);    GST_OBJECT_UNLOCK (object);    gst_object_unref (object);  } else {    GST_OBJECT_UNLOCK (object);  }}
开发者ID:kuailexs,项目名称:symbiandump-mw1,代码行数:20,


示例25: gst_child_proxy_default_get_child_by_name

static GObject *gst_child_proxy_default_get_child_by_name (GstChildProxy * parent,    const gchar * name){  guint count, i;  GObject *object, *result;  gchar *object_name;  g_return_val_if_fail (GST_IS_CHILD_PROXY (parent), NULL);  g_return_val_if_fail (name != NULL, NULL);  result = NULL;  count = gst_child_proxy_get_children_count (parent);  for (i = 0; i < count; i++) {    gboolean eq;    if (!(object = gst_child_proxy_get_child_by_index (parent, i)))      continue;    if (!GST_IS_OBJECT (object)) {      goto next;    }    object_name = gst_object_get_name (GST_OBJECT_CAST (object));    if (object_name == NULL) {      g_warning ("child %u of parent %s has no name", i,          GST_OBJECT_NAME (parent));      goto next;    }    eq = g_str_equal (object_name, name);    g_free (object_name);    if (eq) {      result = object;      break;    }  next:    g_object_unref (object);  }  return result;}
开发者ID:Grobik1,项目名称:gstreamer,代码行数:41,


示例26: gst_object_unparent

/** * gst_object_unparent: * @object: a #GstObject to unparent * * Clear the parent of @object, removing the associated reference. * This function decreases the refcount of @object. * * MT safe. Grabs and releases @object's lock. */voidgst_object_unparent (GstObject * object){  GstObject *parent;  g_return_if_fail (GST_IS_OBJECT (object));  GST_OBJECT_LOCK (object);  parent = object->parent;  if (G_LIKELY (parent != NULL)) {    GST_CAT_TRACE_OBJECT (GST_CAT_REFCOUNTING, object, "unparent");    object->parent = NULL;    GST_OBJECT_UNLOCK (object);    /* g_object_notify_by_pspec ((GObject *)object, properties[PROP_PARENT]); */    gst_object_unref (object);  } else {    GST_OBJECT_UNLOCK (object);  }}
开发者ID:PeterXu,项目名称:gst-mobile,代码行数:31,


示例27: _determine_reporting_level

static void_determine_reporting_level (GstValidateMonitor * monitor){  GstValidateRunner *runner;  GstObject *object, *parent;  gchar *object_name;  GstValidateReportingDetails level = GST_VALIDATE_SHOW_UNKNOWN;  object = gst_validate_monitor_get_target (monitor);  runner = gst_validate_reporter_get_runner (GST_VALIDATE_REPORTER (monitor));  do {    if (!GST_IS_OBJECT (object))      break;    /* Let's allow for singling out pads */    if (GST_IS_PAD (object)) {      level = _get_report_level_for_pad (runner, object);      if (level != GST_VALIDATE_SHOW_UNKNOWN)        break;    }    object_name = gst_object_get_name (object);    level = gst_validate_runner_get_reporting_level_for_name (runner,        object_name);    parent = gst_object_get_parent (object);    gst_object_unref (object);    object = parent;    g_free (object_name);  } while (object && level == GST_VALIDATE_SHOW_UNKNOWN);  if (object)    gst_object_unref (object);  if (runner)    gst_object_unref (runner);  monitor->level = level;}
开发者ID:thiblahute,项目名称:gst-devtools,代码行数:39,



注:本文中的GST_IS_OBJECT函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ GST_IS_RTSP_MEDIA_FACTORY函数代码示例
C++ GST_IS_EVENT函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。