![]() |
gstreamer with ogg vorbis support
Hello,
like many other people i have the interest in playing ogg files with a gstreamer enabled application. It would be too simple to play all music files with one music-player ;) So i recompiled the gstreamer sources with ogg vorbis support... ...installed the new packages on my Nokia770 and normal sound still worked ( :D ) and gstreamer recognised the new libs without complaining (gst-inspect). Then i tried to play a ogg file with the build in music player (i had to adapt the mime types), but without success! The easiest way to test whether the new ogg libs are working or not was to use gst-lauch. And it worked!!! i could convert a wav into an ogg an play an ogg directly... Code:
gst-launch-0.10 filesrc location="test.ogg" ! oggdemux ! vorbisdec ! audioconvert ! dsppcmsink It seems that the only way of getting usable ogg (gstreamer) support is to compile a new dspoggsink lib (so that the dsp hardware could do this stuff)! Does somebody know if sources of the dsp system exist? are the used dsp libs (like dspmp3sink) opensource? Greetings... N770-Freak |
What about the existing Ogg Vorbis Player http://maemo.org/maemowiki/Applicati...949d51d3287b10
Or what about this quote from Visa Smolander with regard to Media Streamer developments in the www.maemo.org garage section? Quote:
|
Make sure that you use fixed point vorbis decoder implementation (tremor), also compile it with proper options (it has some arm assembly in it) and use good gcc optimization settings includion -mcpu. Unless gstreamer screws everything up and adds some unexpected overhead, it should work quite fast and provide reasonable performance.
|
Quote:
Quote:
I followed the instructions and copied the libs to my Nokia and gst-launch works great with tremor. But although i followed all (!) instructions the build-in media player does not like my ogg files ;( It says: "Wiedergabefehler" But the gconf-entry seems to be right!? Quote:
Quote:
Greetings... N770-Freak |
Quote:
I hope that you package up your work in the end as I would love to have one player do all my audio too. |
Quote:
- Neil |
Quote:
Btw. packaging should be done properly. I made a bad experience in the past with the maemo-recorder (after deinstalling the package the whole mime stuff was damaged!) |
short status feedback:
I've installed gstreamer with debug mode and evaluated the output. The ogg file isn't handled like the gconf entry's default. The gconf entry gives the rule to demux,decode ogg files with tremor and to use the dsppcmsink. But the osso-media-server grabs the ogg file and connects it to "ivorbisfile" (it doesn't even load the dsppcmsink). So I have tried to manipulate other gconf entries that belong to the osso-media-server but with no success. Theoretically it should be possible to disable/break mp3 playback (for example) with a broken x-id3 entry in the gconf?! But every manipulation of the gconf seems to have no effect to the osso-media-server! Has someone more experience with the gconf (and perhaps the osso-media-server)??? Is that right that the gconf only uses the entries in /etc/gconf and /etc/osso-af-init/gconf-dir ??? What is the difference between "--install-schema-file" and "--makefile-install-rule" ??? I need some help at this point!!! Greetings N770-Freak |
another status update:
osso-music-player plays my ogg files ;) Ok, more precise: I recompiled gst-plugins-bad-cvs against the gstreamer-cvs (before i used an older cvs version of the gst-plugins-bad because of a version incompatibility with the gstreamer version, but an adaption of the configure script was all i had to do) and now the osso-music-player plays my oggs with ca. 20% cpu usage! BUT at the moment i am not able to jump in the music stream. The player doesn't show the playtime of the ogg files... mmmh ... Today i will do some more testing and will build a package! Then i need someone who has some internet space where i can put this stuff. (I don't want to upload this to rapidshare or some similar upload center) Greetings... N770-Freak |
Quote:
Quote:
- Neil |
Quote:
Quote:
Quote:
|
1 Attachment(s)
Quote:
Which gstreamer version are you using? Compiling gst-plugins-bad-cvs against stable 0.10.10 doesn't solve this problem! Quote:
Ok... I've completed the package and put all stuff in it! Now it should correctly install and (if you want so) deinstall ogg support. *Note* I have tested this only on my device for my personal use. I can't give any support if this does not work on your device or breaks your device! All work I have done was to follow the instructions on this page http://maemo.org/platform/docs/multi...g_started.html Known Bugs: - playtime of ogg files isn't recognised - jumping (reeling) in ogg files does not work Greetings N770-Freak |
Quote:
A bit more precisely... - I'm using the basic audio player for my testing. - Installation was straightforward. - Immediately after installation, audio player started up but refused to play a .ogg, with some error message popup. I then rebooted. - After reboot, I tried starting audio player (from the menu). It did not appear. - I then tried starting audio player again (exactly the same way). This time it appeared, and now plays .ogg files as advertised. Neil |
works great here too (older firmware - 1.2006.26-8) thanks
|
Quote:
- Neil |
It works well. No skipping when running the browser and file manager. Excellent! Thanks!
Still missing: 1. a way to open oggs from the player ... it annoyingly hides files with ogg extentions 2. it is not reading the IDv3 tags 3. ... and like you mentioned, there is no random jumping around within songs ... it treats the ogg file like it would a network stream One can get around 1. by making a m3u playlist manually by running 'find directory_containing_your_oggs > oggs.m3u' in a terminal. Hopefully you can put this up on garage so that others can add to your work if you don't have the time to. |
it doesn't do (1) for me. did you reboot?
|
Quote:
I was able to open oggs in the media player via double tapping them in the file manager. I also tried manually making a playlist as indicated and that worked like a charm too. |
Quote:
- Neil |
Quote:
Does someone know what services else have to be reloaded? Quote:
(please install the package in xterm and post the install messages!) ad 2: ok, i will try to work on that! the build in id3lib is not compatible with ogg! so enableing this feature in gconf doesn't make sense (playblack will fail!). ad 3: i didn't expect any thing else :D Quote:
Like i posted: all i have done is to follow the "getting started" docs! If someone wants to compile this in scratchbox or wants to debug this thing you'll only have to follow these instructions! Perhaps if you have some problems while compiling i will try to help you. Greetings... N770-Freak |
Quote:
Quote:
It is strange that Nokia would specifically remove the ogg reading ability from the id3lib if they are claiming to stay as close to upstream as possible. Quote:
|
Quote:
Quote:
(i have no deeper knowledge of this gstreamer stuff. So my strategy is 'try and false'.) The tags of mp3's are made available through id3lib! The tags of ogg's (vorbis) are made available through vorbisdec! But decoding an ogg with tremor doesn't make the tags available. So imho there are two possibilites: 1. the tremor lib prevents the availability of tags 2. the gsttremor lib prevents the availability of tags At this point i can do nothing. Perhaps someone knows if a gstlib exists that can demux taglists of ogg-vorbis files (like the id3lib does for mp3)? Greetings... N770-Freak |
I've got everything working except opening an ogg from within the audio player. Is this supposed to work? From this thread, it's unclear. Canola also doesn't see my ogg files. Thanks...
|
Quote:
did you get any errors while installing this package? did you reboot your device after installing? That canola could not find the files is another problem! But theoretically canola could play ogg's. (only problem i see is the cpu usage of canola. perhaps canola itself uses too much cpu that playback would be unusable!) Greetings... N770-Freak |
Not working here either
Quote:
I did not use CVS/SVN versions, but these: - libvorbisidec (tremor) version 1.0.2+svn12153 packaged for Debian by Daniel Gillmore (but not included in Debian yet) (linklink) - gst-plugins-bad0.10 version 0.10.3-3 from Debian With small debian/rules and dependency changes they packaged and installed fine. What can I do to debug this? I am not a gstreamer expert but gst-inspect does seem to indicate that the tremor plugin is working... I'm out of ideas. EDIT: hmm... after "playback error" osso-media-server starts using all available cpu cycles. |
I first tried installing through the App Manager and when that didn't work, I uninstalled it and installed by hand as root from a terminal. No errors but I went through all the steps from
http://www.maemo.org/platform/docs/m...d.html#plugins to make sure. (I didn't recreate the files but I made sure they looked the same and then ran the commands by hand.) Multiple reboots later and still the audio player doesn't see ogg files in the file chooser. |
Quote:
- Neil |
Quote:
after installing canola ogg makes problems. when i boot to my testing partition (no canola installed) all works well (also playing files opened from within the player itself). mmmh... so we have to look at all the stuff that canola installs. Greetings... N770-Freak |
Quote:
EDIT: and just for completeness: This works (the playback is a little choppy, but at least it plays): Code:
gst-launch-0.10 filesrc location=matkalaulu.ogg !tremor ! dsppcmsink |
Quote:
If you want to compile it yourself you should look at the developer mailinglist (Nov 2006). There you can find also the information for debugging this gstreamer stuff! You should use the latest cvs of gst-plugins-bad otherwise it won't work (look at the hole thread, it was mentioned before)! You mentioned that playback is choppy. How about your cpu usage? Greetings... N770-Freak |
Quote:
Quote:
Quote:
Quote:
Thanks for the help, by the way, - Jussi |
Quote:
Quote:
And if you don't use a new cvs of gst-plugins-bad it won't work (i tried it! believe me). gst-launch worked for me too with an old gst-plugins-bad version, but osso-media-server didn't. Compile gstreamer 0.10.10 (stable) for your developer platform. Download cvs of gst-plugins-bad and edit the configure.ac to check for a lower gstreamer version than 0.10.10.1 (this version still doesn't exists, so it will fail). If you want to debug this stuff you'll also have to compile the gstreamer stuff with debuging enabled! Quote:
Greetings... N770-Freak |
Quote:
EDIT: You are correct! Everything works now: Audio player plays my oggs (no skips or anything). The working configuration: - libvorbisidec (tremor) version 1.0.2+svn12153 packaged for Debian by Daniel Gillmore (but not included in Debian yet) (link) - gstreamer0.10 version 0.10.10-2 from debian - gst-plugins-bad0.10 from gstreamer CVS (2006-12-03) Some fiddling was needed but in the end it seems to work like charm. |
Quote:
Thanks - Neil |
Quote:
Perhaps jussik wants to comment this. |
Different routes, same result. With my method you end up with three pretty standard packages (the diffs to the mentioned packages are just a few lines) and one small self-made configuration package -- if I find the time to do some cleaning up, I could release them on garage (or somewhere) and maintaining should not be difficult...
By the way, extra thanks for your package N770-Freak: Getting some of the stuff in the maintainer scripts correct would have taken me ages without a "reference implementation". |
Quote:
Code:
Selecting previously deselected package gst-ogg-vorbis. That seems to happen in the 'update-mime-database /usr/share/mime' step of the postinst script. The ";audio/x-vorbis" seems to be appended to /usr/share/applications/hildon/osso-music-player.desktop correctly. It still won't show oggs in the Open track dialog though after many reboots and some reinstallation attempts. Not sure what is going on unless that warning is causing some hidden grief ... It doesn't look like it should though. |
Quote:
The whole output of your installation seems to be ok. As it were mentioned some posts before: it seems that this problem could be related to other installed applications. after i installed canola my ogg playback doesn't work at all (i get an "Wiedergabefehler"/Playback error) . I had and have no time at the moment to look at this! Sorry. (Have you checked your gconf entries?) Perhaps jussik can help you. Greetings... N770-Freak |
Quote:
- Neil |
2 Attachment(s)
N770-Freak,
Thanks! I have another successful install. I downloaded the package here As root, used the command dpkg -i gst-ogg-vorbis_0.1.deb. NOTE:The first time I rebooted it did not work. I had the charger plugged in and the boot seemed too fast for an actual reboot. The second time I rebooted with the charger unplugged. And now I can play ogg files from the built-in Music Player. I use Jinzora as a web app on my PC to server up the playlist. |
All times are GMT. The time now is 05:04. |
vBulletin® Version 3.8.8