summaryrefslogtreecommitdiffstats
path: root/gst-libs/gst/audio/audioclock.c
diff options
context:
space:
mode:
authorThomas Vander Stichele <thomas@apestaart.org>2004-03-14 22:34:33 +0000
committerThomas Vander Stichele <thomas@apestaart.org>2004-03-14 22:34:33 +0000
commit7a778ee4b7ec09a1f5b2185c9cceee3910dfbdf2 (patch)
treef863b467dea9559a6ec9c48affbfae11f8104164 /gst-libs/gst/audio/audioclock.c
parenta19db4bbdc4a15ea0d8f4d28e9a1302c9c3d1657 (diff)
downloadgst-plugins-bad-7a778ee4b7ec09a1f5b2185c9cceee3910dfbdf2.tar.gz
gst-plugins-bad-7a778ee4b7ec09a1f5b2185c9cceee3910dfbdf2.tar.bz2
gst-plugins-bad-7a778ee4b7ec09a1f5b2185c9cceee3910dfbdf2.zip
gst-indent
Original commit message from CVS: gst-indent
Diffstat (limited to 'gst-libs/gst/audio/audioclock.c')
-rw-r--r--gst-libs/gst/audio/audioclock.c90
1 files changed, 46 insertions, 44 deletions
diff --git a/gst-libs/gst/audio/audioclock.c b/gst-libs/gst/audio/audioclock.c
index 77c7e576..d6d1da45 100644
--- a/gst-libs/gst/audio/audioclock.c
+++ b/gst-libs/gst/audio/audioclock.c
@@ -26,23 +26,24 @@
#include "audioclock.h"
-static void gst_audio_clock_class_init (GstAudioClockClass *klass);
-static void gst_audio_clock_init (GstAudioClock *clock);
+static void gst_audio_clock_class_init (GstAudioClockClass * klass);
+static void gst_audio_clock_init (GstAudioClock * clock);
-static GstClockTime gst_audio_clock_get_internal_time (GstClock *clock);
-static GstClockReturn gst_audio_clock_id_wait_async (GstClock *clock,
- GstClockEntry *entry);
-static void gst_audio_clock_id_unschedule (GstClock *clock,
- GstClockEntry *entry);
+static GstClockTime gst_audio_clock_get_internal_time (GstClock * clock);
+static GstClockReturn gst_audio_clock_id_wait_async (GstClock * clock,
+ GstClockEntry * entry);
+static void gst_audio_clock_id_unschedule (GstClock * clock,
+ GstClockEntry * entry);
static GstSystemClockClass *parent_class = NULL;
+
/* static guint gst_audio_clock_signals[LAST_SIGNAL] = { 0 }; */
-
+
GType
gst_audio_clock_get_type (void)
-{
+{
static GType clock_type = 0;
-
+
if (!clock_type) {
static const GTypeInfo clock_info = {
sizeof (GstAudioClockClass),
@@ -57,32 +58,32 @@ gst_audio_clock_get_type (void)
NULL
};
clock_type = g_type_register_static (GST_TYPE_SYSTEM_CLOCK, "GstAudioClock",
- &clock_info, 0);
+ &clock_info, 0);
}
return clock_type;
}
static void
-gst_audio_clock_class_init (GstAudioClockClass *klass)
+gst_audio_clock_class_init (GstAudioClockClass * klass)
{
GObjectClass *gobject_class;
GstObjectClass *gstobject_class;
GstClockClass *gstclock_class;
- gobject_class = (GObjectClass*) klass;
- gstobject_class = (GstObjectClass*) klass;
- gstclock_class = (GstClockClass*) klass;
+ gobject_class = (GObjectClass *) klass;
+ gstobject_class = (GstObjectClass *) klass;
+ gstclock_class = (GstClockClass *) klass;
parent_class = g_type_class_ref (GST_TYPE_SYSTEM_CLOCK);
- gstclock_class->get_internal_time = gst_audio_clock_get_internal_time;
- gstclock_class->wait_async = gst_audio_clock_id_wait_async;
- gstclock_class->unschedule = gst_audio_clock_id_unschedule;
+ gstclock_class->get_internal_time = gst_audio_clock_get_internal_time;
+ gstclock_class->wait_async = gst_audio_clock_id_wait_async;
+ gstclock_class->unschedule = gst_audio_clock_id_unschedule;
}
static void
-gst_audio_clock_init (GstAudioClock *clock)
+gst_audio_clock_init (GstAudioClock * clock)
{
gst_object_set_name (GST_OBJECT (clock), "GstAudioClock");
@@ -90,20 +91,22 @@ gst_audio_clock_init (GstAudioClock *clock)
clock->prev2 = 0;
}
-GstClock*
-gst_audio_clock_new (gchar *name, GstAudioClockGetTimeFunc func, gpointer user_data)
+GstClock *
+gst_audio_clock_new (gchar * name, GstAudioClockGetTimeFunc func,
+ gpointer user_data)
{
- GstAudioClock *aclock = GST_AUDIO_CLOCK (g_object_new (GST_TYPE_AUDIO_CLOCK, NULL));
+ GstAudioClock *aclock =
+ GST_AUDIO_CLOCK (g_object_new (GST_TYPE_AUDIO_CLOCK, NULL));
aclock->func = func;
aclock->user_data = user_data;
aclock->adjust = 0;
- return (GstClock*)aclock;
+ return (GstClock *) aclock;
}
void
-gst_audio_clock_set_active (GstAudioClock *aclock, gboolean active)
+gst_audio_clock_set_active (GstAudioClock * aclock, gboolean active)
{
GstClockTime time;
GstClock *clock;
@@ -117,8 +120,9 @@ gst_audio_clock_set_active (GstAudioClock *aclock, gboolean active)
aclock->adjust = time - aclock->func (clock, aclock->user_data);
} else {
GTimeVal timeval;
+
g_get_current_time (&timeval);
-
+
aclock->adjust = GST_TIMEVAL_TO_TIME (timeval) - time;
}
@@ -126,22 +130,22 @@ gst_audio_clock_set_active (GstAudioClock *aclock, gboolean active)
}
static GstClockTime
-gst_audio_clock_get_internal_time (GstClock *clock)
+gst_audio_clock_get_internal_time (GstClock * clock)
{
GstAudioClock *aclock = GST_AUDIO_CLOCK (clock);
-
+
if (aclock->active) {
return aclock->func (clock, aclock->user_data) + aclock->adjust;
} else {
GTimeVal timeval;
-
+
g_get_current_time (&timeval);
return GST_TIMEVAL_TO_TIME (timeval);
}
}
void
-gst_audio_clock_update_time (GstAudioClock *aclock, GstClockTime time)
+gst_audio_clock_update_time (GstAudioClock * aclock, GstClockTime time)
{
/* I don't know of a purpose in updating these; perhaps they can be removed */
aclock->prev2 = aclock->prev1;
@@ -150,43 +154,41 @@ gst_audio_clock_update_time (GstAudioClock *aclock, GstClockTime time)
/* FIXME: the wait_async subsystem should be made threadsafe, but I don't want
* to lock and unlock a mutex on every iteration... */
while (aclock->async_entries) {
- GstClockEntry *entry = (GstClockEntry*)aclock->async_entries->data;
-
+ GstClockEntry *entry = (GstClockEntry *) aclock->async_entries->data;
+
if (entry->time > time)
break;
- entry->func ((GstClock*)aclock, time, entry, entry->user_data);
+ entry->func ((GstClock *) aclock, time, entry, entry->user_data);
aclock->async_entries = g_slist_delete_link (aclock->async_entries,
- aclock->async_entries);
+ aclock->async_entries);
/* do I need to free the entry? */
}
}
static gint
-compare_clock_entries (GstClockEntry *entry1, GstClockEntry *entry2)
+compare_clock_entries (GstClockEntry * entry1, GstClockEntry * entry2)
{
return entry1->time - entry2->time;
}
static GstClockReturn
-gst_audio_clock_id_wait_async (GstClock *clock, GstClockEntry *entry)
+gst_audio_clock_id_wait_async (GstClock * clock, GstClockEntry * entry)
{
- GstAudioClock *aclock = (GstAudioClock*)clock;
-
+ GstAudioClock *aclock = (GstAudioClock *) clock;
+
aclock->async_entries = g_slist_insert_sorted (aclock->async_entries,
- entry,
- (GCompareFunc)compare_clock_entries);
+ entry, (GCompareFunc) compare_clock_entries);
/* is this the proper return val? */
return GST_CLOCK_EARLY;
}
static void
-gst_audio_clock_id_unschedule (GstClock *clock, GstClockEntry *entry)
+gst_audio_clock_id_unschedule (GstClock * clock, GstClockEntry * entry)
{
- GstAudioClock *aclock = (GstAudioClock*)clock;
-
- aclock->async_entries = g_slist_remove (aclock->async_entries,
- entry);
+ GstAudioClock *aclock = (GstAudioClock *) clock;
+
+ aclock->async_entries = g_slist_remove (aclock->async_entries, entry);
}