diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-07-24 20:13:52 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-07-24 20:13:52 +0200 |
commit | 5efb07281d5be1cddaed5b0610325fedd7f599ec (patch) | |
tree | 6d9cec7e312a44ec1455e522831dcce9c06ecad6 /src/modules/alsa/alsa-sink.c | |
parent | f6763917ee757845e2c52e36975d948bc93d8b6e (diff) |
alsa: throw timing data away after device resume
Diffstat (limited to 'src/modules/alsa/alsa-sink.c')
-rw-r--r-- | src/modules/alsa/alsa-sink.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c index 46562cbd..7fc602be 100644 --- a/src/modules/alsa/alsa-sink.c +++ b/src/modules/alsa/alsa-sink.c @@ -899,9 +899,13 @@ static int unsuspend(struct userdata *u) { if (build_pollfd(u) < 0) goto fail; + u->write_count = 0; + pa_smoother_reset(u->smoother, pa_rtclock_now(), TRUE); + u->first = TRUE; u->since_start = 0; + pa_log_info("Resumed successfully..."); return 0; @@ -1204,7 +1208,7 @@ static int process_rewind(struct userdata *u) { if (rewind_nbytes <= 0) pa_log_info("Tried rewind, but was apparently not possible."); else { - u->write_count -= out_frames * u->frame_size; + u->write_count -= rewind_nbytes; pa_log_debug("Rewound %lu bytes.", (unsigned long) rewind_nbytes); pa_sink_process_rewind(u->sink, rewind_nbytes); |