From 6ca819354cabdaeda0b122535a50fa49924d8d2d Mon Sep 17 00:00:00 2001 From: Pierre Ossman Date: Mon, 6 Nov 2006 10:17:39 +0000 Subject: 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 --- src/utils/padsp.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/utils/padsp.c') 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; -- cgit