diff options
-rw-r--r-- | activity.py | 25 | ||||
-rwxr-xr-x | arange.py | 19 |
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 @@ -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() |