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
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