projects
/
paraslash.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
btr: Rename btr_bytes_pending() and make it public.
[paraslash.git]
/
vss.c
diff --git
a/vss.c
b/vss.c
index 0b6735ba11014356aa44feb28cdef7b52de1181f..1a038f060bd1f0e2ecfd842e9f08fd7f704f70e2 100644
(file)
--- a/
vss.c
+++ b/
vss.c
@@
-636,7
+636,7
@@
static void vss_eof(struct vss_task *vsst)
para_munmap(vsst->map, mmd->size);
vsst->map = NULL;
mmd->chunks_sent = 0;
para_munmap(vsst->map, mmd->size);
vsst->map = NULL;
mmd->chunks_sent = 0;
- mmd->offset = 0;
+
//
mmd->offset = 0;
mmd->afd.afhi.seconds_total = 0;
mmd->afd.afhi.chunk_tv.tv_sec = 0;
mmd->afd.afhi.chunk_tv.tv_usec = 0;
mmd->afd.afhi.seconds_total = 0;
mmd->afd.afhi.chunk_tv.tv_sec = 0;
mmd->afd.afhi.chunk_tv.tv_usec = 0;
@@
-677,6
+677,13
@@
static int need_to_request_new_audio_file(struct vss_task *vsst)
return 1;
}
return 1;
}
+static void set_mmd_offset(void)
+{
+ struct timeval offset;
+ tv_scale(mmd->current_chunk, &mmd->afd.afhi.chunk_tv, &offset);
+ mmd->offset = tv2ms(&offset);
+}
+
/**
* Compute the timeout for the main select-loop of the scheduler.
*
/**
* Compute the timeout for the main select-loop of the scheduler.
*
@@
-721,6
+728,7
@@
static void vss_pre_select(struct sched *s, struct task *t)
mmd->chunks_sent = 0;
mmd->current_chunk = mmd->repos_request;
mmd->new_vss_status_flags &= ~VSS_REPOS;
mmd->chunks_sent = 0;
mmd->current_chunk = mmd->repos_request;
mmd->new_vss_status_flags &= ~VSS_REPOS;
+ set_mmd_offset();
}
if (need_to_request_new_audio_file(vsst)) {
PARA_DEBUG_LOG("ready and playing, but no audio file\n");
}
if (need_to_request_new_audio_file(vsst)) {
PARA_DEBUG_LOG("ready and playing, but no audio file\n");
@@
-875,11
+883,9
@@
static void vss_send(struct vss_task *vsst)
size_t len;
if (!mmd->chunks_sent) {
size_t len;
if (!mmd->chunks_sent) {
- struct timeval tmp;
mmd->stream_start = *now;
mmd->stream_start = *now;
- tv_scale(mmd->current_chunk, &mmd->afd.afhi.chunk_tv, &tmp);
- mmd->offset = tv2ms(&tmp);
mmd->events++;
mmd->events++;
+ set_mmd_offset();
}
/*
* We call the send function also in case of empty chunks as
}
/*
* We call the send function also in case of empty chunks as