GST_STATIC_CAPS and GstMiniObject in 0.11

Matej Knopp matej.knopp at inmethod.com
Tue Oct 25 04:54:34 PDT 2011


Hi,

in 0.11 GstMiniObject is defined like this

struct _GstMiniObject {
  GType   type;

  /*< public >*/ /* with COW */
  gint    refcount;
  guint   flags;
  gsize   size;

  GstMiniObjectCopyFunction copy;
  GstMiniObjectDisposeFunction dispose;
  GstMiniObjectFreeFunction free;

  /* < private > */
  /* Used to keep track of weak ref notifies */
  guint n_weak_refs;
  struct
  {
    GstMiniObjectWeakNotify notify;
    gpointer data;
  } *weak_refs;
};

and

#define GST_STATIC_CAPS(string) \
{ \
  /* miniobject */ { { 0, 0, 0, 0, NULL, NULL, NULL }, \
  /* caps */ NULL }, \
  /* string */ string, \
  GST_PADDING_INIT \
}
doesn't initialize the n_weak_refs and weak_refs fields. Is that
intentional? Shouldn't the macro be updated to

#define GST_STATIC_CAPS(string) \
{ \
  /* miniobject */ { { 0, 0, 0, 0, NULL, NULL, NULL, 0, NULL }, \
  /* caps */ NULL }, \
  /* string */ string, \
  GST_PADDING_INIT \
}
?

-Matej


More information about the gstreamer-devel mailing list