Author: dmeyer
Date: Mon Nov  6 15:08:39 2006
New Revision: 1986

Modified:
   trunk/popcorn/src/backends/xine/child.py

Log:
make video work again

Modified: trunk/popcorn/src/backends/xine/child.py
==============================================================================
--- trunk/popcorn/src/backends/xine/child.py    (original)
+++ trunk/popcorn/src/backends/xine/child.py    Mon Nov  6 15:08:39 2006
@@ -83,7 +83,7 @@
             self.parent.set_status(*cur_status)
 
 
-    def _get_stream_info(self):
+    def _get_streaminfo(self):
         if not self._stream:
             return {}
 
@@ -157,7 +157,7 @@
             del event.data["data"]
         print "EVENT", event.type, event.data
         if event.type == xine.EVENT_UI_CHANNELS_CHANGED:
-            self.parent.set_stream_info(True, self._get_stream_info())
+            self.parent.set_streaminfo(True, self._get_streaminfo())
         self.parent.xine_event(event.type, event.data)
 
 
@@ -183,15 +183,23 @@
         control_return = []
         if wid and isinstance(wid, int):
             self._vo = self._xine.open_video_driver(
-                "kaa", control_return = control_return,
-                passthrough = "xv", wid = wid,
+                "xv", control_return = control_return, wid = wid,
                 osd_configure_cb = 
kaa.notifier.WeakCallback(self._osd_configure),
-                # osd_buffer = self._osd_shmem.addr + 16, osd_stride = 2000 * 
4,
-                # osd_rows = 2000,
-                # self._vo = self._xine.open_video_driver("xv", wid = wid,
                 frame_output_cb = 
kaa.notifier.WeakCallback(self._x11_frame_output_cb),
                 dest_size_cb = 
kaa.notifier.WeakCallback(self._x11_dest_size_cb))
-            self._driver_control = control_return[0]
+            self._driver_control = None
+
+            # This segfaults right now:
+            # self._vo = self._xine.open_video_driver(
+            #     "kaa", control_return = control_return,
+            #     passthrough = "xv", wid = wid,
+            #     osd_configure_cb = 
kaa.notifier.WeakCallback(self._osd_configure),
+            #     # osd_buffer = self._osd_shmem.addr + 16, osd_stride = 2000 
* 4,
+            #     # osd_rows = 2000,
+            #     # self._vo = self._xine.open_video_driver("xv", wid = wid,
+            #     frame_output_cb = 
kaa.notifier.WeakCallback(self._x11_frame_output_cb),
+            #     dest_size_cb = 
kaa.notifier.WeakCallback(self._x11_dest_size_cb))
+            # self._driver_control = control_return[0]
         elif wid and isinstance(wid, str) and wid.startswith('fb'):
             self._vo = self._xine.open_video_driver(
                 "kaa", control_return = control_return,
@@ -208,30 +216,24 @@
         #self._stream.set_parameter(xine.PARAM_VO_CROP_BOTTOM, 10)
         self._stream.signals["event"].connect_weak(self.handle_xine_event)
 
+        # self._noise_post = self._xine.post_init("noise", video_targets = 
[self._vo])
+        # self._noise_post.set_parameters(luma_strength = 3, quality = 
"temporal")
+        # 
self._stream.get_video_source().wire(self._noise_post.get_default_input())
+
+        # self._deint_post = self._xine.post_init("tvtime", video_targets = 
[self._expand_post.get_default_input()])
+        # self._deint_post = self._xine.post_init("tvtime", video_targets = 
[self._vo])
+        # self._deint_post.set_parameters(method = config.deinterlacer.method,
+-       #                                 chroma_filter = 
config.deinterlacer.chroma_filter)
 
-        # FIXME: plugin stuff should be exposed via api, or configurable
-        # somehow.
-
-        #self._noise_post = self._xine.post_init("noise", video_targets = 
[self._vo])
-        #self._noise_post.set_parameters(luma_strength = 3, quality = 
"temporal")
-        
#self._stream.get_video_source().wire(self._noise_post.get_default_input())
-
-        #self._deint_post = self._xine.post_init("tvtime", video_targets = 
[self._expand_post.get_default_input()])
-        self._deint_post = self._xine.post_init("tvtime", video_targets = 
[self._vo])
-        self._deint_post.set_parameters(method = config.deinterlacer.method,
-                                        chroma_filter = 
config.deinterlacer.chroma_filter)
-
-        
#self._stream.get_video_source().wire(self._deint_post.get_default_input())
-        #self._expand_post = self._xine.post_init("expand", video_targets = 
[self._vo])
-        self._expand_post = self._xine.post_init("expand", video_targets = 
[self._deint_post.get_default_input()])
+        self._expand_post = self._xine.post_init("expand", video_targets = 
[self._vo])
+        # self._expand_post.set_parameters(enable_automatic_shift = True, 
aspect=16.0/9)
         self._expand_post.set_parameters(enable_automatic_shift = True)
         
self._stream.get_video_source().wire(self._expand_post.get_default_input())
 
         self._goom_post = None
-        if wid:
-            self._goom_post = self._xine.post_init("goom", video_targets = 
[self._vo], audio_targets=[self._ao])
-
-        #self._driver_control("set_passthrough", False)
+        # if wid:
+        #   self._goom_post = self._xine.post_init("goom", video_targets = 
[self._vo], audio_targets=[self._ao])
+        # self._driver_control("set_passthrough", False)
         return self._stream
 
 
@@ -244,14 +246,14 @@
                 self._stream.get_audio_source().wire(self._ao)
             xine._debug_show_chain(self._stream._obj)
         except xine.XineError:
-            self.parent.set_stream_info(False, self._stream.get_error())
+            self.parent.set_streaminfo(False, self._stream.get_error())
             print "Open failed:", self._stream.get_error()
             return
         if not self._check_stream_handles():
-            self.parent.set_stream_info(False, None)
+            self.parent.set_streaminfo(False, None)
             print "unable to play stream"
             return
-        self.parent.set_stream_info(True, self._get_stream_info())
+        self.parent.set_streaminfo(True, self._get_streaminfo())
         self._status.start(0.001)
 
 

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to