else:
        pixbuf.render_to_drawable(drawing_area.get_window(),
                                  drawing_area.get_style().black_gc, 0, 0,
                                  frames[count].get_x_offset(),
                                  frames[count].get_y_offset(),
                                  pixbuf.get_width(), pixbuf.get_height(),
                                  dither, 0, 0)
    count = count + 1
    if count == len(frames):
        count = 0
    return TRUE


push_rgb_visual()

animation = GdkPixbuf.GdkPixbufAnimation(sys.argv[1])

win = GtkWindow()

drawing_area = GtkDrawingArea()
drawing_area.size(animation.get_width(), animation.get_height())
win.add(drawing_area)

frames = animation.get_frames()
print frames
pixbufs = []
for frame in frames:
    p = frame.get_pixbuf()
    pixbufs.append(p)

timeout = timeout_add(frames[0].get_delay_time() * 10, play)