Python Discoverer crash
Matt Veenstra
matt at tribalmedia.com
Thu Mar 3 15:15:14 PST 2011
Thanks jon. I did not know such a thing existed.
tribalmedia mobile message
On Mar 3, 2011, at 5:03 PM, Jon Nordby <jononor at gmail.com> wrote:
> On 3 March 2011 20:21, Matt Veenstra <matt at tribalmedia.com> wrote:
>> class cMediaTool:
>> # theFile is a local file. Is not tested with proper URI. expects
>> format file:///
>> # mv this expects a/v file. Fails if not.
>> def OnDiscovered(self, discoverer, ismedia, infile):
>> print '\non_discovered:', infile
>> self.last_duration = 0
>> # we always want the shortest direction to avoid a/v sync issues.
>> if (discoverer.videolength >= discoverer.audiolength):
>> self.last_duration = discoverer.audiolength / gst.MSECOND
>> else:
>> self.last_duration = discoverer.videolength / gst.MSECOND
>> discoverer.print_info()
>> self.mainloop.quit()
>>
>> # this creates its own mainloop to create synchronous call.
>> # this might cause bad things ran inside another mainloop.
>> def GetFileDuration(self, theFile):
>> print("GetDuration")
>>
>> discoverer = Discoverer(theFile)
>> discoverer.print_info()
>> discoverer.connect('discovered', self.OnDiscovered, theFile)
>>
>> # The MainLoop
>> self.mainloop = gobject.MainLoop()
>> gobject.idle_add(discoverer.discover)
>> self.mainloop.run()
>> del self.mainloop
>> # del discoverer
>> return self.last_duration
> I suggest you use GstDiscoverer blocking API if you want a blocking
> call, find the python equivalent of
> http://library.gnome.org/devel/gst-plugins-libs/unstable/gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-discover-uri
>
> --
> Jon Nordby - www.jonnor.com
More information about the gstreamer-devel
mailing list