Ejemplo n.º 1
0
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);
	}
}
Ejemplo n.º 2
0
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);
	}
}
Ejemplo n.º 3
0
/**
 * 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));
}