discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] Stopping Flow Graph, Re-connecting Audio


From: James Cooley
Subject: [Discuss-gnuradio] Stopping Flow Graph, Re-connecting Audio
Date: Tue, 12 Jul 2005 19:25:26 -0400
User-agent: Mozilla Thunderbird 1.0.2 (X11/20050317)

Hi all,

Does anyone know how to successfully change audio in the middle of execution? I've swapped out other blocks before, so I'm familiar with that.

Actually, I'm changing the guts connected to the audio, using the usual flow graph stop, disconnect, connect blocks. I tried changing the guts without deleting the audio sink and I also tried changing the guts deleting the audio sink like this:


   def swap_sound(self):
       print "test sound change"
       fg.stop()
       fg.disconnect(self.demod_guts_block, self.audio_sink)

# either don't do this, or delete/re-create.. both don't seem to work
       del(self.audio_sink)
       print "Re-Create Audio Sink"
       self.audio_sink = audio.sink(int(self.demod_guts_block.audio_rate))
       print "Audio sink created"
       fg.connect(self.demod_guts_block, self.audio_sink)
fg.start()

What happens, I believe, is that the deconstructor for the alsa audio sink isn't actually releasing the device. When I go to create a "new" audio sink, the creation function hangs there, I assume because it's waiting for the device to finish.

In the case where I do not delete the audio sink and re-create it, it does not allow me to make the connection:

ValueError: <gr_block audio_alsa_sink (6)>::check_topology (1, 0) failed


-jamie






reply via email to

[Prev in Thread] Current Thread [Next in Thread]