[Bug 652578] encodebin should implement TagSetter interface

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Dec 2 03:25:17 PST 2013


https://bugzilla.gnome.org/show_bug.cgi?id=652578
  GStreamer | gst-plugins-base | git

--- Comment #2 from Christian Fredrik Kalager Schaller <Uraeus at linuxrising.org> 2013-12-02 11:25:12 UTC ---
I don't think anyone worked on it. I am currently doing it manually in
transmageddon using this code:

   def OnEncodebinElementAdd(self, encodebin, element):
       factory=element.get_factory()
       if factory != None:
           # set multipass cache file on video encoder element
           if (self.multipass != 0) and (self.passcounter == int(0)):
               if Gst.ElementFactory.list_is_type(factory, 2814749767106562): #
this is the factory code for Video encoders
                   element.set_property("multipass-cache-file", self.cachefile)

           # Set Transmageddon as Application name using Tagsetter interface
           tagyes = factory.has_interface("GstTagSetter")
           if tagyes ==True:
               taglist=Gst.TagList.new_empty()
               taglist.add_value(Gst.TagMergeMode.APPEND,
Gst.TAG_APPLICATION_NAME, "Transmageddon transcoder")
               element.merge_tags(taglist, Gst.TagMergeMode.REPLACE)
               if Gst.ElementFactory.list_is_type(factory, 1125899906842626): #
Audio Encoders factory code
                   taglist=Gst.TagList.new_empty()
                   if self.audiodata[0]['languagecode'] != None:
                       taglist.add_value(Gst.TagMergeMode.APPEND,
Gst.TAG_LANGUAGE_CODE, self.audiodata[0]['language'])  # FIXME: Currently only
doing 1 stream
                   longname=factory.get_metadata('long-name')
                   taglist.add_value(Gst.TagMergeMode.APPEND, Gst.TAG_ENCODER,
longname)
                   element.merge_tags(taglist, Gst.TagMergeMode.REPLACE)

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list