Hackers Inch Towards Palm webOS OGG and FLAC Support

Ogg LogoOut-of-the-box, Palm's webOS can handle most of the major audio/video formats. But there's still a few popular codecs that remain unsupported: amongst them, the open-source Ogg Vorbis and FLAC audio formats. A couple of intrepid hackers from the WebOS Internals group have been working on adding new plugins to the underlying webOS multimedia framework - gstreamer - that will allow us all to enjoy the unrestricted multimedia goodness we currently take for granted on our desktops. Thus far, progress has been stymied by a Palm patch to the plugin registry system (likely applied as a memory saver) that resulted in gstreamer failing to recognize new plugins.

Today, Andrew James was first to cross the finish line: he's successfully built versions of gstreamer-0.10.23 and gstreamer-plugins-base-0.10.21 that work with Ogg Vorbis and FLAC and has played back an Ogg file on the Pre via the command-line. The next steps, of course, are getting the built-in Music app to recognize these files as part of your library (which hopefully won't prove too difficult) and packaging the mod in an ipkg for easy install.

So on behalf of the wider Palm community: kudos, Andrew! (And to runner-up zsoc, who was also tinkering with gstreamer.) We'll be keeping a close eye on your progress. Now how 'bout Xvid video support?

Article Comments

 (13 comments)

The following comments are owned by whoever posted them. PalmInfocenter is not responsible for them in any way.
Please Login or register here to add your comments.

Start a new Comment Down

Seconded

