Ejemplo n.º 1
0
/* fixme: do something about this */
static void
marshal_VOID__MINIOBJECT (GClosure * closure, GValue * return_value,
    guint n_param_values, const GValue * param_values, gpointer invocation_hint,
    gpointer marshal_data)
{
  typedef void (*marshalfunc_VOID__MINIOBJECT) (gpointer obj, gpointer arg1,
      gpointer data2);
  register marshalfunc_VOID__MINIOBJECT callback;
  register GCClosure *cc = (GCClosure *) closure;
  register gpointer data1, data2;

  g_return_if_fail (n_param_values == 2);

  if (G_CCLOSURE_SWAP_DATA (closure)) {
    data1 = closure->data;
    data2 = g_value_peek_pointer (param_values + 0);
  } else {
    data1 = g_value_peek_pointer (param_values + 0);
    data2 = closure->data;
  }
  callback =
      (marshalfunc_VOID__MINIOBJECT) (marshal_data ? marshal_data :
      cc->callback);

  callback (data1, gst_value_get_mini_object (param_values + 1), data2);
}
/**
 * gst_video_buffer_get_overlay_composition:
 * @buf: a #GstBuffer
 *
 * Get the overlay composition that has previously been attached to a buffer
 * with gst_video_buffer_get_overlay_composition(), usually by another element
 * upstream.
 *
 * Returns: (transfer none): the #GstVideoOverlayComposition attached to
 *    this buffer, or NULL. Does not return a reference to the composition,
 *    caller must obtain her own ref via gst_video_overlay_composition_ref()
 *    if needed.
 *
 * Since: 0.10.36
 */
GstVideoOverlayComposition *
gst_video_buffer_get_overlay_composition (GstBuffer * buf)
{
    const GstStructure *s;
    const GValue *val;

    s = gst_buffer_get_qdata (buf, GST_OVERLAY_COMPOSITION_QUARK);
    if (s == NULL)
        return NULL;

    val = gst_structure_id_get_value (s, COMPOSITION_QUARK);
    if (val == NULL)
        return NULL;

    return GST_VIDEO_OVERLAY_COMPOSITION (gst_value_get_mini_object (val));
}
Ejemplo n.º 3
0
static void webkitVideoSinkMarshalVoidAndMiniObject(GClosure* closure, GValue*, guint parametersNumber, const GValue* parameterValues, gpointer, gpointer marshalData)
{
    typedef void (*marshalfunc_VOID__MINIOBJECT) (gpointer obj, gpointer arg1, gpointer data2);
    marshalfunc_VOID__MINIOBJECT callback;
    GCClosure* cclosure = reinterpret_cast<GCClosure*>(closure);
    gpointer data1, data2;

    g_return_if_fail(parametersNumber == 2);

    if (G_CCLOSURE_SWAP_DATA(closure)) {
        data1 = closure->data;
        data2 = g_value_peek_pointer(parameterValues + 0);
    } else {
        data1 = g_value_peek_pointer(parameterValues + 0);
        data2 = closure->data;
    }

    callback = (marshalfunc_VOID__MINIOBJECT) (marshalData ? marshalData : cclosure->callback);
    callback(data1, gst_value_get_mini_object(parameterValues + 1), data2);
}
Ejemplo n.º 4
0
static void
my_foo_set_property (GObject * object, guint prop_id, const GValue * value,
    GParamSpec * pspec)
{
  GstMiniObject *mini_obj;

  g_assert (prop_id == PROP_BUFFER);

  mini_obj = gst_value_get_mini_object (value);
  g_assert (GST_IS_MINI_OBJECT (mini_obj));
  g_assert (GST_IS_BUFFER (mini_obj));

#if 0
  /* gst_value_dup_mini_object() does not exist yet */
  mini_obj = gst_value_dup_mini_object (value);
  g_assert (GST_IS_MINI_OBJECT (mini_obj));
  g_assert (GST_IS_BUFFER (mini_obj));
  gst_mini_object_unref (mini_obj);
#endif
}
Ejemplo n.º 5
0
static void
gst_logoinsert_set_property (GObject * object, guint prop_id,
    const GValue * value, GParamSpec * pspec)
{
  GstLogoinsert *src;

  g_return_if_fail (GST_IS_LOGOINSERT (object));
  src = GST_LOGOINSERT (object);

  GST_DEBUG ("gst_logoinsert_set_property");
  switch (prop_id) {
    case ARG_LOCATION:
      gst_logoinsert_set_location (src, g_value_get_string (value));
      break;
    case ARG_DATA:
      gst_logoinsert_set_data (src,
          (GstBuffer *) gst_value_get_mini_object (value));
      break;
    default:
      break;
  }
}