summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2006-11-06 10:17:39 +0000
committerPierre Ossman <ossman@cendio.se>2006-11-06 10:17:39 +0000
commit6ca819354cabdaeda0b122535a50fa49924d8d2d (patch)
treea5962823bc2bbddab60f7bf1e207ee1c414d180d /src
parent977659684855d30d48958910f92593e94dbb8da8 (diff)
The OSS spec is unclear what should happen when a reset is requested. Let's
have a nicer attitude and keep as much settings as possible. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1406 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src')
-rw-r--r--src/utils/padsp.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/utils/padsp.c b/src/utils/padsp.c
index c7bfe5ab..5d96a984 100644
--- a/src/utils/padsp.c
+++ b/src/utils/padsp.c
@@ -1003,12 +1003,21 @@ static void free_streams(fd_info *i) {
pa_stream_disconnect(i->play_stream);
pa_stream_unref(i->play_stream);
i->play_stream = NULL;
+ i->io_flags |= PA_IO_EVENT_INPUT;
}
if (i->rec_stream) {
pa_stream_disconnect(i->rec_stream);
pa_stream_unref(i->rec_stream);
i->rec_stream = NULL;
+ i->io_flags |= PA_IO_EVENT_OUTPUT;
+ }
+
+ if (i->io_event) {
+ pa_mainloop_api *api;
+
+ api = pa_threaded_mainloop_get_api(i->mainloop);
+ api->io_enable(i->io_event, i->io_flags);
}
}
@@ -1954,7 +1963,6 @@ static int dsp_ioctl(fd_info *i, unsigned long request, void*argp, int *_errno)
free_streams(i);
dsp_flush_socket(i);
- reset_params(i);
i->optr_n_blocks = 0;