* gstreamer.py:
* task.py: Don't rely on the log module; users that want to log should first subclass from a log class that implements warning/info/debug/log
This commit is contained in:
8
morituri/extern/task/ChangeLog
vendored
8
morituri/extern/task/ChangeLog
vendored
@@ -1,3 +1,11 @@
|
||||
2011-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
|
||||
|
||||
* gstreamer.py:
|
||||
* task.py:
|
||||
Don't rely on the log module; users that want to log
|
||||
should first subclass from a log class that implements
|
||||
warning/info/debug/log
|
||||
|
||||
2011-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
|
||||
|
||||
* gstreamer.py:
|
||||
|
||||
11
morituri/extern/task/gstreamer.py
vendored
11
morituri/extern/task/gstreamer.py
vendored
@@ -126,6 +126,17 @@ class GstPipelineTask(task.Task):
|
||||
|
||||
def stop(self):
|
||||
self.debug('stopping')
|
||||
|
||||
# FIXME: in theory this should help clean up properly,
|
||||
# but in practice we can still get
|
||||
# python: /builddir/build/BUILD/Python-2.7/Python/pystate.c:595: PyGILState_Ensure: Assertion `autoInterpreterState' failed.
|
||||
|
||||
self.pipeline.set_state(self.gst.STATE_READY)
|
||||
self.debug('set pipeline to READY')
|
||||
# FIXME: this can block
|
||||
ret = self.pipeline.get_state()
|
||||
self.debug('got pipeline to READY: %r', ret)
|
||||
|
||||
self.debug('setting state to NULL')
|
||||
self.pipeline.set_state(self.gst.STATE_NULL)
|
||||
self.debug('set state to NULL')
|
||||
|
||||
16
morituri/extern/task/task.py
vendored
16
morituri/extern/task/task.py
vendored
@@ -38,7 +38,7 @@ class TaskException(Exception):
|
||||
self.exceptionMessage = message
|
||||
self.args = (exception, message, )
|
||||
|
||||
class Task(object, log.Loggable):
|
||||
class Task(object):
|
||||
"""
|
||||
I wrap a task in an asynchronous interface.
|
||||
I can be listened to for starting, stopping, description changes
|
||||
@@ -67,6 +67,19 @@ class Task(object, log.Loggable):
|
||||
_listeners = None
|
||||
|
||||
|
||||
### log stubs
|
||||
def warning(self, message, *args):
|
||||
pass
|
||||
|
||||
def info(self, message, *args):
|
||||
pass
|
||||
|
||||
def debug(self, message, *args):
|
||||
pass
|
||||
|
||||
def log(self, message, *args):
|
||||
pass
|
||||
|
||||
### subclass methods
|
||||
def start(self, runner):
|
||||
"""
|
||||
@@ -90,6 +103,7 @@ class Task(object, log.Loggable):
|
||||
def stop(self):
|
||||
"""
|
||||
Stop the task.
|
||||
Also resets the runner on the task.
|
||||
|
||||
Subclasses should chain up to me at the end.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user