static void xmms_output_seekms (xmms_output_t *output, guint32 ms, xmms_error_t *error) { g_return_if_fail (output); if (output->format) { xmms_output_seeksamples (output, xmms_sample_ms_to_samples (output->format, ms), error); } }
static void xmms_playback_client_seek_ms (xmms_output_t *output, gint32 ms, gint32 whence, xmms_error_t *error) { guint samples; g_return_if_fail (output); if (whence == XMMS_PLAYBACK_SEEK_CUR) { g_mutex_lock (&output->playtime_mutex); ms += output->played_time; if (ms < 0) { ms = 0; } g_mutex_unlock (&output->playtime_mutex); } if (output->format) { samples = xmms_sample_ms_to_samples (output->format, ms); xmms_playback_client_seek_samples (output, samples, XMMS_PLAYBACK_SEEK_SET, error); } }
/** * Convert from milliseconds to bytes for this format. This is not exact. */ gint64 xmms_sample_ms_to_bytes (const xmms_stream_type_t *st, gint64 ms) { return xmms_sample_samples_to_bytes (st, xmms_sample_ms_to_samples (st, ms)); }