[prev in list] [next in list] [prev in thread] [next in thread]
List: mono-patches
Subject: [Mono-patches] r114519 - trunk/moon/src
From: "Rolf Bjarne Kvinge (rolfkvinge () ya ! com)"
Date: 2008-09-30 22:02:42
Message-ID: 20080930220242.6333E9472C () mono-cvs ! ximian ! com
[Download RAW message or body]
Author: rolf
Date: 2008-09-30 18:02:42 -0400 (Tue, 30 Sep 2008)
New Revision: 114519
Modified:
trunk/moon/src/ChangeLog
trunk/moon/src/audio-pulse.cpp
trunk/moon/src/audio-pulse.h
Log:
* audio-pulse.cpp, audio-pulse.h: Don't use callbacks with
pa_stream_[cork|trigger|flush|drain] since the audio source might
have gotten deleted by the time the callback is called.
Modified: trunk/moon/src/ChangeLog
===================================================================
--- trunk/moon/src/ChangeLog 2008-09-30 21:52:31 UTC (rev 114518)
+++ trunk/moon/src/ChangeLog 2008-09-30 22:02:42 UTC (rev 114519)
@@ -1,3 +1,9 @@
+2008-10-01 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * audio-pulse.cpp, audio-pulse.h: Don't use callbacks with
+ pa_stream_[cork|trigger|flush|drain] since the audio source might
+ have gotten deleted by the time the callback is called.
+
2008-09-30 Chris Toshok <toshok@ximian.com>
* dirty.cpp (Surface::ProcessDownDirtyElements): use
Modified: trunk/moon/src/audio-pulse.cpp
===================================================================
--- trunk/moon/src/audio-pulse.cpp 2008-09-30 21:52:31 UTC (rev 114518)
+++ trunk/moon/src/audio-pulse.cpp 2008-09-30 22:02:42 UTC (rev 114519)
@@ -410,48 +410,24 @@
PulseSource::PACork (bool cork)
{
LOG_PULSE ("PulseSource::PACork (%i)\n", cork);
- player->WaitForOperation (pa_stream_cork (pulse_stream, cork, OnCorked, this));
+ pa_operation_unref (pa_stream_cork (pulse_stream, cork, NULL, this));
}
void
PulseSource::PATrigger ()
{
LOG_PULSE ("PulseSource::PATrigger (), triggered: %i\n", triggered);
- player->WaitForOperation (pa_stream_trigger (pulse_stream, OnTriggered, this));
+ pa_operation_unref (pa_stream_trigger (pulse_stream, NULL, this));
triggered = true;
}
void
PulseSource::PAFlush ()
{
- player->WaitForOperation (pa_stream_flush (pulse_stream, OnFlushed, this));
+ pa_operation_unref (pa_stream_flush (pulse_stream, NULL, this));
}
void
-PulseSource::OnCorked (pa_stream *pulse_stream, int successs, void *userdata)
-{
- ((PulseSource *) userdata)->player->SignalLoop ();
-}
-
-void
-PulseSource::OnFlushed (pa_stream *pulse_stream, int success, void *userdata)
-{
- ((PulseSource *) userdata)->player->SignalLoop ();
-}
-
-void
-PulseSource::OnTriggered (pa_stream *pulse_stream, int success, void *userdata)
-{
- ((PulseSource *) userdata)->player->SignalLoop ();
-}
-
-void
-PulseSource::OnDrained (pa_stream *pulse_stream, int success, void *userdata)
-{
- ((PulseSource *) userdata)->player->SignalLoop ();
-}
-
-void
PulseSource::Played ()
{
LOG_PULSE ("PulseSource::Played ()\n");
Modified: trunk/moon/src/audio-pulse.h
===================================================================
--- trunk/moon/src/audio-pulse.h 2008-09-30 21:52:31 UTC (rev 114518)
+++ trunk/moon/src/audio-pulse.h 2008-09-30 22:02:42 UTC (rev 114519)
@@ -38,10 +38,6 @@
void OnStateChanged (pa_stream *stream);
void OnWrite (size_t length);
- static void OnCorked (pa_stream *pulse_stream, int success, void *userdata);
- static void OnDrained (pa_stream *pulse_stream, int success, void *userdata);
- static void OnTriggered (pa_stream *pulse_stream, int success, void *userdata);
- static void OnFlushed (pa_stream *pulse_stream, int success, void *userdata);
static void OnUnderflow (pa_stream *pulse_stream, void *userdata);
static void OnWrite (pa_stream *pulse_stream, size_t length, void *userdata);
static void OnStateChanged (pa_stream *pulse_stream, void *userdata);
_______________________________________________
Mono-patches maillist - Mono-patches@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-patches
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic