diff options
Diffstat (limited to 'DesktopGrab.py')
-rw-r--r-- | DesktopGrab.py | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/DesktopGrab.py b/DesktopGrab.py index d68558c..3420bb5 100644 --- a/DesktopGrab.py +++ b/DesktopGrab.py @@ -85,7 +85,8 @@ class DesktopGrab(gtk.Widget): self.queue_video = None # Sound - self.alsasrc = None + self.gconfaudiosrc = None + self.audiorate = None self.sound_filter = None self.audioconvert = None self.vorbisenc = None @@ -126,10 +127,14 @@ class DesktopGrab(gtk.Widget): self.queue_video.set_property('max-size-time', 0) # Sound - self.alsasrc = gst.element_factory_make('alsasrc', "alsasrc") - sound_caps = gst.Caps("audio/x-raw-int,width=16,depth=16,rate=8000,channels=1") + self.gconfaudiosrc = gst.element_factory_make('gconfaudiosrc', "gconfaudiosrc") + self.gconfaudiosrc.set_property("async-handling", True) + self.audiorate = gst.element_factory_make("audiorate", "audiorate") + self.audiorate.set_property('silent', True) + self.audiorate.set_property('tolerance', 1000) + audio_rate = gst.Caps("audio/x-raw-int,endianness=1234,rate=8000,channels=1,width=16,depth=16,signed=False") self.sound_filter = gst.element_factory_make("capsfilter", "sound_filter") - self.sound_filter.set_property("caps", sound_caps) + self.sound_filter.set_property("caps", audio_rate) self.audioconvert = gst.element_factory_make('audioconvert', "audioconvert") self.vorbisenc = gst.element_factory_make('vorbisenc', "vorbisenc") self.queue_sound = gst.element_factory_make('queue', "queue_sound") @@ -181,7 +186,8 @@ class DesktopGrab(gtk.Widget): self.oggmux) gst.element_link_many( - self.alsasrc, + self.gconfaudiosrc, + self.audiorate, self.sound_filter, self.audioconvert, self.vorbisenc, @@ -202,7 +208,8 @@ class DesktopGrab(gtk.Widget): self.video_filter, self.theoraenc, self.queue_video, - self.alsasrc, + self.gconfaudiosrc, + self.audiorate, self.sound_filter, self.audioconvert, self.vorbisenc, @@ -298,7 +305,7 @@ class DesktopGrab(gtk.Widget): if self.info != info: self.info = info self.emit('update', self.info) - #print self.info + print self.info return True @@ -311,7 +318,7 @@ if __name__=="__main__": if os.path.exists('/home/flavio'): path = os.path.join('/home/flavio',"%s-%s.ogg" % (dat, tim)) else: - path = path = os.path.join('/home/olpc',"%s-%s.ogg" % (dat, tim)) + path = os.path.join('/home/olpc',"%s-%s.ogg" % (dat, tim)) grabador.record(path) gtk.main() -
\ No newline at end of file + |