コード例 #1
0
ファイル: kmsstats.c プロジェクト: Deevjee/kms-core
static void
buffer_latency_probe_cb (GstBuffer * buffer, ProbeData * pdata)
{
  BufferLatencyValues *blv = (BufferLatencyValues *) pdata->invoke_data;
  GstClockTime time;

  time = kms_utils_get_time_nsecs ();

  kms_buffer_add_buffer_latency_meta (buffer, time, blv->valid, blv->type);
}
コード例 #2
0
ファイル: metadata.c プロジェクト: DavidYangfei/kms-core
static GstPadProbeReturn
add_metadata_data (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
{
  GstClockTime time;
  GstBuffer *buffer;

  buffer = GST_PAD_PROBE_INFO_BUFFER (info);

  time = g_get_monotonic_time () * GST_USECOND;

  kms_buffer_add_buffer_latency_meta (buffer, time, TRUE,
      0 /*No matter media type */ );

  return GST_PAD_PROBE_OK;
}
コード例 #3
0
static gboolean
kms_buffer_latency_meta_transform (GstBuffer * transbuf, GstMeta * meta,
    GstBuffer * buffer, GQuark type, gpointer data)
{
  KmsBufferLatencyMeta *lmeta;

  /* we always copy no matter what transform */
  if (GST_META_TRANSFORM_IS_COPY (type)) {
    lmeta = (KmsBufferLatencyMeta *) meta;

    GST_DEBUG ("copy latency metadata");
    kms_buffer_add_buffer_latency_meta (transbuf, lmeta->ts, lmeta->valid,
        lmeta->type);
  }

  return TRUE;
}