diff options
author | Benjamin Otte <otte@gnome.org> | 2004-01-14 00:53:52 +0000 |
---|---|---|
committer | Benjamin Otte <otte@gnome.org> | 2004-01-14 00:53:52 +0000 |
commit | 9a9f767369ed4ddc8803e62bfcdb9403813220d5 (patch) | |
tree | 46d7e710a9ae199b81fe480b33e21223c778176b /ext | |
parent | f4c6604e6c4295d1c580860386f7e69ea50dcdaa (diff) |
use element time.
Original commit message from CVS:
2004-01-14 Benjamin Otte <in7y118@public.uni-hamburg.de>
* ext/aalib/gstaasink.c: (gst_aasink_chain):
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event):
* ext/esd/esdsink.c: (gst_esdsink_chain):
* ext/libcaca/gstcacasink.c: (gst_cacasink_chain):
* ext/mas/massink.c: (gst_massink_chain):
* ext/sdl/sdlvideosink.c: (gst_sdlvideosink_chain):
* gst/matroska/matroska-demux.c: (gst_matroska_demux_parse_index),
(gst_matroska_demux_parse_metadata):
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_loop),
(gst_mpeg_parse_release_locks):
* gst/tcp/gsttcpsink.c: (gst_tcpsink_chain):
* gst/udp/gstudpsink.c: (gst_udpsink_chain):
* gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get):
* sys/oss/gstosssink.c: (gst_osssink_init), (gst_osssink_chain),
(gst_osssink_change_state):
* sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_chain):
* sys/ximage/ximagesink.c: (gst_ximagesink_chain):
* sys/xvideo/xvideosink.c: (gst_xvideosink_chain),
(gst_xvideosink_release_locks):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain):
use element time.
* ext/alsa/gstalsaclock.c: (gst_alsa_clock_start),
(gst_alsa_clock_stop):
* gst-libs/gst/audio/audioclock.c: (gst_audio_clock_set_active),
(gst_audio_clock_get_internal_time):
simplify for use with new clocking code.
* testsuite/alsa/Makefile.am:
* testsuite/alsa/sinesrc.c: (sinesrc_init), (sinesrc_force_caps):
fix testsuite for new caps system
Diffstat (limited to 'ext')
-rw-r--r-- | ext/aalib/gstaasink.c | 6 | ||||
-rw-r--r-- | ext/esd/esdsink.c | 21 | ||||
-rw-r--r-- | ext/libcaca/gstcacasink.c | 12 |
3 files changed, 7 insertions, 32 deletions
diff --git a/ext/aalib/gstaasink.c b/ext/aalib/gstaasink.c index 74cd167d..521bb713 100644 --- a/ext/aalib/gstaasink.c +++ b/ext/aalib/gstaasink.c @@ -356,10 +356,8 @@ gst_aasink_chain (GstPad *pad, GstData *_data) GST_DEBUG ("videosink: clock wait: %" G_GUINT64_FORMAT, GST_BUFFER_TIMESTAMP(buf)); - if (aasink->clock) { - GstClockID id = gst_clock_new_single_shot_id (aasink->clock, GST_BUFFER_TIMESTAMP(buf)); - gst_element_clock_wait (GST_ELEMENT (aasink), id, NULL); - gst_clock_id_free (id); + if (aasink->clock && GST_BUFFER_TIMESTAMP_IS_VALID (buf)) { + gst_element_wait (GST_ELEMENT (aasink), GST_BUFFER_TIMESTAMP (buf)); } aa_render (aasink->context, &aasink->ascii_parms, diff --git a/ext/esd/esdsink.c b/ext/esd/esdsink.c index f6c46222..1ea55453 100644 --- a/ext/esd/esdsink.c +++ b/ext/esd/esdsink.c @@ -280,10 +280,7 @@ gst_esdsink_chain (GstPad *pad, GstData *_data) gint64 value; if (gst_event_discont_get_value (event, GST_FORMAT_TIME, &value)) { - if (!gst_clock_handle_discont (esdsink->clock, value)){ - gst_audio_clock_set_active (GST_AUDIO_CLOCK (esdsink->provided_clock), - FALSE); - } + gst_element_set_time (GST_ELEMENT (esdsink), value); esdsink->handled = 0; } esdsink->resync = TRUE; @@ -306,25 +303,13 @@ gst_esdsink_chain (GstPad *pad, GstData *_data) if (esdsink->clock){ gint delay = 0; gint64 queued; - GstClockTimeDiff jitter; delay = gst_esdsink_get_latency (esdsink); queued = delay * GST_SECOND / esdsink->frequency; if (esdsink->resync && esdsink->sync) { - GstClockID id = gst_clock_new_single_shot_id (esdsink->clock, - GST_BUFFER_TIMESTAMP (buf) - queued); - - gst_element_clock_wait (GST_ELEMENT (esdsink), id, &jitter); - gst_clock_id_free (id); - - if (jitter >= 0){ - gst_clock_handle_discont (esdsink->clock, - GST_BUFFER_TIMESTAMP (buf) - queued + jitter); - to_write = size; - gst_audio_clock_set_active ((GstAudioClock *)esdsink->provided_clock, TRUE); - esdsink->resync = FALSE; - } + gst_element_wait (GST_ELEMENT (esdsink), GST_BUFFER_TIMESTAMP (buf) - queued); + }else{ to_write = size; } diff --git a/ext/libcaca/gstcacasink.c b/ext/libcaca/gstcacasink.c index 1cd674e5..dfd66519 100644 --- a/ext/libcaca/gstcacasink.c +++ b/ext/libcaca/gstcacasink.c @@ -335,19 +335,11 @@ gst_cacasink_chain (GstPad *pad, GstData *_data) cacasink = GST_CACASINK (gst_pad_get_parent (pad)); - if (GST_VIDEOSINK_CLOCK (cacasink) && time != -1) { - GstClockReturn ret; - - cacasink->id = gst_clock_new_single_shot_id ( - GST_VIDEOSINK_CLOCK (cacasink), time); - + if (cacasink->clock && GST_CLOCK_TIME_IS_VALID (time)) { GST_DEBUG ("videosink: clock %s wait: %" G_GUINT64_FORMAT " %u", GST_OBJECT_NAME (GST_VIDEOSINK_CLOCK (cacasink)), time, GST_BUFFER_SIZE (buf)); - - ret = gst_clock_id_wait (cacasink->id, &jitter); - gst_clock_id_free (cacasink->id); - cacasink->id = NULL; + gst_element_wait (GST_ELEMENT (cacasink), GST_BUFFER_TIMESTAMP (buf)); } caca_clear (); |