ovikassingho / gstreamer-java

Automatically exported from code.google.com/p/gstreamer-java
0 stars 0 forks source link

StreamInfoTest fails for windows #130

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
This is a minor issue. 

StreamInfoTest.setUpBeforeClass() uses java's getAbsolutePath method to 
determine the file location of the Temp file. In Windows you run into the 
problem that the location has '\' and when parsed with Pipeline.launch, it 
treats it as an extended character. This results in the actual file being saved 
as something like CUsersUserAppDataLocalTemp-1234567890.ogg in the project 
directory, and the tests look for the file in 
C:\Users\User\AppData\Local\Temp-1234567890.ogg.

My proposed patch replaces any '\' character with '\\' in the file location 
string.

Original issue reported on code.google.com by Michael....@gmail.com on 7 Jun 2013 at 8:19

Attachments:

GoogleCodeExporter commented 8 years ago
not really like this solution...:-(

Original comment by lfar...@lfarkas.org on 7 Jun 2013 at 8:32

GoogleCodeExporter commented 8 years ago
Hmm,

Well heres the debug for you. I could only assume this would break on linux if 
the path had a space in it: /usr/home/user/path\ with\ space/file.ogg. But then 
again, who uses spaces in a *nix path, or sets java.io.tmpdir to one :).

setUpBeforeClass():

0:00:02.986379000 INFO GST_PIPELINE gstparse.c:334:gst_parse_launch_full: 
parsing pipeline description 'videotestsrc num-buffers=25 ! theoraenc ! oggmux 
name=mux ! filesink 
location=C:\Users\Username\AppData\Local\Temp\StreamInfoTest-2944876850316221146
.ogg audiotestsrc num-buffers=44 ! vorbisenc ! mux.'

0:00:03.788481000 DEBUG GST_PIPELINE parse.l:75:priv_gst_parse_yylex: flex: 
ASSIGNMENT: 
location=C:\Users\Username\AppData\Local\Temp\StreamInfoTest-2944876850316221146
.ogg
0:00:03.788481000 DEBUG GST_URI gsturi.c:898:gst_filename_to_uri: 
'C:UsersUsernameAppDataLocalTempStreamInfoTest-2944876850316221146.ogg' -> 
'file:///C:/Users/Username/SVN/External/gstreamer-java/gstreamer-java/C:UsersUse
rnameAppDataLocalTempStreamInfoTest-2944876850316221146.ogg'
0:00:03.788481000 INFO filesink gstfilesink.c:301:gst_file_sink_set_location: 
filename : C:UsersUsernameAppDataLocalTempStreamInfoTest-2944876850316221146.ogg
0:00:03.788481000 INFO filesink gstfilesink.c:302:gst_file_sink_set_location: 
uri : 
file:///C:/Users/Username/SVN/External/gstreamer-java/gstreamer-java/C:UsersUser
nameAppDataLocalTempStreamInfoTest-2944876850316221146.ogg

0:00:04.168029000 DEBUG filesink 
gstfilesink.c:419:gst_file_sink_open_file:<filesink0> opened file 
C:UsersUsernameAppDataLocalTempStreamInfoTest-2944876850316221146.ogg, seekable 
1

setUp():

0:00:04.833113000 DEBUG GST_ELEMENT_FACTORY 
gstelementfactory.c:402:gst_element_factory_create: created element "playbin"
0:00:04.865617000 DEBUG playbasebin 
gstplaybasebin.c:2562:gst_play_base_bin_set_property: setting new uri to 
file:///C:/Users/Username/AppData/Local/Temp/StreamInfoTest-2944876850316221146.
ogg

0:00:04.870618000 DEBUG playbasebin 
gstplaybasebin.c:2083:setup_source:<playbin> setup source
0:00:04.870618000 DEBUG GST_URI gsturi.c:607:gst_element_make_from_uri: type:2, 
uri:file:///C:/Users/Username/AppData/Local/Temp/StreamInfoTest-2944876850316221
146.ogg, elementname:source
0:00:04.870618000 DEBUG GST_PLUGIN_LOADING 
gstpluginfeature.c:106:gst_plugin_feature_load: loading plugin for feature 
05172248; 'filesrc'
0:00:04.870618000 INFO GST_ELEMENT_FACTORY 
gstelementfactory.c:374:gst_element_factory_create: creating element "filesrc" 
named "source"

0:00:04.871118000 DEBUG GST_ELEMENT_FACTORY 
gstelementfactory.c:402:gst_element_factory_create: created element "filesrc"
0:00:04.871118000 DEBUG GST_URI gsturi.c:898:gst_filename_to_uri: 
'C:\Users\Username\AppData\Local\Temp\StreamInfoTest-2944876850316221146.ogg' 
-> 
'file:///C:/Users/Username/AppData/Local/Temp/StreamInfoTest-2944876850316221146
.ogg'
0:00:04.871118000 INFO filesrc gstfilesrc.c:376:gst_file_src_set_location: 
filename : 
C:\Users\Username\AppData\Local\Temp\StreamInfoTest-2944876850316221146.ogg
0:00:04.871118000 INFO filesrc gstfilesrc.c:377:gst_file_src_set_location: uri 
: 
file:///C:/Users/Username/AppData/Local/Temp/StreamInfoTest-2944876850316221146.
ogg

0:00:04.927125000 DEBUG basesrc gstbasesrc.c:2754:gst_base_src_start:<source> 
starting source
0:00:04.927125000 INFO filesrc gstfilesrc.c:955:gst_file_src_start:<source> 
opening file 
C:\Users\Username\AppData\Local\Temp\StreamInfoTest-2944876850316221146.ogg
0:00:04.927125000 DEBUG basesrc gstbasesrc.c:2787:gst_base_src_start:<source> 
setting size 0
0:00:04.927125000 DEBUG basesrc gstbasesrc.c:2800:gst_base_src_start:<source> 
format: bytes, have size: 1, size: 0, duration: 0

0:00:04.927625000 WARN typefind 
gsttypefindelement.c:954:gst_type_find_element_activate:<typefind> error: 
Stream contains no data.
0:00:04.927625000 WARN typefind 
gsttypefindelement.c:954:gst_type_find_element_activate:<typefind> error: Can't 
typefind empty stream

Test fails. Since the file didn't exist filesrc creates an empty file at the 
correct location with 0 bytes.

Original comment by Michael....@gmail.com on 7 Jun 2013 at 10:11

GoogleCodeExporter commented 8 years ago
Another alternative?

Original comment by Michael....@gmail.com on 7 Jun 2013 at 10:19

Attachments:

GoogleCodeExporter commented 8 years ago
r602

Original comment by lfar...@lfarkas.org on 8 Jun 2013 at 12:00