All pastes #579135 Raw Edit

Something

public text v1 · immutable
·published 2007-06-20 14:52 UTC
rendered paste body
import gobject
gobject.threads_init()

import pygst
pygst.require('0.10')
import gst
import sys

import os

results = []

def peekfunction(data, offset, size):
    #print "peek %d bytes at %d" % (size, offset)
    try:
        data.seek(offset)
        res = data.read(size)
    except:
        res = None
    return res

def suggestfunction(data, probability, caps):
    #print "suggest", probability, caps.to_string()
    results.append((probability, caps))

for infile in sys.argv[1:]:
    if not os.path.isfile(infile):
        continue
    results = []
    t = gst.type_find_new(open(infile, 'r'), peekfunction, suggestfunction)

    for factory in gst.type_find_factory_get_list():
        factory.call_function(t)

    print "\nRESULTS", infile

    bestprob = 0
    bestcaps = None
    for prob, caps in results:
        print prob, "\t\t", caps
        if prob > bestprob:
            bestprob = prob
            bestcaps = caps

    print "Best Caps [%d] : %s" % (bestprob, bestcaps)