Update of /cvsroot/freevo/kaa/xine/test
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10159/test
Modified Files:
kaaplayer.py
Log Message:
New VODriver class; add load_video_output_plugin (requires patch to xine-lib);
reimplement open_video_driver() to use load_video_output_plugin() and
VODriver.get_port(); refactor type initialization in xine.c; reimplement
buffer driver to use a video driver instead of video port; implement RLE
overlay blending in buffer driver (code ripped from xine-lib); buffer driver
seems to actually work now. kaaplayer.py is a mess. :)
Index: kaaplayer.py
===================================================================
RCS file: /cvsroot/freevo/kaa/xine/test/kaaplayer.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** kaaplayer.py 25 Jul 2005 23:23:57 -0000 1.5
--- kaaplayer.py 30 Jul 2005 20:55:16 -0000 1.6
***************
*** 1,5 ****
#!/usr/bin/python
! import sys, math, threading, os, time
import kaa
--- 1,5 ----
#!/usr/bin/python
! import sys, math, threading, os, time, gc
import kaa
***************
*** 44,54 ****
stream.send_event(xine.EVENT_INPUT_PREVIOUS)
elif key == "d":
! source = stream.get_video_source()
! deint_input = stream.deint_post.get_default_input()
! if source.get_wire_target() == deint_input:
! stream.deint_post.unwire()
say("\nDeinterlacing OFF\n")
else:
- source.wire(deint_input)
say("\nDeinterlacing ON\n")
--- 44,52 ----
stream.send_event(xine.EVENT_INPUT_PREVIOUS)
elif key == "d":
! enabled = stream.deint_post.get_parameters()["enabled"]
! stream.deint_post.set_parameters(enabled = not enabled)
! if enabled:
say("\nDeinterlacing OFF\n")
else:
say("\nDeinterlacing ON\n")
***************
*** 111,115 ****
--- 109,124 ----
print "RENDER FROM MAIN THREAD\n\n"
+ toggle=1
+ c=0
+ lf=0
def foo(width, height, aspect, buffer, window):
+ global toggle, c, lf
+ c+=1
+ toggle=1-toggle
+ if time.time()-lf > 1:
+ print threading.currentThread(), "fps %d\n" % c
+ c=0
+ lf=time.time()
+ return 1
if not window.get_visible():
return True
***************
*** 124,132 ****
window.movie.pixels_import(buffer, width, height,
evas.PIXEL_FORMAT_YUV420P_601)
window.movie.pixels_dirty_set()
! window.get_evas().render()
! return 42
! #cb = notifier.MainThreadCallback(window.get_evas().render)
! #cb()
! #notifier.call_from_main(window.get_evas().render)
--- 133,138 ----
window.movie.pixels_import(buffer, width, height,
evas.PIXEL_FORMAT_YUV420P_601)
window.movie.pixels_dirty_set()
! notifier.MainThreadCallback(window.get_evas().render)()
! return True
***************
*** 135,140 ****
x = xine.Xine()
! if 1: #isinstance(win, display.EvasX11Window):
! win2 = display.EvasX11Window(gl = True, size = (640, 480), title = "Kaa
Player")
r = win2.get_evas().object_rectangle_add()
r.color_set((255,255,255,255))
--- 141,146 ----
x = xine.Xine()
! if 1:
! win2 = display.EvasX11Window(gl = False, size = (640, 480), title = "Kaa
Player")
r = win2.get_evas().object_rectangle_add()
r.color_set((255,255,255,255))
***************
*** 152,162 ****
win2.movie.show()
! cb = notifier.MainThreadCallback(foo, win2)
#cb.set_async(False)
! vo_xv = x.open_video_driver(window = win)
! vo = x.open_video_driver("buffer", callback = cb, passthrough = vo_xv)
! #vo = vo_xv
else:
- vo_xv = None
vo = x.open_video_driver(window = win)
--- 158,168 ----
win2.movie.show()
! cb = notifier.Callback(foo, win2)
! #cb = notifier.MainThreadCallback(foo, win2)
#cb.set_async(False)
! #vo_xv = x.open_video_driver(window = win)
! vo = x.open_video_driver("buffer", callback = cb, passthrough =
x.load_video_output_plugin("xv", window=win))
! #vo = x.open_video_driver("xv", window = win)
else:
vo = x.open_video_driver(window = win)
***************
*** 169,196 ****
if not isinstance(win, display.EvasX11Window):
win.signals["aspect_changed"].connect_weak(handle_aspect_changed, stream,
win)
! kaa.signals["idle"].connect_weak(output_status_line, stream, win)
!
! stream.open(mrl)
! stream.play()
stream.deint_post = x.post_init("tvtime", video_targets = [vo])
! methods = stream.deint_post.get_parameters_desc()["method"]["enums"]
! print methods
! stream.deint_post.set_parameters(method = methods.index("LinearBlend"))
! #stream.deint_post.set_parameters(method = methods.index("TomsMoComp"),
cheap_mode = False)
!
! #cb = notifier.Callback(foo, win)
! #buffer = x.post_init("buffer", video_targets = [vo])
! #buffer = x.post_init("buffer", video_targets =
[stream.deint_post.get_default_input().get_port()])
! #buffer.set_parameters(callback = id(cb))
! #stream.get_video_source().wire(buffer.get_default_input())
! #buffer.get_default_output().wire(stream.deint_post.get_default_input())
! #fork = x.post_init("fork", video_targets = [vo, vo_buffer])
! #stream.get_video_source().wire(fork.get_default_input())
- print x.list_post_plugins()
win.show()
kaa.main()
win.hide()
! del ao, vo, stream, x, vo_xv, win, win2
--- 175,193 ----
if not isinstance(win, display.EvasX11Window):
win.signals["aspect_changed"].connect_weak(handle_aspect_changed, stream,
win)
! #kaa.signals["idle"].connect_weak(output_status_line, stream, win)
stream.deint_post = x.post_init("tvtime", video_targets = [vo])
! print stream.deint_post.get_parameters_desc()["framerate_mode"]
! stream.deint_post.set_parameters(method = "GreedyH")
! stream.get_video_source().wire(stream.deint_post.get_default_input())
! #print vo, vo.get_driver(), vo.get_driver()._driver.owner,
vo.get_driver().get_port()
! stream.open(mrl)
! stream.play()
win.show()
kaa.main()
win.hide()
! print win2._display._display, win._display._display,
win2.get_evas()._dependencies
! del ao, vo, stream, x, win, win2, r, cb
! gc.collect()
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog