View Single Post
Old 26th July 2004, 18:17   #20  |  Link
unmei
frying subs
 
unmei's Avatar
 
Join Date: Jan 2003
Location: ch-2500
Posts: 891
OK, more details coming
(1) copy the content of /bin into C:\gstremer\bin and the content of /plugin into C:\gstreamer\plugin (i don't copy registry.xml now as it build in another place later and was not overwritten the first time)

note these things are long now, conclusion is at end of (7) and fix is doing (8).

(2) run gst-register.exe
-> results in this popup


and nothing being done. (yes you were right, not libintl2.dll, but libintl-2.dll)

(3) copy intl.dll to libintl-2.dll (now i have BOTH a libintl-2.dll and intl.dll in my bin folder, which are the same)

(4) rerun gst-register
output (probably copped on top by console buffer):

[..]
** (process:3292): CRITICAL **: unimplemented vararg field type 38282751
[repeat several times]
** (process:3292): CRITICAL **: unimplemented vararg field type 1899767295
[repeat even more times]
** (process:3292): CRITICAL **: unimplemented vararg field type 38282751
[repeat several times]
** (process:3292): CRITICAL **: unimplemented vararg field type 1899767295
[repeat several times]
** (process:3292): CRITICAL **: unimplemented vararg field type 1897670143


** (process:3292): CRITICAL **: unimplemented vararg field type 1900029439


** (process:3292): CRITICAL **: unimplemented vararg field type 1899767295


** (process:3292): CRITICAL **: unimplemented vararg field type 1897670143
[..39 and ..95 then alternate a lot of times]
[and finally]
Rebuilding global_registry (c:\gstreamer/registry.xml) ...
Added plugin gstaudiofilter with 0 features.
Added plugin gstaudio with 0 features.
Added plugin gstspider with 2 features.
Added plugin gstoptscheduler with 1 feature.
Added plugin gstelements with 13 features.
Added plugin gstbytestream with 0 features.
Added plugin riff with 0 features.
Added plugin matroska with 2 features.
Added plugin avi with 2 features.
Rebuilding user_registry (C:\Documents and Settings\hekisa/.gstreamer-0.8/registry.xml) ...
Loaded 9 plugins with 20 features.

C:\gstreamer\bin>

(5) gst-inspect

gstspider: spider: Spider
gstspider: spideridentity: SpiderIdentity
gstoptscheduler: opt: An optimal scheduler using no cothreads
gstelements: aggregator: Aggregator pipe fitting
gstelements: fakesrc: Fake Source
gstelements: fakesink: Fake Sink
gstelements: fdsink: Filedescriptor Sink
gstelements: fdsrc: Disk Source
gstelements: filesrc: File Source
gstelements: filesink: File Sink
gstelements: identity: Identity
gstelements: md5sink: MD5 Sink
gstelements: shaper: Shaper
gstelements: statistics: Statistics
gstelements: tee: Tee pipe fitting
gstelements: typefind: TypeFind
matroska: matroskademux: Matroska demuxer
matroska: matroskamux: Matroska muxer
avi: avidemux: Avi demuxer
avi: avimux: Avi multiplexer
gstcoreelements: queue: Queue
gstcoreelements: thread: Threaded container
gstcoreelements: pipeline: Pipeline object
gstcoreelements: bin: Generic bin

(6) C:\gstreamer\bin>gst-launch filesrc location="Opening theme -full.mp3" ! matroskamux ! filesink location="test.mka"
->results in this popup

and the following output to console:

Starting parse
Entering state 0
Reading a token: Next token is token IDENTIFIER ()
Shifting token IDENTIFIER, Entering state 2
Reducing stack by rule 1 (line 503), IDENTIFIER -> element
Stack now 0
[..]
Stack now 0 14
Entering state 28
Next token is token IDENTIFIER ()
Shifting token IDENTIFIER, Entering state 2
Reducing stack by rule 1 (line 503), IDENTIFIER -> element

** (process:2268): CRITICAL **: how to remove plugins?

** (process:2268): CRITICAL **: Factory for `matroskamux' has no type. This probably means the plugin wasn't found because the registry is broken. The plugin GStreamer was looking for is named 'matroska' and is expected in file 'c:\gstreamer/plugins/gstmatroska.dll'. The registry for this plugin is located at 'c:\gstreamer/registry.xml'
Error: popping token IDENTIFIER ()
Stack now 0 14 28
Error: popping nterm link ()
Stack now 0 14
Shifting error token, Entering state 27
Reducing stack by rule 31 (line 639), chain error -> chain
Stack now 0
Entering state 14
Reading a token: Next token is token LINK ()
[etc]
Now at end of input.
WARNING: erroneous pipeline: no element "matroskamux"
Trying to run anyway.
RUNNING pipeline ...
Execution ended after 1028 iterations (sum 921000000 ns, average 895914 ns, min
0 ns, max 50000000 ns).

C:\gstreamer\bin>

the resulting mka plays perfect (without stuttering) in TCMP but foobar2k says its a invalid matroska.
MKInfo says it has no level 0 node and matroska properties do not show up (both are older versions but see below)
TCMP console:
> File will be opened now !
..
> Core: Adding MPEG Layer-3 Decoder
> Core: RenderFile()...
...
> We should be playing now.
> Everything seems to be ok, birds are singing...
> Matroska CDL: A Matroska file is starting playback
> Matroska CDL: Searching tracks for a video track
> <===== Leaving LoadMediaFile. 1

BUT if i rename the file to .mp3
winamp plays the file and has correct file info. my winamp doesnt know about matroska..
AND foobar also plays and recognises this file with .mp3 extension
which leads me to the conclusion the ouptput is NOT matroska but a normal mp3 with btw is on the byte the same size as the input mp3.

(7) C:\gstreamer\bin>gst-launch filesrc location="Shonen Knife - Konnichiwa.mka" ! matroskademux ! filesink location="test2.mp3"
->The same popup and it also does something.
The resulting file this time seems to be a valid MKA (not mp3) with the same size as the input.

Conclusion at the moment these two operations are simply coping the file 1:1

(8) adding the plugins folder to windows PATH

(9) same input as (6) (attempt mp3 to mka muxing)
console:
** (process:3988): CRITICAL **: unimplemented vararg field type 38282751
[above is repeated a dozen of times]

Stack now 0 14 28
Entering state 8
Reading a token: Next token is token LINK ()
Reducing stack by rule 27 (line 570), element -> chain
[..etc, nothing that looks like warning or error..]
Entering state 15
Now at end of input.
RUNNING pipeline ...
Execution ended after 1027 iterations (sum 1753000000 ns, average 1706913 ns, mi
n 0 ns, max 40000000 ns).

the resulting file is now slighly larger and seems to be a valid matroska. It doesnt play in foorbar (no decodable streams found).
TCMP plays it choppy after a very long load time. TCMP console:
> Opening C:\gstreamer\bin\test.mka
> Matroska CDL: Found Matroska File
..
> Bitrate: 0 KB/s
> Extension: MKA
> Codec:
> EncodingStyle:
> Comment:
> Extended:
> [Error] : Identifier expected
> Checking header...
> Prepare to summon filters...
..
> File will be opened now !
..
> Core: Adding MPEG Layer-3 Decoder
> Core: RenderFile()...
> Core: RenderFile() rendering time: 501ms
> The operation completed successfully.
..
> We should be playing now.
> Everything seems to be ok, birds are singing...
> Matroska CDL: A Matroska file is starting playback
> Matroska CDL: Searching tracks for a video track
> Matroska CDL: Found a video track
> <===== Leaving LoadMediaFile. 1

and finally MKVinfo thinks

(MKVInfo) + EBML head at 0
(MKVInfo) + Segment at 32
(MKVInfo) |+ Seek head at 44
(MKVInfo) | + Seek entry at 56
(MKVInfo) | + Seek ID: 0x15 0x49 0xa9 0x66 (KaxInfo) at 66
(MKVInfo) | + Seek position: 96 at 73
(MKVInfo) | + Seek entry at 84
(MKVInfo) | + Seek ID: 0x16 0x54 0xae 0x6b (KaxTracks) at 94
(MKVInfo) | + Seek position: 139 at 101
(MKVInfo) | + EbmlVoid (size: 26) at 112
(MKVInfo) |+ Segment information at 140
(MKVInfo) | + Timecode scale: 1000000 at 152
(MKVInfo) | + Duration: 0.000s at 159
(MKVInfo) | + Muxing application: GStreamer at 170
(MKVInfo) |+ Segment tracks at 183
(MKVInfo) | + A track at 195
(MKVInfo) | + Track number: 1 at 204
(MKVInfo) | + Track type: video at 207
(MKVInfo) | + Default duration: 9223372036854.775ms (0.000 fps for a video track) at 210
(MKVInfo) | + Video track at 222
(MKVInfo) | + Pixel width: 16 at 231
(MKVInfo) | + Pixel height: 16 at 234
(MKVInfo) | + Codec ID: V_MPEG1 at 237
(MKVInfo) | + Name: Video at 247
(MKVInfo) |+ Cluster at 256

(10) same input as (7) (attempt matroska demux)

output: again fist a couple of the vararg critical warnings, then a normal start

Stack now 0 14 28
Entering state 8
Reading a token: Next token is token LINK ()
Reducing stack by rule 27 (line 570), element -> chain
[..]
Stack now 0
Entering state 15
Now at end of input.
RUNNING pipeline ...
ERROR: from element /pipeline0/matroskademux0: Could not demultiplex stream.
Additional debug info:
d:\perso\programmes\gstreamer\gst-plugins\gst\matroska\ebml-read.c(184): ???: /p
ipeline0/matroskademux0:
Invalid EBML ID size tag (0x0) at position 4135 (0x0)
Execution ended after 1 iterations (sum 0 ns, average 0 ns, min 0 ns, max 0 ns).

Now this doesn't work, and no ouptput file is generated.
This is probably normal, i.e it would also not yet work if i had the real libintl-2.dll and my paths and everything were set up as on the developers computers.

------------------------
Summary: for tests, further than what is said in the readme, add the plugins directory to your windows PATH.
And the libintl-2.dll is required but missing in the package. This can be patched in a dirty way by a dummy (mine was a copy of the intl.dll). It seems to work somehow.
Developers should please check if libintl-2.dll is actually required. If yes please include it in a future package. If not, find the place that erronuously wants to load it and remove that useless statement.

[edit]forgot the images..
__________________
-nyo

Last edited by unmei; 26th July 2004 at 18:31.
unmei is offline   Reply With Quote