PDA

View Full Version : Playing ogg radio streams



Craig Eales
2004-09-22, 03:47
Virgin Radio have decided to be good citizens, and make their radio
stations available as ogg streams!

http://www.virginradio.co.uk/thestation/listen/streams.html

They also seem to be keen on actively supporting products that can
play their streams.

http://www.virginradio.co.uk/thestation/listen/others.html

So I thought to myself: if I can get the streams playing via the slim
server, I would drop them a note and get the details added to the list
of supported products. Hopefully getting some free publicity for slim
devices out of virgin.

However, I cannot seem to get the streams to play.

An example URL is

http://ogg.smgradio.com/gr96.ogg

I wrote a playlist (Virgin.pls) containing

[playlist]
numberofentries=1
File1=http://ogg.smgradio.com/gr96.ogg
Title1=VirginRadio
Length1=-1
Version=2

However, when I try and play the playlist, it just hangs 'connecting to play'

The stream seems ok - If I 'wget' the stream then run oggdec on it
then I get a .wav
file that plays fine.

Does anybody have an experience of making the ogg streams play via slimserver?

Craig

kdf
2004-09-22, 07:19
the conversion API does not yet support non-mp3 streams without something like
AlienStream or AlienBBC. However, this seems like a great reason for this to
become a higher priority to fix. I believe someone out there was working on a
more generic API that would handle streaming as well as files, but have not
heard any recent info on its progress.

-kdf

Quoting Craig Eales <craig.eales (AT) gmail (DOT) com>:

> Virgin Radio have decided to be good citizens, and make their radio
> stations available as ogg streams!
>
> http://www.virginradio.co.uk/thestation/listen/streams.html
>
> They also seem to be keen on actively supporting products that can
> play their streams.
>
> http://www.virginradio.co.uk/thestation/listen/others.html
>
> So I thought to myself: if I can get the streams playing via the slim
> server, I would drop them a note and get the details added to the list
> of supported products. Hopefully getting some free publicity for slim
> devices out of virgin.
>
> However, I cannot seem to get the streams to play.
>
> An example URL is
>
> http://ogg.smgradio.com/gr96.ogg
>
> I wrote a playlist (Virgin.pls) containing
>
> [playlist]
> numberofentries=1
> File1=http://ogg.smgradio.com/gr96.ogg
> Title1=VirginRadio
> Length1=-1
> Version=2
>
> However, when I try and play the playlist, it just hangs 'connecting to play'
>
> The stream seems ok - If I 'wget' the stream then run oggdec on it
> then I get a .wav
> file that plays fine.
>
> Does anybody have an experience of making the ogg streams play via
> slimserver?
>
> Craig
>

Craig Eales
2004-09-22, 07:55
Can you point me at the code that handles the mp3 streams currently?
If I get a chance then I may have a hack at adding ogg/other stream
types.

