mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-27 09:38:17 +00:00
audioclock: add a function to invalidate the clock
Add a function to invalidate the time function of a clock. Useful for when the function becomes invalid.
This commit is contained in:
parent
5f5c52cbc5
commit
c7972692d3
3 changed files with 32 additions and 0 deletions
|
@ -111,6 +111,7 @@ gst_audio_clock_new_full
|
||||||
gst_audio_clock_adjust
|
gst_audio_clock_adjust
|
||||||
gst_audio_clock_get_time
|
gst_audio_clock_get_time
|
||||||
gst_audio_clock_reset
|
gst_audio_clock_reset
|
||||||
|
gst_audio_clock_invalidate
|
||||||
<SUBSECTION Standard>
|
<SUBSECTION Standard>
|
||||||
GstAudioClockClass
|
GstAudioClockClass
|
||||||
GST_AUDIO_CLOCK
|
GST_AUDIO_CLOCK
|
||||||
|
|
|
@ -201,6 +201,12 @@ gst_audio_clock_reset (GstAudioClock * clock, GstClockTime time)
|
||||||
GST_TIME_ARGS (time_offset));
|
GST_TIME_ARGS (time_offset));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static GstClockTime
|
||||||
|
gst_audio_clock_func_invalid (GstClock * clock, gpointer user_data)
|
||||||
|
{
|
||||||
|
return GST_CLOCK_TIME_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
static GstClockTime
|
static GstClockTime
|
||||||
gst_audio_clock_get_internal_time (GstClock * clock)
|
gst_audio_clock_get_internal_time (GstClock * clock)
|
||||||
{
|
{
|
||||||
|
@ -283,3 +289,26 @@ gst_audio_clock_adjust (GstClock * clock, GstClockTime time)
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gst_audio_clock_invalidate:
|
||||||
|
* @clock: a #GstAudioClock
|
||||||
|
*
|
||||||
|
* Invalidate the clock function. Call this function when the provided
|
||||||
|
* #GstAudioClockGetTimeFunc cannot be called anymore, for example, when the
|
||||||
|
* user_data becomes invalid.
|
||||||
|
*
|
||||||
|
* After calling this function, @clock will return the last returned time for
|
||||||
|
* the rest of its lifetime.
|
||||||
|
*
|
||||||
|
* Since: 0.10.31
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
gst_audio_clock_invalidate (GstClock * clock)
|
||||||
|
{
|
||||||
|
GstAudioClock *aclock;
|
||||||
|
|
||||||
|
aclock = GST_AUDIO_CLOCK_CAST (clock);
|
||||||
|
|
||||||
|
aclock->func = gst_audio_clock_func_invalid;
|
||||||
|
}
|
||||||
|
|
|
@ -101,6 +101,8 @@ void gst_audio_clock_reset (GstAudioClock *clock, GstClockT
|
||||||
GstClockTime gst_audio_clock_get_time (GstClock * clock);
|
GstClockTime gst_audio_clock_get_time (GstClock * clock);
|
||||||
GstClockTime gst_audio_clock_adjust (GstClock * clock, GstClockTime time);
|
GstClockTime gst_audio_clock_adjust (GstClock * clock, GstClockTime time);
|
||||||
|
|
||||||
|
void gst_audio_clock_invalidate (GstClock * clock);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* __GST_AUDIO_CLOCK_H__ */
|
#endif /* __GST_AUDIO_CLOCK_H__ */
|
||||||
|
|
Loading…
Reference in a new issue