--- nassink.c.orig	2012-04-14 17:41:50.000000000 +0200
+++ nassink.c	2012-04-15 08:56:41.000000000 +0200
@@ -1,3 +1,4 @@
+/* patch by OHt based on  .../gst-plugins-bad-0.10.23/ext/nas/nassink.c */
 /* GStreamer
  * Copyright (C) <2003> Laurent Vivier <Laurent.Vivier@bull.net>
  * Copyright (C) <2004> Arwed v. Merkatz <v.merkatz@gmx.net>
@@ -225,6 +226,17 @@
 static gboolean
 gst_nas_sink_unprepare (GstAudioSink * asink)
 {
+  if (!gst_nas_sink_close (asink))
+	{
+    	GST_DEBUG_OBJECT (asink, "Could not close the audio device");
+    	return FALSE;
+	}
+
+  if (!gst_nas_sink_open (asink))
+  	{
+    	GST_DEBUG_OBJECT (asink, "Could not reopen the audio device");
+    	return FALSE;
+  	}
   return TRUE;
 }
 
@@ -242,7 +254,8 @@
 
   GST_DEBUG_OBJECT (sink, "reset");
 
-  NAS_flush (sink);
+  if (sink->flow != AuNone)
+	AuStopFlow (sink->audio, sink->flow, NULL); 
 }
 
 static guint
@@ -345,9 +358,7 @@
     return TRUE;
 
   if (sink->flow != AuNone) {
-    NAS_flush (sink);
-
-    AuStopFlow (sink->audio, sink->flow, NULL);
+    AuDestroyFlow (sink->audio, sink->flow, NULL);	
     AuReleaseScratchFlow (sink->audio, sink->flow, NULL);
     sink->flow = AuNone;
   }
