diff --git a/sys/oss/gstossclock.c b/sys/oss/gstossclock.c index b2f784a6fd..bd1bf8e703 100644 --- a/sys/oss/gstossclock.c +++ b/sys/oss/gstossclock.c @@ -116,13 +116,10 @@ gst_oss_clock_get_internal_time (GstClock *clock) if (diff1) { oss_clock->adjust -= diff2 - diff1; } - /* g_print ("diff %lld %lld %lld %lld %lld %lld\n", diff1, diff2, time1, time2, diff2 - diff1, oss_clock->adjust); */ - - return time2 + oss_clock->adjust; } diff --git a/sys/oss/gstosssink.c b/sys/oss/gstosssink.c index e7660a101b..3765ddd592 100644 --- a/sys/oss/gstosssink.c +++ b/sys/oss/gstosssink.c @@ -710,31 +710,14 @@ gst_osssink_change_state (GstElement *element) case GST_STATE_READY_TO_PAUSED: osssink->offset = 0LL; osssink->have_offset = FALSE; + osssink->handled = 0LL; break; case GST_STATE_PAUSED_TO_PLAYING: - /* gst_clock_adjust (osssink->clock, osssink->offset - gst_clock_get_time (osssink->clock)); */ break; case GST_STATE_PLAYING_TO_PAUSED: { - if (GST_FLAG_IS_SET (element, GST_OSSSINK_OPEN)) { - if (osssink->bps) { - GstClockTime time; - audio_buf_info ospace; - gint queued; - - ioctl (osssink->fd, SNDCTL_DSP_GETOSPACE, &ospace); - ioctl (osssink->fd, SNDCTL_DSP_RESET, 0); - - queued = (ospace.fragstotal * ospace.fragsize) - ospace.bytes; - time = osssink->offset + (osssink->handled - queued) * 1000000LL / osssink->bps; - - //gst_clock_adjust (osssink->clock, time - gst_clock_get_time (osssink->clock)); - } - else { - ioctl (osssink->fd, SNDCTL_DSP_RESET, 0); - } - } - + if (GST_FLAG_IS_SET (element, GST_OSSSINK_OPEN)) + ioctl (osssink->fd, SNDCTL_DSP_RESET, 0); break; } case GST_STATE_PAUSED_TO_READY: diff --git a/sys/oss/gstosssink.h b/sys/oss/gstosssink.h index 8ede9da767..1a600eb3b7 100644 --- a/sys/oss/gstosssink.h +++ b/sys/oss/gstosssink.h @@ -56,32 +56,32 @@ typedef struct _GstOssSink GstOssSink; typedef struct _GstOssSinkClass GstOssSinkClass; struct _GstOssSink { - GstElement element; + GstElement element; - GstPad *sinkpad; + GstPad *sinkpad; GstBufferPool *sinkpool; - GstClock *provided_clock; - GstClock *clock; + GstClock *provided_clock; + GstClock *clock; /* device */ - gchar *device; + gchar *device; /* soundcard state */ - int fd; - int caps; /* the capabilities */ - gint format; - gint channels; - gint frequency; - gint fragment; - gboolean mute; - guint bufsize; - guint bps; - gboolean have_offset; - guint64 offset; - guint64 handled; + int fd; + int caps; /* the capabilities */ + gint format; + gint channels; + gint frequency; + gint fragment; + gboolean mute; + guint bufsize; + guint bps; + gboolean have_offset; + guint64 offset; + guint64 handled; - guint64 fragment_time; + guint64 fragment_time; }; struct _GstOssSinkClass {