コード例 #1
0
ファイル: hls_demux.c プロジェクト: asrashley/gst-plugins-bad
static void
hlsdemux_test_check_no_data_received (GstAdaptiveDemuxTestEngine
    * engine, GstAdaptiveDemuxTestOutputStream * stream, gpointer user_data)
{
  assert_equals_uint64 (stream->total_received_size, 0);
  g_main_loop_quit (engine->loop);
}
コード例 #2
0
ファイル: timelineedition.c プロジェクト: vliaskov/PitiviGes
static void
deep_check (GESTimelineElement * element, GstClockTime start,
    GstClockTime inpoint, GstClockTime duration)
{
  GList *track_elements, *tmp;
  GstClockTime rstart, rinpoint, rduration;

  rstart = ges_timeline_element_get_start (GES_TIMELINE_ELEMENT (element));
  rinpoint = ges_timeline_element_get_inpoint (GES_TIMELINE_ELEMENT (element));
  rduration =
      ges_timeline_element_get_duration (GES_TIMELINE_ELEMENT (element));

  assert_equals_uint64 (rstart, start);
  assert_equals_uint64 (rinpoint, inpoint);
  assert_equals_uint64 (rduration, duration);

  track_elements = GES_CONTAINER_CHILDREN (element);
  for (tmp = track_elements; tmp; tmp = tmp->next) {
    rstart = ges_timeline_element_get_start (GES_TIMELINE_ELEMENT (tmp->data));
    rinpoint =
        ges_timeline_element_get_inpoint (GES_TIMELINE_ELEMENT (tmp->data));
    rduration =
        ges_timeline_element_get_duration (GES_TIMELINE_ELEMENT (tmp->data));
    assert_equals_uint64 (rstart, start);
    assert_equals_uint64 (rinpoint, inpoint);
    assert_equals_uint64 (rduration, duration);
  }
}
コード例 #3
0
static void
do_test_seek (GstM3U8Client * client, guint seek_pos, gint pos)
{
  GstClockTime cur_pos;
  gboolean ret;

  ret = gst_m3u8_client_seek (client, seek_pos * GST_SECOND);
  if (pos == -1) {
    assert_equals_int (ret, FALSE);
    return;
  }
  assert_equals_int (ret, TRUE);
  gst_m3u8_client_get_current_position (client, &cur_pos, NULL);
  assert_equals_uint64 (cur_pos, pos * GST_SECOND);
}
コード例 #4
0
ファイル: uriclip.c プロジェクト: lubosz/gst-editing-services
static void
asset_created_cb (GObject * source, GAsyncResult * res, gpointer udata)
{
  GList *tracks, *tmp;
  GESAsset *asset;
  GESLayer *layer;
  GESUriClip *tlfs;

  GError *error = NULL;

  asset = ges_asset_request_finish (res, &error);
  ASSERT_OBJECT_REFCOUNT (asset, "1 for us + for the cache + 1 taken "
      "by g_simple_async_result_complete_in_idle", 3);
  fail_unless (error == NULL);
  fail_if (asset == NULL);
  fail_if (g_strcmp0 (ges_asset_get_id (asset), av_uri));

  layer = GES_LAYER (g_async_result_get_user_data (res));
  tlfs = GES_URI_CLIP (ges_layer_add_asset (layer,
          asset, 0, 0, GST_CLOCK_TIME_NONE, GES_TRACK_TYPE_UNKNOWN));
  fail_unless (GES_IS_URI_CLIP (tlfs));
  fail_if (g_strcmp0 (ges_uri_clip_get_uri (tlfs), av_uri));
  assert_equals_uint64 (_DURATION (tlfs), GST_SECOND);

  fail_unless (ges_clip_get_supported_formats
      (GES_CLIP (tlfs)) & GES_TRACK_TYPE_VIDEO);
  fail_unless (ges_clip_get_supported_formats
      (GES_CLIP (tlfs)) & GES_TRACK_TYPE_AUDIO);

  tracks = ges_timeline_get_tracks (ges_layer_get_timeline (layer));
  for (tmp = tracks; tmp; tmp = tmp->next) {
    GList *trackelements = ges_track_get_elements (GES_TRACK (tmp->data));

    assert_equals_int (g_list_length (trackelements), 1);
    fail_unless (GES_IS_VIDEO_URI_SOURCE (trackelements->data)
        || GES_IS_AUDIO_URI_SOURCE (trackelements->data));
    g_list_free_full (trackelements, gst_object_unref);
  }
  g_list_free_full (tracks, gst_object_unref);

  gst_object_unref (asset);
  g_main_loop_quit (mainloop);
}