xpra icon
Bug tracker and wiki

Opened 6 years ago

Closed 6 years ago

#299 closed task (wontfix)

try newer gstreamer win32 builds

Reported by: Antoine Martin Owned by: aradtechkk
Priority: critical Milestone: 0.9
Component: platforms Version:
Keywords: win32 Cc:

Description

In order to solve #297 reliably and to get opus support (#246), we probably need a better/newer build of gstreamer, it doesn't hurt to try.


The ossbuild downloads are stuck in March 2011 and it seems like the project is completely dead.
Maybe these 0.10 builds are more up to date? (latest from March 2012 - slightly better)


Alternatively, we could try porting it to gstreamer 1.0, but I think this is going to be a lot of work: we cannot use gtk2 as the new gstreamer/pygst bindings use gobject introspection.

Change History (1)

comment:1 Changed 6 years ago by Antoine Martin

Resolution: wontfix
Status: newclosed

OK, I want to make a release sooner rather than later so I've tried it myself and this looks like a no-go.
Here's how:

  • download all the latest builds and extract them into C:\gstreamer-0.10-win32. Warning: DO NOT ever use C:\gstreamer which is a "magic" path hardcoded somewhere in the win32 builds of gstreamer...
  • change the path to gstreamer in win32/MAKE-INSTALLER.BAT to match the new location:
    -SET GSTREAMER=C:\Program Files\OSSBuild\GStreamer\v0.10.7
    +SET GSTREAMER=C:\gstreamer-0.10-win32
    
  • copy the python bindings from the ossbuild tree to the new binary tree (dirty..), we only need:
    sdk\bindings\python\v2.7\lib\gstreamer-0.10
    sdk\bindings\python\v2.7\lib\site-packages
    

(the directory structure must be preserved to minimize the changes to the BAT file)

  • run the build and notice some errors about missing DLLs..
  • copy all the DLLs from bin to the xpra installation directory, and all the DLLs from lib/gstreamer-0.10 to gstreamer-0.10 in xpra's installation directory

Unfortunately the resulting .exe just hangs silently (looks like a DLL-hell issue), so we probably need to build the python bindings from source, against the headers from this latest build.. And that is totally non-trivial since you need a lot of headers to build (python headers, gtk headers, etc .. as well as the gstreamer headers, ideally all via pkgconfig). If possible, a cross build from Linux may well be an easier option.


The only real way forward is to sort out the win32 build completely... by not using the horror that is MS Windows as a build environment, see #300

Note: See TracTickets for help on using tickets.