It seems a pity when a content provider is streaming ogg content that
the open source community cannot actually play it :-(

Craig

On Wed, 22 Sep 2004 07:19:56 -0700, kdf <slim-mail (AT) deane-freeman (DOT) com> wrote:
> the conversion API does not yet support non-mp3 streams without something like
> AlienStream or AlienBBC. However, this seems like a great reason for this to
> become a higher priority to fix. I believe someone out there was working on a
> more generic API that would handle streaming as well as files, but have not
> heard any recent info on its progress.
>
> -kdf
>
>
>
> Quoting Craig Eales <craig.eales (AT) gmail (DOT) com>:
>
> > Virgin Radio have decided to be good citizens, and make their radio
> > stations available as ogg streams!
> >
> > http://www.virginradio.co.uk/thestation/listen/streams.html
> >
> > They also seem to be keen on actively supporting products that can
> > play their streams.
> >
> > http://www.virginradio.co.uk/thestation/listen/others.html
> >
> > So I thought to myself: if I can get the streams playing via the slim
> > server, I would drop them a note and get the details added to the list
> > of supported products. Hopefully getting some free publicity for slim
> > devices out of virgin.
> >
> > However, I cannot seem to get the streams to play.
> >
> > An example URL is
> >
> > http://ogg.smgradio.com/gr96.ogg
> >
> > I wrote a playlist (Virgin.pls) containing
> >
> > [playlist]
> > numberofentries=1
> > File1=http://ogg.smgradio.com/gr96.ogg
> > Title1=VirginRadio
> > Length1=-1
> > Version=2
> >
> > However, when I try and play the playlist, it just hangs 'connecting to play'
> >
> > The stream seems ok - If I 'wget' the stream then run oggdec on it
> > then I get a .wav
> > file that plays fine.
> >
> > Does anybody have an experience of making the ogg streams play via
> > slimserver?
> >
> > Craig
> >

kdf
2004-09-22, 09:44
Quoting Craig Eales <craig.eales (AT) gmail (DOT) com>:

> Can you point me at the code that handles the mp3 streams currently?
> If I get a chance then I may have a hack at adding ogg/other stream
> types.

I'm not entirely sure, but I'd exepct its mostly in Slim/Web/RemoteStream.pm
General playback handling is done in Slim/Player/Source.pm

someone will correct me if I'm wrong :)

> It seems a pity when a content provider is streaming ogg content that
> the open source community cannot actually play it :-(

indeed.
-kdf

> Craig
>
> On Wed, 22 Sep 2004 07:19:56 -0700, kdf <slim-mail (AT) deane-freeman (DOT) com> wrote:
> > the conversion API does not yet support non-mp3 streams without something
> like
> > AlienStream or AlienBBC. However, this seems like a great reason for this
> to
> > become a higher priority to fix. I believe someone out there was working
> on a
> > more generic API that would handle streaming as well as files, but have not
> > heard any recent info on its progress.
> >
> > -kdf
> >
> >
> >
> > Quoting Craig Eales <craig.eales (AT) gmail (DOT) com>:
> >
> > > Virgin Radio have decided to be good citizens, and make their radio
> > > stations available as ogg streams!
> > >
> > > http://www.virginradio.co.uk/thestation/listen/streams.html
> > >
> > > They also seem to be keen on actively supporting products that can
> > > play their streams.
> > >
> > > http://www.virginradio.co.uk/thestation/listen/others.html
> > >
> > > So I thought to myself: if I can get the streams playing via the slim
> > > server, I would drop them a note and get the details added to the list
> > > of supported products. Hopefully getting some free publicity for slim
> > > devices out of virgin.
> > >
> > > However, I cannot seem to get the streams to play.
> > >
> > > An example URL is
> > >
> > > http://ogg.smgradio.com/gr96.ogg
> > >
> > > I wrote a playlist (Virgin.pls) containing
> > >
> > > [playlist]
> > > numberofentries=1
> > > File1=http://ogg.smgradio.com/gr96.ogg
> > > Title1=VirginRadio
> > > Length1=-1
> > > Version=2
> > >
> > > However, when I try and play the playlist, it just hangs 'connecting to
> play'
> > >
> > > The stream seems ok - If I 'wget' the stream then run oggdec on it
> > > then I get a .wav
> > > file that plays fine.
> > >
> > > Does anybody have an experience of making the ogg streams play via
> > > slimserver?
> > >
> > > Craig
> > >

Craig Eales
2004-09-23, 08:21
Ok,

I have a handle on what the code is doing. Basically, it is passing
through streams totally unmolested so to a squeezebox you can stream
both mp3 or raw pcm.

This means not only can other types of streams not be played, but, the
streams will also not be transcoded if you have a bit rate limit
turned on (not so bad for mp3, but a killer for pcm)

However, I think I have an outline of a plan to fix it:
1) Instead of attaching the stream to the client input - remember the
handle in the $client hash
2) Launch the correct converting program where input filename is '-' ,
remember the input and output file handles of this stream in the
$client hash
3) When get next chunk is called, if reading from the pipeline output
EWOULDBLOCK, then attempt to read some data from the socket, if
successful write the data to the pipeline input. If we successfully
read from the pipeline output then just pass on the chunk like normal.

It is going to take a few days for me to test if this works. If I make
some progress I will post the patch.

Craig




