Page 1 of 5 12345 LastLast
Results 1 to 10 of 47

Thread: Ogg streaming--does it exist for the PSP already? (Or should I just make it exist?)

                  
   
  1. #1

    Default Ogg streaming--does it exist for the PSP already? (Or should I just make it exist?)

    Hey. I've been looking around for a homebrew app to play streaming ogg (as opposed to just from local files) on a PSP, and can't seem to find this. Got to thinking I should just see if I can make one happen (I've got the toolchain up and running, ogg libraries built, found some nice source already that wraps up the file-based code neatly), and have been building scratch apps and inspecting existing headers 'n stuff toward this), but thought I'd do the sanity check here, first: has anyone already done this, before I seriously get into it?

    (Standard newbie apologies go here if this is in some damned FAQ I didn't find, but hand on whichever holy book you repect, I searched mightily, found nothin'... so please point it out if I missed.)

    Oh... and yes, I know you can do this with transcoding apps on a PC proxying and passing it along in something the PSP already does... That's nice for home, but I want to do something that just takes the stream directly, turns it into audio on the PSP itself. Vastly more practical for travelling, which is my intent. So, the idea is: something like freeradio (which is awesome at what it does, but so far as I can see, doesn't do this)--so if you've got a wireless hub in range and a stream address, you get yer audio).

    Thanks in advance, love the forum, etc.

  2. #2
    GP2X Coder/Moderator
    Join Date
    Jan 2006
    Posts
    1,678
    Rep Power
    83

    Default

    Ogg streaming--does it exist for the PSP already?
    Good question, I can't remember any off the top of my head. Most use MP3 because of PSP hardware support and doesn't take a hit on the the CPU.

  3. #3

    Default

    Thanks; appreciated.

    I've gone ahead and started to stick some buffered http retrieval stuff into the existing (file-based) player examples I've got sitting around. Far as I can tell, it hasn't been done. I figure it's worth my giving it a bit of time. There's a few stations I want to listen to that webcast that way.

    The Vorbis s/w decoder stuff works fine on my machine when reading from the filesystem--doesn't look like it stresses the processor much on its own. What's gonna happen when it's working on the http connection stuff at the same time, well, I guess we'll see.

  4. #4

    Default

    So between bouts of doing the stuff I'm actually paid to do, I made a little more progress on this, last few days.

    I wasted a bit of time--or it sure looks like it was a waste--trying to do the transport with the sceHttp* stuff for built-in http handling, and it looks like that's not gonna fly--seems the Icecast servers serving vorbis streams get peeved at the Connection: close header that layer insists on sending. I was able to get it to get rid of other extraneous stuff, but that one won't go away (if anyone knows if that layer can be talked out of it, this would be useful). So I've gone to doing it with raw sockets--which is looking more promising, generally.

    Current best guess is this is very doable. Hopin' to have somethin' in another week or so, if work/family allow.

  5. #5

    Default

    Spoiler!


    ^^^^Never mind. I found a nice, portable very lightweight http lib designed for embedded use that I can get to do my bidding.
    Last edited by NineByNine; June 26th, 2008 at 16:39.

  6. #6

    Default

    So I can emphatically confirm the hardware is up to this. Easily. Tho' I guess it shouldn't be huge surprise, for a machine that can do video like this can...

    I got it working on my lunch today, and am currently listening to a 44.1 KHz stereo stream off of CBC Radio 2...It sounds positively lush through the PSP. I also tested it against an IceCast2 server install I'd set up for the purpose; all sounds good. Still got some work to do; the current version deals poorly with seeking to a new stream, and not at all with mono streams, but it should all be fixable. (And, of course, it's got no GUI of any kind, as yet.)

    It was pretty much just the obvious thing: I'm using libTremor for the decode, wrote a simple threaded http client (wound up just doing the http wrapping stuff myself--was easier than messing with libraries) that just dumps into a circular buffer for the decoder thread (which is just triggered by the pspaudiolib callback).
    Last edited by NineByNine; June 30th, 2008 at 20:20.

  7. #7
    DCEmu Newbie
    Join Date
    Jul 2008
    Posts
    8
    Rep Power
    0

    Default

    NineByNine,

    My wife just bought a PSP specifically for Internet radio. She is a CBC radio 1 fanatic. I have tried to get the PSP to play CBC through the Shoutcast Internet radio tuner but can't find it, probably because it isn't available through Shoutcast. If my wife can't get CBC through the PSP, she will return the PSP to Future Shop. She doesn't want to do the CBC podcast thing. Would you please post how you got CBC Radio 2 streaming broadcast working on the PSP?

  8. #8

    Default

    You've a few options, the way I understand it (and note that I'm no authority on this, generally, but I can probably point you in the right direction...)

    1. If you've a PS3, you can use remote play. My understanding is the PS3 will pick up a WMA stream (which CBC sends in), and have it resend it to the PSP... This is the 'official' way. (Note: I don't do it the official way even though I have a PS3 because I want to be able to get the stream even when I'm nowhere near my PS3, like in a hotel somewhere on business).

    2. If you've somewhere you can set up an icecast server or similar, you can do it that way: set up the icecast server to rebroadcast CBC as an MP3 stream, and then use a homebrew app like FreeRadio to read the stream from there. Note that since FreeRadio doesn't do WMA, and CBC doesn't broadcast directly in MP3, you again need that server in the middle. A bit of a pain, again, but doable. Note also, however, that you'd have to homewbrew your wife's PSP to do this... not sure how she'd feel about it, as it is a bit of a step. If you know noone with one already set up like that, you pretty much have to do the hardware mod--which I've done--it just involves sawing a pin off one IC in a battery--but it's not quite trivial. Google Pandora's battery for more. Note also that by this method, you happen to be able to get CBC Radio 3 (the sorta youth/alt version) directly in FreeRadio, as it broadcasts via MP3, tho' you have to hunt around a bit for the link... I can send it, if this is interesting... annoyingly, CBC Radio One and Two only do WMA and ogg, so you have to resend them...

    3. If you're homebrewing anyway, and don't mind trying alpha code, I do now have this thing I've just built and which works fine for me: reads the CBC Radio One and Two streams (a Toronto station which supports Ogg/Vorbis) directly. Works fine for both, still a bit unstable, tho' once it's reading, it's reading--I've used it for hours at a time. I'm planning on releasing the code and binaries shortly, anyway, so I'm happy to have a tester, if you're going that route... (Standard legal disclaimers go here: alpha code, may not be fit, homebrewing has some modest hazards, yadda yadda).

  9. #9

    Default

    Oh.. .wait... I lie re remote play. It looks like you should be able to use it from anywhere, once it's set up. But again, I haven't done this, don't know that much about it. Went the homebrew route, myself. Again, might be an option if you've no PS3.

  10. #10

    Default

    Additional updates to this (as yet unseen) app, in case anyone's interested, done on and off over last few days:

    1. Added support for 22050 Hz mono streams.

    2. Added a simple stream list faciity--you define the stream URLs in a text file you stick in there with the binary, then it lets you pick from them at startup.

    3. Switched to the actual floating point Ogg/Vorbis (as opposed to integer Tremor) libs, as I found Tremor went to pieces whenever it hit a new logical bitstream in the same broadcast. Ogg/Vorbis handles this seamlessly which is nice, which allows you to listen to the playlists that are sent this way (including the typical icecast streaming ogg setup you would probably have on a home server).

    Open issue, if anyone knows the resolution: in the wireless hub selection dialogue, the thing intermittently freezes right after you select the connection profile. It's all good if it gets past the first half second. Anyone know what the hell that is? I use WPA and DHCP on my hub, if that tells you anything.

    Thing still sounds lovely, as it is. And yes, the PSP seems more than up to doing this in floating point, even on 128 kbps stereo streams. I've tried it; there's nary a hiccup.

Page 1 of 5 12345 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •