Hey Peter,

On Fri, Dec 10, 2010 at 10:07 PM, Peter Retep <[email protected]> wrote:
>> Could it work with a fallback of a re-configurable input.http (this might
>> be already possible) and a normal playlist?
>
> This would be a great solution!

Nice, we're on the right track!

> Did I understand you right, that source.dynamic could be used for this?

It may, and I'd love to develop some production-ready uses of that
magic operator. But it'll take time, so right now let's try to find
the simplest solution.

> But I did not find any URL parameter to change the URL of a http input source.
> So how could I dynamically change the URL of an existing input.http source?

You're right that there isn't a server command for updating the URL.
However, if you change the playlist and restart the input.http (using
start/stop telnet commands) it should read again the playlist iirc.
This may be a bit messy, but it's a start. Then we can easily add a
command for changing the URL. And if doing stop/start doesn't work or
introduces too big of a gap, we could think of a cleaner restart
solution. However, it'd take quite some work to parallelize the
pre-buffering, which is needed for a really gapless transition; for
this to be achieved I'd rather consider two input.http() in a fallback
(or a switch with interactive predicates).

> radio= switch (track-sensitive=false,
>    [
>        ({sound_active==1}     , input.alsa(...)),
>        ({files_active==1}        , file_A/B_queue),
>        ({stream1_active==1} , stream1),
>        ({stream2_active==1} , stream2),
>        ({true}                          , scheduler_error)
>    ]
> )

Here you go, you already have two stream inputs with a custom
condition. However I'm surprised to see a constant test {active==1}
instead of something like {!active==1} with a reference that can be
updated.

> fallback(track_sensitive=false,
>    [
>        stream1,
>        stream1_fallback,
>        stream1_fallback_file
>    ]
> )

Yup, this sounds good. Presumably the second source is a backup
stream, so you don't need it: if the playlist passed to input.http()
has several URLs then they are already understood as backups.

I don't have much time for experiments right now, but keep me informed
of how it goes. If you can't manage something, I'll help. It's a
pretty cool setup, we really have to think of a way to keep track of
such examples.

Have fun,
-- 
David

------------------------------------------------------------------------------
Oracle to DB2 Conversion Guide: Learn learn about native support for PL/SQL,
new data types, scalar functions, improved concurrency, built-in packages, 
OCI, SQL*Plus, data movement tools, best practices and more.
http://p.sf.net/sfu/oracle-sfdev2dev 
_______________________________________________
Savonet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users

Reply via email to