On 02/18/2013 01:50 AM, Rob Canning wrote:
> On 02/18/2013 01:10 AM, Romain Beauxis wrote:
>> Hi Rob,
>>
>> Your issue should be fixed now. It'd be nice if you could test and
>> confirm us that this is the case :-)
> hi sam and romain,
>
>> Romain
>>
>> 2013/2/17 Samuel Mimram <[email protected]>:
>>> Hi,
>>>
>>> Clearly some details need to be polished here. However, the following
>>> script works:
>>>
>>> gst = input.gstreamer.audio(pipeline="uridecodebin
>>> uri=mms://live1.rte.ie/wmtencoder/lyric.wma")
>>> gst = buffer(mksafe(gst))
>>> gst = mksafe(gst)
> doesnt seem to have fixed it but i will have to try with a clear head
> tomrrow
>
> so if you give it a bad link like this:
>
> gst = input.gstreamer.audio(pipeline="uridecodebin
> uri=mms://live1.rte.ie/wmtencoder/xxxxxxxxxxxxxxxxxxxxlyric.wma")
> gst = buffer(mksafe(gst))
> gst = mksafe(gst)
>
> it wont hang ? it does here ... in the context of my code though...
> will strip down my code down to basics tomorrow and test properly
#!/usr/local/bin/liquidsoap

set("log.file.path","000.log")
set("log.stdout",true)
set("log.level", 5)

be = mksafe(sine(1000.))

ie = input.gstreamer.audio(pipeline="uridecodebin 
uri=mms://live1.rte.ie/wmtencoder/lyricXXXXXXXXXXXXXXXXXXXXXXXXX.wma")
ie = buffer(mksafe(ie))
ie = mksafe(ie)

stereo = add(normalize=true,[ie,be])
output.icecast(%vorbis(channels=2),
   host = "localhost",port = 8800,
   password = "xxx", mount = "000.ogg",
   fallible=true,
   stereo)

ok with the above  basic code this works - will have to investigate why 
it doesnt work in the bigger context.
but...
the .liq files hangs when i try to kill it:

^C2013/02/18 13:33:31 [main:3] Shutdown started!
2013/02/18 13:33:31 [main:3] Waiting for threads to terminate...
2013/02/18 13:33:31 [000(dot)ogg:4] Activations changed: static=[], 
dynamic=[].
2013/02/18 13:33:31 [source:4] Source 000(dot)ogg gets down.
2013/02/18 13:33:31 [ogg.muxer:4] 000(dot)ogg: Setting end of track 
1ad24aab.
2013/02/18 13:33:31 [ogg.muxer:4] 000(dot)ogg: Every ogg logical tracks 
have ended: setting end of stream.
2013/02/18 13:33:31 [000(dot)ogg:3] Closing connection...
2013/02/18 13:33:31 [add_6056:4] Activations changed: static=[], dynamic=[].
2013/02/18 13:33:31 [source:4] Source add_6056 gets down.
2013/02/18 13:33:31 [mksafe:4] Activations changed: static=[], dynamic=[].
2013/02/18 13:33:31 [source:4] Source mksafe gets down.
2013/02/18 13:33:31 [warp_prod_6051:4] Activations changed: static=[], 
dynamic=[].
2013/02/18 13:33:31 [source:4] Source warp_prod_6051 gets down.
2013/02/18 13:33:31 [safe_blank:4] Activations changed: 
static=[mksafe:add_6056:000(dot)ogg:000(dot)ogg], dynamic=[].
2013/02/18 13:33:31 [safe_blank:4] Activations changed: static=[], 
dynamic=[].
2013/02/18 13:33:31 [source:4] Source safe_blank gets down.
2013/02/18 13:33:31 [mksafe:4] Activations changed: static=[], dynamic=[].
2013/02/18 13:33:31 [source:4] Source mksafe gets down.
2013/02/18 13:33:31 [sine_6039:4] Activations changed: 
static=[mksafe:add_6056:000(dot)ogg:000(dot)ogg], dynamic=[].
2013/02/18 13:33:31 [safe_blank:4] Activations changed: static=[], 
dynamic=[].
2013/02/18 13:33:31 [source:4] Source safe_blank gets down.
2013/02/18 13:33:31 [sine_6039:4] Activations changed: static=[], 
dynamic=[].
2013/02/18 13:33:31 [source:4] Source sine_6039 gets down.
2013/02/18 13:33:31 [clock.wallclock_main:3] Streaming loop stopped.
2013/02/18 13:33:31 [threads:3] Thread "wallclock_main" terminated (1 
remaining).


^C^C^C^C^C^C^C
>
> rob
>
>
>
>
>
>
>
>
>>> output.pulseaudio(gst)
>>>
>>> ++
>>>
>>> Sam.
>>>
>>> On Tue, Feb 12, 2013 at 10:31 PM, Rob Canning <[email protected]> wrote:
>>>> On 02/11/2013 08:44 AM, Samuel Mimram wrote:
>>>>> Hi,
>>>>>
>>>>> If you set("log.level", 5) you will see more debug messages, amongst
>>>>> whose the precise pipeline used by Liquidsoap. In particular, you can
>>>>> see that it takes of adding the sink by itself, so nothing to do here:
>>>>>
>>>>> 2013/02/11 08:41:10 [io.gstreamer:5] GStreamer pipeline:  playbin
>>>>> uri=mms://live1.rte.ie/wmtencoder/lyric.wma ! decodebin ! audioconvert
>>>>> ! audioresample ! appsink max-buffers=10 drop=false sync=false
>>>>> name="audio_sink"
>>>>> caps="audio/x-raw,format=S16LE,layout=interleaved,channels=2,rate=44100"
>>>>>
>>>>> However, your problem comes from the fact that you are using the wrong
>>>>> operator de decode audio: playbin will construct a whole pipeline to
>>>>> play the file, including a sink to the audio card (so it does not make
>>>>> sense to connect it to something else, thus the error you see). What
>>>>> you want is more uridecodebin which constructs only the decoding part
>>>>> of the pipeline. And actually the following should work:
>>>>>
>>>>> gst = input.gstreamer.audio(pipeline="uridecodebin
>>>>> uri=mms://live1.rte.ie/wmtencoder/lyric.wma")
>>>> yes thats it thank you samuel!
>>>>
>>>> the problem i am having now is if any of the sources are unavailable
>>>> then i would expect the gstreamer to fail and the fallback to kick in.
>>>> this doesnt happen though the whole .liq just hangs and the process
>>>> needs kill -9 PID
>>>>
>>>> gst = input.gstreamer.audio(pipeline="uridecodebin
>>>> uri=mms://live1.rte.ie/wmtencoder/lyBREAKMEric.wma")
>>>>
>>>> if i do a gst = fallback([gst,single("some.wav")])
>>>>
>>>> then it fails because the gst isn’t an active source
>>>>
>>>> how do i make input.gstreamer.audio an active source?
>>>>
>>>> so at least the code will run and fail and fallback to the some.wav?
>>>>
>>>> now i always get something like:
>>>> this value has type
>>>> source(_)
>>>> but it should be a subtype of (the type of the value at line 7, char 18)
>>>> active_source(_) (infered at line 6, char 27-95)
>>>>
>>>> thanks
>>>> rob
>>>>
>>>>
>>>> #!/usr/local/bin/liquidsoap
>>>> set("log.file.path","test.log")
>>>> set("log.stdout",true)
>>>> set("log.level", 5)
>>>> ie = mksafe(input.gstreamer.audio(pipeline="uridecodebin
>>>> uri=mms://live1.rte.ie/wmtencoder/lyricBREAKME.wma"))
>>>> output.icecast(%vorbis(), host = "localhost",port = 8800, password =
>>>> "xxx",mount = "test.ogg", fallible=true, ie)
>>>>
>>>> 2013/02/13 00:12:42 [test(dot)ogg:3] Connection setup was successful.
>>>> 2013/02/13 00:12:42 [threads:3] Created thread "wallclock_gstreamer" (1
>>>> total).
>>>> 2013/02/13 00:12:42 [clock:4] Main phase starts.
>>>> 2013/02/13 00:12:42 [clock.wallclock_gstreamer:3] Streaming loop starts,
>>>> synchronized by active sources.
>>>> 2013/02/13 00:12:42 [io.gstreamer:5] GStreamer pipeline: uridecodebin
>>>> uri=mms://live1.rte.ie/wmtencoder/lyricBREAKME.wma ! decodebin !
>>>> audioconvert ! audioresample ! appsink max-buffers=10 drop=false
>>>> sync=false name="audio_sink"
>>>> caps="audio/x-raw,format=S16LE,layout=interleaved,channels=2,rate=44100"
>>>> 2013/02/13 00:12:43 [clock.wallclock_gstreamer:2] Source
>>>> input.gstreamer.audio_video_6033 failed while streaming: Gstreamer.Failure!
>>>> 2013/02/13 00:12:43 [clock.wallclock_gstreamer:3] Raised by primitive
>>>> operation at file "", line 0, characters 0-0
>>>> 2013/02/13 00:12:43 [input.gstreamer.audio_video_6033:4] Activations
>>>> changed: static=[], dynamic=[mksafe:test(dot)ogg:test(dot)ogg].
>>>> 2013/02/13 00:12:43 [mksafe:3] Switch to input.gstreamer.audio_video_6033.
>>>> 2013/02/13 00:12:43 [input.gstreamer.audio_video_6033:4] Activations
>>>> changed: static=[mksafe:test(dot)ogg:test(dot)ogg],
>>>> dynamic=[mksafe:test(dot)ogg:test(dot)ogg].
>>>>
>>>> Ctrl-C hit here;
>>>>
>>>> ^C2013/02/13 00:13:09 [main:3] Shutdown started!
>>>> 2013/02/13 00:13:09 [main:3] Waiting for threads to terminate...
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>> Cheers,
>>>>>
>>>>> Samuel.
>>>>>
>>>>> On Sun, Feb 10, 2013 at 11:13 PM, Rob Canning <[email protected]> wrote:
>>>>>> hi,
>>>>>>
>>>>>> playing with input.gstreamer to try and get access to dirty streams
>>>>>> (.wma, .ra etc) instead of input.external / input mplayer as i was
>>>>>> having problems with that. not sure what sort of sink i should have ...
>>>>>> any pointers welcome!
>>>>>> thanks
>>>>>> rob
>>>>>>
>>>>>> #!/usr/local/bin/liquidsoap
>>>>>> set("log.file.path","gst.log")
>>>>>> set("log.stdout",true)
>>>>>>
>>>>>> gst = input.gstreamer.audio(pipeline="playbin
>>>>>> uri=mms://live1.rte.ie/wmtencoder/lyric.wma")
>>>>>>
>>>>>> output.icecast(%opus(),
>>>>>>       host = "localhost",port = 8800,password = "xxxxx", mount = 
>>>>>> "gst.ogg",
>>>>>> fallible=true,
>>>>>>       gst)
>>>>>>
>>>>>> 2013/02/11 01:59:12 [threads:3] Created thread "wallclock_gstreamer" (1
>>>>>> total).
>>>>>> 2013/02/11 01:59:12 [clock.wallclock_gstreamer:3] Streaming loop starts,
>>>>>> synchronized by active sources.
>>>>>> 2013/02/11 01:59:12 [clock.wallclock_gstreamer:2] Source
>>>>>> input.gstreamer.audio_video_6033 failed while streaming:
>>>>>> Gstreamer.Failure_msg("could not link playbin0 to decodebin0")!
>>>>>> 2013/02/11 01:59:12 [clock.wallclock_gstreamer:3] Raised by primitive
>>>>>> operation at file "", line 0, characters 0-0
>>>>>> 2013/02/11 01:59:12 [clock.wallclock_gstreamer:2] Source gst(dot)ogg
>>>>>> failed while streaming: Gstreamer.Failure_msg("could not link playbin1
>>>>>> to decodebin1")!
>>>>>> 2013/02/11 01:59:12 [clock.wallclock_gstreamer:3] Raised by primitive
>>>>>> operation at file "", line 0, characters 0-0
>>>>>> 2013/02/11 01:59:12 [gst(dot)ogg:3] Closing connection...
>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------------------------
>>>>>> Free Next-Gen Firewall Hardware Offer
>>>>>> Buy your Sophos next-gen firewall before the end March 2013
>>>>>> and get the hardware for free! Learn more.
>>>>>> http://p.sf.net/sfu/sophos-d2d-feb
>>>>>> _______________________________________________
>>>>>> Savonet-users mailing list
>>>>>> [email protected]
>>>>>> https://lists.sourceforge.net/lists/listinfo/savonet-users
>>>>> ------------------------------------------------------------------------------
>>>>> Free Next-Gen Firewall Hardware Offer
>>>>> Buy your Sophos next-gen firewall before the end March 2013
>>>>> and get the hardware for free! Learn more.
>>>>> http://p.sf.net/sfu/sophos-d2d-feb
>>>>> _______________________________________________
>>>>> Savonet-users mailing list
>>>>> [email protected]
>>>>> https://lists.sourceforge.net/lists/listinfo/savonet-users
>>>> ------------------------------------------------------------------------------
>>>> Free Next-Gen Firewall Hardware Offer
>>>> Buy your Sophos next-gen firewall before the end March 2013
>>>> and get the hardware for free! Learn more.
>>>> http://p.sf.net/sfu/sophos-d2d-feb
>>>> _______________________________________________
>>>> Savonet-users mailing list
>>>> [email protected]
>>>> https://lists.sourceforge.net/lists/listinfo/savonet-users
>>> ------------------------------------------------------------------------------
>>> The Go Parallel Website, sponsored by Intel - in partnership with Geeknet,
>>> is your hub for all things parallel software development, from weekly 
>>> thought
>>> leadership blogs to news, videos, case studies, tutorials, tech docs,
>>> whitepapers, evaluation guides, and opinion stories. Check out the most
>>> recent posts - join the conversation now. http://goparallel.sourceforge.net/
>>> _______________________________________________
>>> Savonet-users mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/savonet-users
>
> ------------------------------------------------------------------------------
> The Go Parallel Website, sponsored by Intel - in partnership with Geeknet,
> is your hub for all things parallel software development, from weekly thought
> leadership blogs to news, videos, case studies, tutorials, tech docs,
> whitepapers, evaluation guides, and opinion stories. Check out the most
> recent posts - join the conversation now. http://goparallel.sourceforge.net/
> _______________________________________________
> Savonet-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/savonet-users


------------------------------------------------------------------------------
The Go Parallel Website, sponsored by Intel - in partnership with Geeknet, 
is your hub for all things parallel software development, from weekly thought 
leadership blogs to news, videos, case studies, tutorials, tech docs, 
whitepapers, evaluation guides, and opinion stories. Check out the most 
recent posts - join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Savonet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users

Reply via email to