GNOME Bugzilla – Bug 371390
HelloWorld Error
Last modified: 2006-11-30 22:15:14 UTC
Please describe the problem: Hi, Group, I got the example Helloworld from http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-helloworld.html#section-helloworld and made it compiled on linux-2.4.20 and gcc-3.2.2-5, but when I run it as ./helloworld ../../purelove.mp3 an error comes out as: pipeline = 0x08068060 source = 0x080b6020 decoder = 0x080be0e0 conv = 0x080c3018 sink = 0x080c8010 Setting to PLAYING Running [Invalid UTF-8] Error: \xce\xde\xb7\xa8\xbd\xe2\xc2\xeb\xc1\xf7\xa1\xa3 Returned, stopping playback Deleting pipeline why? Steps to reproduce: 1. make helloworld compiled on the same enviroment 2. run it 3. Actual results: Expected results: Does this happen every time? yes Other information:
*** Bug 372885 has been marked as a duplicate of this bug. ***
That hello world example will only work for Ogg/Vorbis audio files. It will not work with mp3 files as it is. If you try to play an mp3 file with the example, you will get the following error: tpm@flap:~/tmp/helloworld$ ./hello ../../foo.mp3 Setting to PLAYING Running Error: Could not demultiplex stream. Returned, stopping playback Deleting pipeline That is to be expected. I don't know why you're not getting a proper error message though, it could be either a garbage pointer or some locale mixup, hard to say like this. Could you run your example like this: $ export GST_DEBUG=*:5 $ ./helloworld ../../purelove.mp3 2>dbg.log and then attach dbg.log to this bug report please?
Created attachment 76548 [details] log0 the first part of the log
Created attachment 76550 [details] log1 second part
Created attachment 76551 [details] log2 third part
I have tried it with an ogg file like as : ./oggplayer ../../01givemeasign.ogg Setting to PLAYING Running Dynamic pad created, linking parser/decoder Error: Internal data stream error. Returned, stopping playback Deleting pipeline and after set GST_DEBUG=5, I got an error log file, but It's too large, so I splitted it into three attached above. Please check. By a metion, all above are tested on VMware. Does it have any impact?
Things should work fine in VMWare, that should not be a problem. Could you please attach the _exact_ version of the source code that you used to produce the log file? In the log file - there is evidence of someone trying to link filesrc to vorbisdec (!) - there is no evidence of anyone every trying to link vorbisdec <=> audioconvert <=> osssink These two observations do not match the source code in the example, so it looks like you fiddled with the source code and got a not-linked flow return because you removed the code that does the linking. This is to be expected. FWIW, there should probably also be an audioresample element in front of the osssink, but your Ogg/Vorbis file seems to have a sample rate of 44100 which is likely to be accepted by osssink by defaul in any case.
In this case, the oggplayer.c is just changed from helloworld case got from http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-helloworld.html. I just change its name. Nothing else has been changed,either.
Created attachment 76560 [details] the source file
If I click the link above, I see this gst_element_link (source, parser); gst_element_link_many (decoder, conv, sink, NULL); in the code, and not this (as in your attachement): gst_element_link (source, parser); gst_element_link_many (source, decoder, conv, sink, NULL); Maybe you're looking at an outdated version of the documentation or the program? Could you try to change the above line in the source code and see if it makes a difference?
I'm sorry that some changes have been made by me carelessly. But, I can't hear nothing except 'papapa...' after correction yet. what's matter? The log is too large.
It becomes okay after osssink has been changed to esdsink. But I could hear 'do....' with them to test audiotestsrc.