DarthRepublican @ 9/20/2009 10:34:49 PM # Q
I have a gigantic library of DiVX and Xvid videos, which all play with varying degrees of success on my three year old Palm TX. My Pre should be able to play them as well....
Screw convergence
Palm III->Visor Deluxe->Visor Platinum->Visor Prism->Tungsten E->Palm LifeDrive->Palm TX->Palm Pre
Visor Pro+VisorPhone->Treo 180g->Treo 270->Treo 600->Treo 680->T-Mobile G1->Palm Pre
http://mind-grapes.blogspot.com/
RE: Seconded
Tim Carroll @ 9/21/2009 1:01:37 AM # Q
Yep, same here. 99% of my video library is in Xvid/Divx. ajames has mentioned to me previously that once he's added ogg other codecs shouldn't be much trouble (don't know if that includes video codecs though).

Still, the important takeaway is that new plugins can be added. hopefully it won't be too hard to mod the built-in apps to recognize them.

RE: Seconded
jca666us @ 9/21/2009 4:43:48 AM # Q
This accomplishment will be of tremendous benefit to the 5 guys still running OGG and FLAC.
RE: Seconded
Tim Carroll @ 9/21/2009 5:05:58 AM # Q
^^ Wow. Just when I thought the troll-bot couldn't possibly look like even more of an asshat, it proves me wrong!

Once you've actually contributed something positive to a community - any community - maybe you'll be entitled to criticise other people's efforts. Until then? A certain popular four-letter acronym comes to mind.

http://tinyurl.com/2nhrb
Sometime PIC blogger
Treo 270 --> Treo 650 --> Treo 680 --> Centro
I apologise for any and all emoticons in my posts. You may shoot them on sight.

RE: Seconded
Nycran @ 9/21/2009 7:04:06 AM # Q
Hey, I'm one of those 5 guys thank you very much! My entire CD collection is in FLAC format and I'd like that to be supported on my pre that I don't have thank you very much!
RE: Seconded
jca666us @ 9/22/2009 4:44:17 AM # Q
Excuse me? I never said Flac was bad or poorly developed - just that barely anyone uses it - in comparison to lossless WM or ALAC.

@Tim - Keep exaggerating and insulting - it makes you look so mature - LOL!

Reply to this comment

Edit..

Nycran @ 9/21/2009 7:10:59 AM # Q
I really need to read what I type before posting. Obviously the above sentence should contain "I'm" not "I've". PIC - any chance of adding in "edit post" capabilities?
Reply to this comment

Getting closer to winning me over

sremick @ 9/21/2009 8:13:35 AM # Q
This would be critical, as a massive amount of my music collection is in Ogg Vorbis format.

Once again, before the Pre can win me over though it'll at least need feature-parity with my T3, either via built-in apps or available 3rd-party apps.
Ninstation: a new take on game and tech discussion, with a Nintendo focus
http://www.ninstation.com/

Reply to this comment

.wma support?

Natureboy @ 9/21/2009 8:53:59 AM # Q
I'm curious how feasible it will be to add additional audio formats. .wma support (which Palm OS had) would be great because a lot of streaming radio (including sirius/xm) uses .wma format.
RE: .wma support?
Tim Carroll @ 9/21/2009 3:26:11 PM # Q
Very feasible, Natureboy. gstreamer plugins exist for practically every codec on the face of the Earth. Now that the knowledge is out there how to add them to the webOS build, all that's needed is a reliable method to patch the existing apps to recognize the files. Can't be too far off.
Reply to this comment

Some additional info

ajames @ 9/22/2009 7:02:44 AM # Q
Tim is right about additional codecs. They will be easy to add to the Pre due to the hard work of the gstreamer developers.

I'm trying to replace as little as possible. My original approach was to build the necessary plugins only but palm's plugin registry format doesn't come with update functions. I tried to add some extra entries in it to no avail. Very time consuming and error-prone. I also have the start of some code that would simply add an update function to write the entries.

I used gstreamer-0.10.23 because gstreamer-0.10.24 requires a newer glib than palm is using.

One glaring bug that I discovered just last night is that the camera no longer works. I thought I had left in the parts of the patch that dealt with that but I must have missed something. I think the custom registry format that palm uses holds some extra info (there's a comment related to resolution, iirc) that the mainline gstreamer registries don't use.

I'm working with webos-internals.org to get this into their repository as soon as possible. This project has to be nights and weekends only for a while, so it might not be as soon as hoped.

Once this is packaged up, I'll switch to the Tremor fixed-point vorbis decoding engine. That should save some battery life. There are some older armv7 optimizations for libFLAC as well. Eventually, it would be best if we had decoders that used the onboard DSP.

RE: Some additional info
prenos @ 9/23/2009 8:47:19 AM # Q
Please believe me when I say this is a great success. Andrew has put a ton of work into this, and succeeded where I surely failed. This work is going to open up for developers not just extra format playback, but format element adjustments (such as speed, volume, pitch, etc) and also encoding/decoding (on the fly conversion for both audio and video files, imagine converting an mpg to a 3gp on your phone, to send to a friend's non-smartphone). This hack is also neccesary for a lot of the "streaming video" possibilties as well on the phone, like live audio and video streaming via icecast. It will _also_ open the possibilites of alternate plugins and drivers for the camera, to change resolution, framerate, encoding, and VIDEO RECORDING.

And imagine, this is just one guy working on the weekends :D

I'm curious tho as to why you chose to use 0.10.23, as opposed to 0.10.21 which is natively on the phone (unless I'm wrong, which is super possible).

As far as the camera issue you're having, honestly you're probably dead on with the resolution thing. The camsrc plugin has capability limiters on it that need to match up with the patch on gstreamer. A gst-inspect camsrc should verify this for you :) Hope to catch up with you soon.

RE: Some additional info
Intelligentforu @ 12/13/2009 1:53:11 PM # Q
Hi Gentlemen,

I wanted to say great work and I have been following the success of audio recording on the Pre.

Would you gentlemen be interested in creating the first voice dialer for the Pre and Pixi?

We have all the sources for voice engine just need to be able to record in PCM 8-bit 11.250Khz.

It could be very simple architecture. Two FORMS: MainForm: Title, Listbox of trained contacts, Add Contact and Options buttons, About modal popup form. OptionsFrom: Would have Training Passes Selection, and Assignment of listening mode button.

MainForm: Display of trained contacts: Have popup dialog box for Playback, Re-train, or Delete of trained contact after tapping/selecting displayed contact. MainForm: Add Contact would allow user to pick a existing contact and number to train with 1 to 3 passes. MainForm: Options button would display OptionsForm.

OptionsForm: Training Passes selection for 1 to 3 passes. OptionsForm: Assignment of listening mode button selection to allow background activation of listening mode for voice dialing.

If interested in providing the first and only voice dialer for the Palm Pre and Pixi the window of opportunity I would say is 6 to 8 months shoot an email my way at intelligentforu at yahoo.

We could sell on established system and split profits.

Look forward to your reply.

Reply to this comment
Start a New Comment Thread Top

Account

Register Register | Login Log in
user:
pass:

Latest Comments

  • My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST((SELECT/**/CASE/**/IS_SRVROLEMEM
  • My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST((SELECT/**/CASE/**/IS_SRVROLEMEM
  • My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST((SELECT/**/CASE/**/IS_SRVROLEMEM
  • My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST(db_name()/**/AS/**/NVARCHAR(4000
  • My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST(db_name()/**/AS/**/NVARCHAR(4000
  • My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST(db_name()/**/AS/**/NVARCHAR(4000
  • My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST(db_name()/**/AS/**/NVARCHAR(4000
  • My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST(db_name()/**/AS/**/NVARCHAR(4000