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

Reply via email to