On Wed, 22 Sep 2004 09:44:39 -0700, kdf <slim-mail (AT) deane-freeman (DOT) com> wrote:
>
>
> Quoting Craig Eales <craig.eales (AT) gmail (DOT) com>:
>
> > Can you point me at the code that handles the mp3 streams currently?
> > If I get a chance then I may have a hack at adding ogg/other stream
> > types.
>
> I'm not entirely sure, but I'd exepct its mostly in Slim/Web/RemoteStream.pm
> General playback handling is done in Slim/Player/Source.pm
>
> someone will correct me if I'm wrong :)
>
> > It seems a pity when a content provider is streaming ogg content that
> > the open source community cannot actually play it :-(
>
> indeed.
> -kdf
>
> > Craig
> >
> > On Wed, 22 Sep 2004 07:19:56 -0700, kdf <slim-mail (AT) deane-freeman (DOT) com> wrote:
> > > the conversion API does not yet support non-mp3 streams without something
> > like
> > > AlienStream or AlienBBC. However, this seems like a great reason for this
> > to
> > > become a higher priority to fix. I believe someone out there was working
> > on a
> > > more generic API that would handle streaming as well as files, but have not
> > > heard any recent info on its progress.
> > >
> > > -kdf
> > >
> > >
> > >
> > > Quoting Craig Eales <craig.eales (AT) gmail (DOT) com>:
> > >
> > > > Virgin Radio have decided to be good citizens, and make their radio
> > > > stations available as ogg streams!
> > > >
> > > > http://www.virginradio.co.uk/thestation/listen/streams.html
> > > >
> > > > They also seem to be keen on actively supporting products that can
> > > > play their streams.
> > > >
> > > > http://www.virginradio.co.uk/thestation/listen/others.html
> > > >
> > > > So I thought to myself: if I can get the streams playing via the slim
> > > > server, I would drop them a note and get the details added to the list
> > > > of supported products. Hopefully getting some free publicity for slim
> > > > devices out of virgin.
> > > >
> > > > However, I cannot seem to get the streams to play.
> > > >
> > > > An example URL is
> > > >
> > > > http://ogg.smgradio.com/gr96.ogg
> > > >
> > > > I wrote a playlist (Virgin.pls) containing
> > > >
> > > > [playlist]
> > > > numberofentries=1
> > > > File1=http://ogg.smgradio.com/gr96.ogg
> > > > Title1=VirginRadio
> > > > Length1=-1
> > > > Version=2
> > > >
> > > > However, when I try and play the playlist, it just hangs 'connecting to
> > play'
> > > >
> > > > The stream seems ok - If I 'wget' the stream then run oggdec on it
> > > > then I get a .wav
> > > > file that plays fine.
> > > >
> > > > Does anybody have an experience of making the ogg streams play via
> > > > slimserver?
> > > >
> > > > Craig
> > > >

dean
2004-09-23, 16:28
Sounds great. Vidur has been working on this code recently to support
RadioIO. Let's move this discussion to the developer list and get it
nailed!

Thank,

dean

On Sep 23, 2004, at 8:21 AM, Craig Eales wrote:

> Ok,
>
> I have a handle on what the code is doing. Basically, it is passing
> through streams totally unmolested so to a squeezebox you can stream
> both mp3 or raw pcm.
>
> This means not only can other types of streams not be played, but, the
> streams will also not be transcoded if you have a bit rate limit
> turned on (not so bad for mp3, but a killer for pcm)
>
> However, I think I have an outline of a plan to fix it:
> 1) Instead of attaching the stream to the client input - remember the
> handle in the $client hash
> 2) Launch the correct converting program where input filename is '-' ,
> remember the input and output file handles of this stream in the
> $client hash
> 3) When get next chunk is called, if reading from the pipeline output
> EWOULDBLOCK, then attempt to read some data from the socket, if
> successful write the data to the pipeline input. If we successfully
> read from the pipeline output then just pass on the chunk like normal.
>
> It is going to take a few days for me to test if this works. If I make
> some progress I will post the patch.
>
> Craig
>
>
>
>
> On Wed, 22 Sep 2004 09:44:39 -0700, kdf <slim-mail (AT) deane-freeman (DOT) com>
> wrote:
>>
>>
>> Quoting Craig Eales <craig.eales (AT) gmail (DOT) com>:
>>
>>> Can you point me at the code that handles the mp3 streams currently?
>>> If I get a chance then I may have a hack at adding ogg/other stream
>>> types.
>>
>> I'm not entirely sure, but I'd exepct its mostly in
>> Slim/Web/RemoteStream.pm
>> General playback handling is done in Slim/Player/Source.pm
>>
>> someone will correct me if I'm wrong :)
>>
>>> It seems a pity when a content provider is streaming ogg content that
>>> the open source community cannot actually play it :-(
>>
>> indeed.
>> -kdf
>>
>>> Craig
>>>
>>> On Wed, 22 Sep 2004 07:19:56 -0700, kdf
>>> <slim-mail (AT) deane-freeman (DOT) com> wrote:
>>>> the conversion API does not yet support non-mp3 streams without
>>>> something
>>> like
>>>> AlienStream or AlienBBC. However, this seems like a great reason
>>>> for this
>>> to
>>>> become a higher priority to fix. I believe someone out there was
>>>> working
>>> on a
>>>> more generic API that would handle streaming as well as files, but
>>>> have not
>>>> heard any recent info on its progress.
>>>>
>>>> -kdf
>>>>
>>>>
>>>>
>>>> Quoting Craig Eales <craig.eales (AT) gmail (DOT) com>:
>>>>
>>>>> Virgin Radio have decided to be good citizens, and make their radio
>>>>> stations available as ogg streams!
>>>>>
>>>>> http://www.virginradio.co.uk/thestation/listen/streams.html
>>>>>
>>>>> They also seem to be keen on actively supporting products that can
>>>>> play their streams.
>>>>>
>>>>> http://www.virginradio.co.uk/thestation/listen/others.html
>>>>>
>>>>> So I thought to myself: if I can get the streams playing via the
>>>>> slim
>>>>> server, I would drop them a note and get the details added to the
>>>>> list
>>>>> of supported products. Hopefully getting some free publicity for
>>>>> slim
>>>>> devices out of virgin.
>>>>>
>>>>> However, I cannot seem to get the streams to play.
>>>>>
>>>>> An example URL is
>>>>>
>>>>> http://ogg.smgradio.com/gr96.ogg
>>>>>
>>>>> I wrote a playlist (Virgin.pls) containing
>>>>>
>>>>> [playlist]
>>>>> numberofentries=1
>>>>> File1=http://ogg.smgradio.com/gr96.ogg
>>>>> Title1=VirginRadio
>>>>> Length1=-1
>>>>> Version=2
>>>>>
>>>>> However, when I try and play the playlist, it just hangs
>>>>> 'connecting to
>>> play'
>>>>>
>>>>> The stream seems ok - If I 'wget' the stream then run oggdec on it
>>>>> then I get a .wav
>>>>> file that plays fine.
>>>>>
>>>>> Does anybody have an experience of making the ogg streams play via
>>>>> slimserver?
>>>>>
>>>>> Craig
>>>>>