> Don't use 'winbuilds' - they are too old. You need a fairly recent build of
> gstreamer and the best way to do it is building it yourself. The current
> version is 0.10.24 - last I tried, gstreamer-java worked well with 0.10.17,
> but 0.10.4 may be too old. Try to run first the PipelineLauncher example, to
> which you can give the same pipeline description you use for 'gst-launch'.
This is indeed very confusing, but the WinBuilds installer executable
I linked to above has 0.10.4 in the filename, but it is actually just
4 days old (on the changelog it says Aug 20, 2009) and seems to
contain GStreamer 0.10.23 (latest available GStreamer right now is
0.10.24):
C:\gstreamer\bin>gst-launch-0.10.exe --version
gst-launch-0.10 version 0.10.23
GStreamer 0.10.23
Unknown package origin
Anyway, i just turned on --gst-debug-level=3 (sorry, should have done
that before posting) and figured out what the problem was:
0:00:00.656250000 5832 02E14038 WARN gio_src
gstgiosrc.c:313:gst_gio_src_start:<source> error: Could not open
location file:///c:/Src/Workspace/GStreamerTests/file:/c:/demo.ogg for
reading: Error opening file: Invalid argument
This is caused by
playbin.setInputFile( new File("c:/demo.ogg" ) );
So for some reason it prepends the current working directory to the
actual URI (and thus can't find it). I then tried
playbin.setURI( new URI("file:///c:/demo.ogg")); // NOTE: 3
slashes after file: (i.e no hostname)
which doesn't work either (using exact same uri in gst-launcher
works!).
The fix was to use
playbin.setURI( new URI("file://localhost/c:/demo.ogg")); // NOTE:
localhost as hostname
which works (i.e the file starts playing).
I believe this is a bug, but I haven't had the time to track down
where it is (my guess is in gstreamer-java). Hopefully this post will
help someone else with the same problem.
/citizen