mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-20 15:27:07 +00:00
357e7c7b02
We need different export decorators for the different libs. For now no actual change though, just rename before the release, and add prelude headers to define the new decorator to GST_EXPORT.
140 lines
4.6 KiB
C
140 lines
4.6 KiB
C
/* GstTestClock - A deterministic clock for GStreamer unit tests
|
|
*
|
|
* Copyright (C) 2008 Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
|
|
* Copyright (C) 2012 Sebastian Rasmussen <sebastian.rasmussen@axis.com>
|
|
* Copyright (C) 2012 Havard Graff <havard@pexip.com>
|
|
* Copyright (C) 2013 Haakon Sporsheim <haakon@pexip.com>
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Library General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Library General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Library General Public
|
|
* License along with this library; if not, write to the
|
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
* Boston, MA 02111-1307, USA.
|
|
*/
|
|
|
|
#ifndef __GST_TEST_CLOCK_H__
|
|
#define __GST_TEST_CLOCK_H__
|
|
|
|
#include <gst/gst.h>
|
|
#include <gst/check/check-prelude.h>
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
#define GST_TYPE_TEST_CLOCK (gst_test_clock_get_type ())
|
|
#define GST_TEST_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
|
|
GST_TYPE_TEST_CLOCK, GstTestClock))
|
|
#define GST_IS_TEST_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj),\
|
|
GST_TYPE_TEST_CLOCK))
|
|
#define GST_TEST_CLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),\
|
|
GST_TYPE_TEST_CLOCK, GstTestClockClass))
|
|
#define GST_IS_TEST_CLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE (\
|
|
(klass), GST_TYPE_TEST_CLOCK))
|
|
#define GST_TEST_CLOCK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS (\
|
|
(obj), GST_TYPE_TEST_CLOCK, GstTestClockClass))
|
|
#define GST_TEST_CLOCK_CAST(obj) ((GstTestClock*)(obj))
|
|
|
|
typedef struct _GstTestClock GstTestClock;
|
|
typedef struct _GstTestClockClass GstTestClockClass;
|
|
typedef struct _GstTestClockPrivate GstTestClockPrivate;
|
|
|
|
/**
|
|
* GstTestClock:
|
|
*
|
|
* A #GstTestClock structure which is based on a #GstClock along with some
|
|
* private data.
|
|
*
|
|
* Since: 1.2
|
|
*/
|
|
struct _GstTestClock
|
|
{
|
|
GstClock parent;
|
|
|
|
/*< private >*/
|
|
GstTestClockPrivate *priv;
|
|
};
|
|
|
|
/**
|
|
* GstTestClockClass:
|
|
* @parent_class: the parent class structure
|
|
*
|
|
* The class of a #GstTestClock, which has no virtual methods to override.
|
|
*
|
|
* Since: 1.2
|
|
*/
|
|
struct _GstTestClockClass
|
|
{
|
|
GstClockClass parent_class;
|
|
};
|
|
|
|
GST_CHECK_API
|
|
GType gst_test_clock_get_type (void);
|
|
|
|
GST_CHECK_API
|
|
GstClock * gst_test_clock_new (void);
|
|
|
|
GST_CHECK_API
|
|
GstClock * gst_test_clock_new_with_start_time (GstClockTime start_time);
|
|
|
|
GST_CHECK_API
|
|
void gst_test_clock_set_time (GstTestClock * test_clock,
|
|
GstClockTime new_time);
|
|
|
|
GST_CHECK_API
|
|
void gst_test_clock_advance_time (GstTestClock * test_clock,
|
|
GstClockTimeDiff delta);
|
|
|
|
GST_CHECK_API
|
|
guint gst_test_clock_peek_id_count (GstTestClock * test_clock);
|
|
|
|
GST_CHECK_API
|
|
gboolean gst_test_clock_has_id (GstTestClock * test_clock, GstClockID id);
|
|
|
|
GST_CHECK_API
|
|
gboolean gst_test_clock_peek_next_pending_id (GstTestClock * test_clock,
|
|
GstClockID * pending_id);
|
|
|
|
GST_CHECK_API
|
|
void gst_test_clock_wait_for_next_pending_id (GstTestClock * test_clock,
|
|
GstClockID * pending_id);
|
|
|
|
GST_DEPRECATED_FOR(gst_test_clock_wait_for_multiple_pending_ids)
|
|
void gst_test_clock_wait_for_pending_id_count (GstTestClock * test_clock,
|
|
guint count);
|
|
|
|
GST_CHECK_API
|
|
GstClockID gst_test_clock_process_next_clock_id (GstTestClock * test_clock);
|
|
|
|
GST_CHECK_API
|
|
GstClockTime gst_test_clock_get_next_entry_time (GstTestClock * test_clock);
|
|
|
|
GST_CHECK_API
|
|
void gst_test_clock_wait_for_multiple_pending_ids (GstTestClock * test_clock,
|
|
guint count,
|
|
GList ** pending_list);
|
|
|
|
GST_CHECK_API
|
|
guint gst_test_clock_process_id_list (GstTestClock * test_clock,
|
|
const GList * pending_list);
|
|
|
|
GST_CHECK_API
|
|
GstClockTime gst_test_clock_id_list_get_latest_time (const GList * pending_list);
|
|
|
|
GST_CHECK_API
|
|
gboolean gst_test_clock_crank (GstTestClock * test_clock);
|
|
|
|
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
|
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstTestClock, gst_object_unref)
|
|
#endif
|
|
|
|
G_END_DECLS
|
|
|
|
#endif /* __GST_TEST_CLOCK_H__ */
|