Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--activity.py25
-rwxr-xr-xarange.py19
2 files changed, 23 insertions, 21 deletions
diff --git a/activity.py b/activity.py
index 51f43c5..5c58f12 100644
--- a/activity.py
+++ b/activity.py
@@ -350,26 +350,30 @@ class HelloTube(ExportedGObject):
@method(dbus_interface = IFACE, in_signature = 'ay', out_signature = '')
def _handle_incoming(self, message):
+ self._logger.debug("_handle_incoming: " + message)
msg = base64.b64decode(message)
- self._logger.debug("_handle_incoming: " + msg)
if self._recv_allowed:
self._buffer += msg
if len(self._buffer) > 0:
+ self._logger.debug("_handle_incoming will now set the buff_waiter")
self._buff_waiter.set()
+ self._logger.debug("_handle_incoming: buff_waiter.isSet() " + str(self._buff_waiter.isSet()))
def recv(self, bufsize):
self._logger.debug("recv")
self._logger.debug("buff_waiter.isSet: " + str(self._buff_waiter.isSet()))
- self._logger.debug("buffer: " + self._buffer)
+ self._logger.debug("buffer: " + base64.b64encode(self._buffer))
self._buff_waiter.wait(self._timeout)
if len(self._buffer) == 0:
raise 'error: buffer is empty'
retval = self._buffer[:bufsize]
self._buffer = self._buffer[bufsize:]
- self._logger.debug("afterwards, buffer: " + self._buffer)
+ #self._logger.debug("afterwards, buffer: " + self._buffer)
if len(self._buffer) == 0:
+ self._logger.debug("recv clearing buff_waiter")
self._buff_waiter.clear()
- self._logger.debug("received: " + retval)
+ self._logger.debug("recv: buff_waiter.isSet()" + str(self._buff_waiter.isSet()))
+ #self._logger.debug("received: " + retval)
return retval
def recvfrom(self, bufsize):
@@ -382,8 +386,9 @@ class HelloTube(ExportedGObject):
if self._send_allowed:
self._logger.debug("sendall")
self._remote_socket_waiter.wait(self._timeout)
- self._logger.debug("sendall: " + string)
- self._remote_socket._handle_incoming(base64.b64encode(string))
+ q = base64.b64encode(string)
+ self._logger.debug("sendall: " + q)
+ self._remote_socket._handle_incoming(q)
self._logger.debug("sendall; sent")
return len(string)
else:
@@ -396,13 +401,7 @@ class HelloTube(ExportedGObject):
else:
self._timeout = None
self.button.set_sensitive(False)
- if self.initiating:
- self._logger.debug("initiating socket_test")
- self._logger.debug("socket_test: " + socket_test.server(self.hellotube))
- else:
- self._logger.debug("initiating socket_test")
- self._logger.debug("socket_test: " + socket_test.client(self.hellotube))
- self.button.set_sensitive(True)
+
def settimeout(self, value):
self._timeout = value
diff --git a/arange.py b/arange.py
index d1b61f1..4fb74ac 100755
--- a/arange.py
+++ b/arange.py
@@ -180,15 +180,17 @@ def start_recording():
pipeline is the gstreamer pipeline corresponding to the recording process
f is a file object for the wav file
"""
- f = tempfile.NamedTemporaryFile('rb')
- fname = tempfile.mktemp()
+ #f = tempfile.NamedTemporaryFile('rb')
+ #fname = f.name
+ (fnum, fname) = tempfile.mkstemp()
+ f = open(fname,'rb')
pipeline = gst.element_factory_make('pipeline', 'recorder')
microphone = gst.element_factory_make('alsasrc', 'microphone')
converter = gst.element_factory_make('audioconvert', 'converter')
wave_encoder = gst.element_factory_make('wavenc', 'wave_encoder')
file_writer = gst.element_factory_make('filesink', 'file writer')
- file_writer.set_property('location', f.name)
+ file_writer.set_property('location', fname)
pipeline.add(microphone)
pipeline.add(converter)
@@ -209,12 +211,12 @@ def stop_recording(pipeline):
mic = pipeline.iterate_sources().next()
bus = pipeline.get_bus()
- mic.set_state(gst.STATE_NULL)
- mic.set_locked_state(True)
+ print "mic.set_state(gst.STATE_NULL) " + str(mic.set_state(gst.STATE_NULL))
+ print "mic.set_locked_state(True) " + str(mic.set_locked_state(True))
- bus.poll(gst.MESSAGE_EOS,-1)
- pipeline.set_state(gst.STATE_NULL)
- mic.set_locked_state(False)
+ print "bus.poll... " + str(bus.poll(gst.MESSAGE_EOS | gst.MESSAGE_ERROR,-1))
+ print "pipeline.set_state(gst.STATE_NULL) " + str(pipeline.set_state(gst.STATE_NULL))
+ print "mic.set_locked_state(False) " + str(mic.set_locked_state(False))
def read_wav(f):
"""
@@ -481,6 +483,7 @@ def measure_dt_seq(s, am_server, send_signal=False):
s.sendall(stop_command)
stop_recording(pipeline)
+ del(pipeline)
mls_wav_file.close()
rec_array = read_wav(rec_wav_file)
rec_wav_file.close()