Example #1
0
    def buffering_timeout(self):
        query = gst.query_new_buffering(gst.FORMAT_PERCENT)
        if self.player.query(query):
            fmt, start, stop, total = query.parse_buffering_range()
            if stop != -1:
                fill_status = stop / 10000.
            else:
                fill_status = 100.

            self.emit("fill-status-changed", fill_status)

            if fill_status == 100.:
                # notify::download_filename value
                self.notify("download_filename")
                return False
        return True
Example #2
0
def refresh_ui(data):
    query = gst.query_new_buffering(gst.FORMAT_PERCENT)
    result = pipeline.query(query)
    if (result):
        graph = array('c', ' ' * GRAPH_LENGTH)
        format = gst.FORMAT_TIME
        position = 0
        duration = 0
        n_ranges = query.get_n_buffering_ranges()
        fmt, start, stop, total = query.parse_buffering_range(
        )  # no parse_nth_buffering_range method ?!
        start = start / 10000
        stop = stop / 10000
        start = start * GRAPH_LENGTH / 100
        stop = stop * GRAPH_LENGTH / 100

        i = 0
        for i in xrange(start, stop):
            graph[i] = '-'

        try:
            position = data.pipeline.query_position(format)[0]
            if (position != gst.CLOCK_TIME_NONE):
                duration = data.pipeline.query_duration(format)[0]
                if (duration != gst.CLOCK_TIME_NONE):
                    i = (int)(GRAPH_LENGTH * float(position) /
                              float(duration + 1))
        except:
            pass

        graph[i] = 'X' if (data.buffering_level < 100) else '>'
        sys.stdout.write("\r[{0}]".format(graph.tostring()))
        if (data.buffering_level < 100):
            sys.stdout.write(" Buffering {0}%".format(data.buffering_level))
        else:
            sys.stdout.write("                ")
        sys.stdout.write("\r")

    return True
def refresh_ui(data):
    query = gst.query_new_buffering(gst.FORMAT_PERCENT)
    result = pipeline.query(query)
    if (result):
        graph = array('c', ' ' * GRAPH_LENGTH)
        format = gst.FORMAT_TIME
        position = 0
        duration = 0
        n_ranges = query.get_n_buffering_ranges()
        fmt, start, stop, total = query.parse_buffering_range()  # no parse_nth_buffering_range method ?!
        start = start / 10000
        stop = stop / 10000
        start = start * GRAPH_LENGTH / 100
        stop = stop * GRAPH_LENGTH / 100

        i = 0
        for i in xrange(start, stop):
            graph[i] = '-'

        try:
            position = data.pipeline.query_position(format)[0]
            if (position != gst.CLOCK_TIME_NONE):
                duration = data.pipeline.query_duration(format)[0]
                if (duration != gst.CLOCK_TIME_NONE):
                    i = (int)(GRAPH_LENGTH * float(position) / float(duration + 1))
        except:
            pass

        graph[i] = 'X' if (data.buffering_level < 100) else '>'
        sys.stdout.write("\r[{0}]".format(graph.tostring()))
        if (data.buffering_level < 100):
            sys.stdout.write(" Buffering {0}%".format(data.buffering_level))
        else:
            sys.stdout.write("                ")
        sys.stdout.write("\r")

    return True