diff options
Diffstat (limited to 'glive.py')
-rw-r--r-- | glive.py | 72 |
1 files changed, 48 insertions, 24 deletions
@@ -451,14 +451,18 @@ class Glive: audioline = Gst.parse_launch(command) - #taglist = self._get_tags(constants.TYPE_AUDIO) - - #if self._audio_pixbuf: - #pixbuf_b64 = utils.getStringFromPixbuf(self._audio_pixbuf) - #taglist[Gst.TAG_EXTENDED_COMMENT] = "coverart=" + pixbuf_b64 - - #vorbis_enc = audioline.get_by_name('audioVorbisenc') - #vorbis_enc.merge_tags(taglist, Gst.TagMergeMode.REPLACE_ALL) + taglist = self._get_tags(constants.TYPE_AUDIO) + + if self._audio_pixbuf: + pixbuf_b64 = utils.getStringFromPixbuf(self._audio_pixbuf) + + taglist.add_value( + Gst.TagMergeMode.REPLACE, + Gst.TAG_EXTENDED_COMMENT, + "coverart=" + pixbuf_b64) + + vorbis_enc = audioline.get_by_name('audioVorbisenc') + vorbis_enc.merge_tags(taglist, Gst.TagMergeMode.REPLACE_ALL) audioFilesink = audioline.get_by_name('audioFilesink') audioOggFilepath = os.path.join(Instance.instancePath, "output.ogg") @@ -476,20 +480,40 @@ class Glive: def _get_tags(self, type): - tl = Gst.TagList() - """ - tl[Gst.TAG_ARTIST] = self.model.get_nickname() - tl[Gst.TAG_COMMENT] = "olpc" + taglist = Gst.TagList.new_empty() + + taglist.add_value( + Gst.TagMergeMode.REPLACE, + Gst.TAG_ARTIST, + self.model.get_nickname()) + + taglist.add_value( + Gst.TagMergeMode.REPLACE, + Gst.TAG_COMMENT, + "olpc") + #this is unfortunately, unreliable #record.Record.log.debug("self.ca.metadata['title']->" + str(self.ca.metadata['title']) ) - tl[Gst.TAG_ALBUM] = "olpc" #self.ca.metadata['title'] - tl[Gst.TAG_DATE] = utils.getDateString(int(time.time())) - stringType = constants.MEDIA_INFO[type]['istr'] - - # Translators: photo by photographer, e.g. "Photo by Mary" - tl[Gst.TAG_TITLE] = _('%(type)s by %(name)s') % {'type': stringType, - 'name': self.model.get_nickname()}""" - return tl + + taglist.add_value( + Gst.TagMergeMode.REPLACE, + Gst.TAG_ALBUM, + "olpc") #self.ca.metadata['title'] + + taglist.add_value( + Gst.TagMergeMode.REPLACE, + Gst.TAG_DATE, + utils.getDateString(int(time.time()))) + + stringType = constants.MEDIA_INFO[type]['istr'] #self.ca.metadata['title'] + + taglist.add_value( + Gst.TagMergeMode.REPLACE, + Gst.TAG_TITLE, + _('%(type)s by %(name)s') % {'type': stringType, + 'name': self.model.get_nickname()}) + + return taglist def _take_photo(self, photo_mode): @@ -534,7 +558,7 @@ class Glive: self.thumbBuf = GdkPixbuf.Pixbuf.new_from_file(pix_file) self.model.still_ready(self.thumbBuf) - self.save_photo(pixBuf) + self.save_photo(self.thumbBuf) def save_photo(self, pixbuf): @@ -683,9 +707,9 @@ class Glive: muxline = Gst.parse_launch(command) - #taglist = self._get_tags(constants.TYPE_VIDEO) - #vorbis_enc = muxline.get_by_name('muxVorbisenc') - #vorbis_enc.merge_tags(taglist, Gst.TagMergeMode.REPLACE_ALL) + taglist = self._get_tags(constants.TYPE_VIDEO) + vorbis_enc = muxline.get_by_name('muxVorbisenc') + vorbis_enc.merge_tags(taglist, Gst.TagMergeMode.REPLACE_ALL) muxBus = muxline.get_bus() muxBus.add_signal_watch() |