Author: tack
Date: Fri Dec 29 17:20:22 2006
New Revision: 2307
Modified:
trunk/xine/src/__init__.py
trunk/xine/src/event_queue.c
Log:
Some event cleanup; remove unnecessary dependency on kaa.metadata
Modified: trunk/xine/src/__init__.py
==============================================================================
--- trunk/xine/src/__init__.py (original)
+++ trunk/xine/src/__init__.py Fri Dec 29 17:20:22 2006
@@ -2,10 +2,10 @@
import threading
import math
import logging
-
+
import _xine
import kaa
-from kaa import display, notifier, metadata
+from kaa import display, notifier
from kaa.version import Version
from constants import *
@@ -455,13 +455,17 @@
"event": notifier.Signal()
}
self.event_queue = self.new_event_queue()
- kaa.signals["step"].connect_weak(self._poll_events)
- #self.event_queue._queue.event_callback =
notifier.WeakCallback(self._obj_callback)
+ kaa.signals["step"].connect_weak(self.flush_events)
+ #self.event_queue._obj.event_callback =
notifier.WeakCallback(self._obj_callback)
- def _poll_events(self):
+ def flush_events(self):
event = self.event_queue.get_event()
- if event:
- self.signals["event"].emit(_wrap_xine_object(event))
+ while event:
+ self.signals["event"].emit(event)
+ event = self.event_queue.get_event()
+
+ def get_event(self):
+ return self.event_queue.get_event()
def open(self, mrl):
return self._obj.open(mrl)
@@ -755,7 +759,7 @@
super(EventQueue, self).__init__(obj)
def get_event(self):
- return self._obj.get_event()
+ return _wrap_xine_object(self._obj.get_event())
class Event(Wrapper):
def __init__(self, obj):
Modified: trunk/xine/src/event_queue.c
==============================================================================
--- trunk/xine/src/event_queue.c (original)
+++ trunk/xine/src/event_queue.c Fri Dec 29 17:20:22 2006
@@ -9,6 +9,7 @@
Xine_Event_Queue_PyObject *queue;
} xine_event_queue_listener_data;
+#if 0 // unstable, figure out why.
void _xine_event_queue_listener_callback(void *_data, const xine_event_t
*event)
{
xine_event_queue_listener_data *data = (xine_event_queue_listener_data
*)_data;
@@ -22,13 +23,16 @@
pyevent = pyxine_new_event_pyobject(data->queue->xine, data->queue,
(xine_event_t *)event, 1);
args = Py_BuildValue("(O)", pyevent);
result = PyEval_CallObject(*data->callback, args);
+ if (!result)
+ PyErr_Print();
+ else
+ Py_DECREF(result);
Py_DECREF(args);
Py_DECREF(pyevent);
- Py_DECREF(result);
}
PyGILState_Release(gstate);
}
-
+#endif
// Owner must be a Stream object
Xine_Event_Queue_PyObject *
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog