From: Сергей И. <ge...@tu...> - 2013-10-03 12:23:38
|
Hello, Romain! Thank You for reply! Romain Beauxis <toots@...> writes: > > Hi Sergey,2013/10/1 Сергей Иванов <gen...@pu...>>> Hello! >> I need help in following issue. I need to insert a small playlist at the beginning of each hour. Playlist is generated automatically by the cron. > > >> This is important part of script.>> def playlist_watch(uri)> pl = playlist.once(reload_mode="watch", uri)> merge_tracks(usmart_crossfade(pl))> end> > > radio = switch([({ 6h-11h }, mrn_radio), > > ({ 11h-18h }, day_radio),> ({ 18h-6h }, evn_radio)])>> radio = fallback(> track_sensitive=false, > transitions=[to_news, to_music],> [switch([({00m00s-00m03s}, playlist_watch("#{playlists}/news.pls")), > > > ({30m00s-30m03s}, playlist_watch("#{playlists}/news30.pls")),> ({45m00s-45m03s}, playlist_watch("#{playlists}/weather.pls"))> ]),> radio, default]) > > >> radio = normalize(usmart_crossfade(start_next=4., width=3.5, radio))>> The first track in the playlist, which is reloaded with playlist.once, played twice! I need to khow why and how can I resolve this!I just tried this very simple script: > output.ao(fallible=true, playlist.once("/path/to/directory")) > > And the first track was only played once.. Perhaps there's another part in your script that causes the issue? What is for instance the definition of usmart_crossfade? What happens when you execute just a single playlist.once with nothing else? > > > Romain > > I checked the script and found the following: cron generates playlist immediately before the start of play (less than a minute) and щnly in this case there is a problem. I need to play news at start of a hour and I changed the script as follows: #!/usr/bin/liquidsoap def to_news(a, b) log("Transition to news") #sequence([a,b]) add(normalize=false, [ sequence([ blank(duration=0.5), fade.initial(duration=0.5, b) ]), fade.final(duration=2.5, a) ]) end def to_music(a, b) log("Transition to music") source.skip(b) add(normalize=false, [b, fade.final(duration=0.5,a)]) #sequence([a,b]) end %include "opts.liq" long_jingles = set_type(type="long_jingle", playlist("#{jingles}/longs")) songs = set_type(type="music", playlist(conservative=true, "#{music}")) default = set_type(type="jingle", single("#{jingles}/pafos_long.mp3")) jingles = random( [long_jingles ] ) radio = smart_crossfade(rotate(weights=[4,1],[songs, delay(1., jingles)])) pqueue = request.queue(id="program") radio = fallback( track_sensitive=false, replay_metadata=false, transitions=[to_news, to_music], [ pqueue, radio, default ]) %include "out.liq" out( %vorbis.cbr(channels=2, bitrate=96), mount = "oldroks", radio ) Once again, I have a problem. In liquidsoap 1.1.1 smart_crossfade works only first time, so I moved to developer version. In this version smart_crossfade works, but transition to_music not mix tracks. to_news works fine! In the version for developers smart_crossfade works well, but does not work transition to_music. I can see the line "Transition to music" in the log, but the tracks are played in sequence. I can not understand what the problem is? Transition to_news works fine. -- WBR, Sergey. |
From: Romain B. <ro...@li...> - 2013-10-03 23:20:51
|
2013/10/3 Сергей Иванов <ge...@tu...> > > Hello, Romain! > > Thank You for reply! > > Romain Beauxis <toots@...> writes: > > > > > Hi Sergey,2013/10/1 Сергей Иванов <gen...@pu...>>> Hello! >> I need help in following issue. I need to insert a small playlist at the beginning of each hour. Playlist is generated automatically by the cron. > > > > >> This is important part of script.>> def playlist_watch(uri)> pl = playlist.once(reload_mode="watch", uri)> merge_tracks(usmart_crossfade(pl))> end> > > > radio = switch([({ 6h-11h }, mrn_radio), > > > ({ 11h-18h }, day_radio),> ({ 18h-6h }, evn_radio)])>> radio = fallback(> track_sensitive=false, > transitions=[to_news, to_music],> [switch([({00m00s-00m03s}, playlist_watch("#{playlists}/news.pls")), > > > > > ({30m00s-30m03s}, playlist_watch("#{playlists}/news30.pls")),> ({45m00s-45m03s}, playlist_watch("#{playlists}/weather.pls"))> ]),> radio, default]) > > > > >> radio = normalize(usmart_crossfade(start_next=4., width=3.5, radio))>> The first track in the playlist, which is reloaded with playlist.once, played twice! I need to khow why and how can I resolve this!I just tried this very simple script: > > output.ao(fallible=true, playlist.once("/path/to/directory")) > > > > And the first track was only played once.. Perhaps there's another part in your script that causes the issue? What is for instance the definition of usmart_crossfade? What happens when you execute just a single playlist.once with nothing else? > > > > > > Romain > > > > > > I checked the script and found the following: cron generates playlist immediately before the start of play (less than a minute) and щnly in this case there is a problem. > > I need to play news at start of a hour and I changed the script as follows: > > #!/usr/bin/liquidsoap > > def to_news(a, b) > log("Transition to news") > #sequence([a,b]) > add(normalize=false, > [ sequence([ blank(duration=0.5), > fade.initial(duration=0.5, b) ]), > fade.final(duration=2.5, a) ]) > end > > > def to_music(a, b) > log("Transition to music") > source.skip(b) > add(normalize=false, [b, fade.final(duration=0.5,a)]) > #sequence([a,b]) > end > > %include "opts.liq" > > long_jingles = set_type(type="long_jingle", playlist("#{jingles}/longs")) > songs = set_type(type="music", playlist(conservative=true, "#{music}")) > > default = set_type(type="jingle", single("#{jingles}/pafos_long.mp3")) > > jingles = random( [long_jingles ] ) > radio = smart_crossfade(rotate(weights=[4,1],[songs, delay(1., jingles)])) > pqueue = request.queue(id="program") > > radio = fallback( > track_sensitive=false, replay_metadata=false, > transitions=[to_news, to_music], > [ pqueue, radio, default ]) > > %include "out.liq" > > out( > %vorbis.cbr(channels=2, bitrate=96), > mount = "oldroks", > radio > ) > > Once again, I have a problem. In liquidsoap 1.1.1 smart_crossfade works only first time, so I moved to developer version. In this version smart_crossfade works, but transition to_music not mix tracks. to_news works fine! > > In the version for developers smart_crossfade works well, but does not work transition to_music. I can see the line "Transition to music" in the log, but the tracks are played in sequence. I can not understand what the problem is? > > Transition to_news works fine. Yeah, we're aware of the smart_crossfade bug. We will release a fixed version very shortly. As for the transitions, I suspect that the source.skip call is confusing the transition. I'd suggest trying the source.skip in the first, to_news transition. Romain |
From: Сергей И. <ge...@tu...> - 2013-10-04 13:07:36
|
Hello, Romain! Thank You again! 2013/10/4 Romain Beauxis <ro...@li...> > 2013/10/3 Сергей Иванов <ge...@tu...> > > > > Hello, Romain! > > > > Thank You for reply! > > > > Romain Beauxis <toots@...> writes: > > > > > > > > Hi Sergey,2013/10/1 Сергей Иванов < > gen...@pu...>>> Hello! >> I need help in > following issue. I need to insert a small playlist at the beginning of each > hour. Playlist is generated automatically by the cron. > > > > > > >> This is important part of script.>> def playlist_watch(uri)> pl = > playlist.once(reload_mode="watch", uri)> > merge_tracks(usmart_crossfade(pl))> end> > > > > radio = switch([({ 6h-11h }, mrn_radio), > > > > ({ 11h-18h }, day_radio),> ({ 18h-6h > }, evn_radio)])>> radio = fallback(> track_sensitive=false, > > transitions=[to_news, to_music],> [switch([({00m00s-00m03s}, > playlist_watch("#{playlists}/news.pls")), > > > > > > > ({30m00s-30m03s}, > playlist_watch("#{playlists}/news30.pls")),> ({45m00s-45m03s}, > playlist_watch("#{playlists}/weather.pls"))> ]),> radio, > default]) > > > > > > >> radio = normalize(usmart_crossfade(start_next=4., width=3.5, > radio))>> The first track in the playlist, which is reloaded with > playlist.once, played twice! I need to khow why and how can I resolve > this!I just tried this very simple script: > > > output.ao(fallible=true, playlist.once("/path/to/directory")) > > > > > > And the first track was only played once.. Perhaps there's another > part in your script that causes the issue? What is for instance the > definition of usmart_crossfade? What happens when you execute just a single > playlist.once with nothing else? > > > > > > > > > Romain > > > > > > > > > > I checked the script and found the following: cron generates playlist > immediately before the start of play (less than a minute) and щnly in this > case there is a problem. > > > > I need to play news at start of a hour and I changed the script as > follows: > > > > #!/usr/bin/liquidsoap > > > > def to_news(a, b) > > log("Transition to news") > > #sequence([a,b]) > > add(normalize=false, > > [ sequence([ blank(duration=0.5), > > fade.initial(duration=0.5, b) ]), > > fade.final(duration=2.5, a) ]) > > end > > > > > > def to_music(a, b) > > log("Transition to music") > > source.skip(b) > > add(normalize=false, [b, fade.final(duration=0.5,a)]) > > #sequence([a,b]) > > end > > > > %include "opts.liq" > > > > long_jingles = set_type(type="long_jingle", playlist("#{jingles}/longs")) > > songs = set_type(type="music", playlist(conservative=true, "#{music}")) > > > > default = set_type(type="jingle", single("#{jingles}/pafos_long.mp3")) > > > > jingles = random( [long_jingles ] ) > > radio = smart_crossfade(rotate(weights=[4,1],[songs, delay(1., > jingles)])) > > pqueue = request.queue(id="program") > > > > radio = fallback( > > track_sensitive=false, replay_metadata=false, > > transitions=[to_news, to_music], > > [ pqueue, radio, default ]) > -> > > %include "out.liq" > > > > out( > > %vorbis.cbr(channels=2, bitrate=96), > > mount = "oldroks", > > radio > > ) > > > > Once again, I have a problem. In liquidsoap 1.1.1 smart_crossfade works > only first time, so I moved to developer version. In this version > smart_crossfade works, but transition to_music not mix tracks. to_news > works fine! > > > > In the version for developers smart_crossfade works well, but does not > work transition to_music. I can see the line "Transition to music" in the > log, but the tracks are played in sequence. I can not understand what the > problem is? > > > > Transition to_news works fine. > > Yeah, we're aware of the smart_crossfade bug. We will release a fixed > version very shortly. > > As for the transitions, I suspect that the source.skip call is confusing > the transition. I'd suggest trying the source.skip in the first, to_news > transition. > > I commented out source.skip result is the same - the transition to_music does not work, both in the stable (1.1.1) version and in a version for developers. Also I try conservative=true for queue and/or playlist - the same strange result, transition to_music does not work. This is log with log level=4, maybe it will help. >>> LOG START 2013/10/04 14:59:23 [protocols.external:3] Found "/usr/bin/wget". 2013/10/04 14:59:23 [main:3] Liquidsoap 1.1.1 2013/10/04 14:59:23 [main:3] Using: pcre=6.2.3 dtools=0.3.1 duppy=0.5.1 duppy.syntax=0.5.1 cry=0.2.2 mm=0.2.1 xmlplaylist=0.1.3 ogg=0.4.5 vorbis=0.6.1 mad=0.4.4 flac=0.1.1 flac.ogg=0.1.1 dynlink=[distributed with Ocaml] lame=0.3.2 alsa=0.2.1 samplerate=0.1.2 taglib=0.3.1 magic=0.7.3 camomile=0.8.3 soundtouch=0.1.7 pulseaudio=0.1.2 ladspa=0.1.4 dssi=0.1.1 2013/10/04 14:59:23 [dynamic.loader:3] Could not find dynamic module for aacplus encoder. 2013/10/04 14:59:23 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz master. 2013/10/04 14:59:23 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples. 2013/10/04 14:59:23 [frame:3] Targetting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks. 2013/10/04 14:59:23 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks. 2013/10/04 14:59:23 [decoder:4] Trying method "META" for "/var/opt/radio/jingles/pafos_long.mp3"... 2013/10/04 14:59:23 [decoder:4] Trying method "MAD" for "/var/opt/radio/jingles/pafos_long.mp3"... 2013/10/04 14:59:23 [decoder.mad:4] Libmad recognizes "/var/opt/radio/jingles/pafos_long.mp3" as mpeg audio (layer III, 256kbps, 48000Hz, 2 channels). 2013/10/04 14:59:23 [decoder:3] Method "MAD" accepted "/var/opt/radio/jingles/pafos_long.mp3". 2013/10/04 14:59:23 [metadata.flac:4] Invalid MIME type for "/var/opt/radio/jingles/pafos_long.mp3": audio/mpeg! 2013/10/04 14:59:23 [metadata.flac:4] Invalid file extension for "/var/opt/radio/jingles/pafos_long.mp3"! 2013/10/04 14:59:23 [decoder.ogg:4] Invalid MIME type for "/var/opt/radio/jingles/pafos_long.mp3": audio/mpeg! 2013/10/04 14:59:23 [decoder.ogg:4] Invalid file extension for "/var/opt/radio/jingles/pafos_long.mp3"! 2013/10/04 14:59:23 [single:3] "/var/opt/radio/jingles/pafos_long.mp3" is static, resolving once for all... 2013/10/04 14:59:23 [video.converter:4] Couldn't find preferred video converter: gavl. 2013/10/04 14:59:23 [audio.converter:4] Using preferred samplerate converter: libsamplerate. 2013/10/04 14:59:23 [threads:3] Created thread "generic queue #1". 2013/10/04 14:59:23 [threads:3] Created thread "generic queue #2". 2013/10/04 14:59:23 [threads:3] Created thread "generic queue #3". 2013/10/04 14:59:23 [threads:3] Created thread "generic queue #4". 2013/10/04 14:59:23 [threads:3] Created thread "fast queue #1". 2013/10/04 14:59:23 [threads:3] Created thread "fast queue #2". 2013/10/04 14:59:23 [threads:3] Created thread "non-blocking queue #1". 2013/10/04 14:59:23 [threads:3] Created thread "non-blocking queue #2". 2013/10/04 14:59:23 [threads:3] Created thread "non-blocking queue #3". 2013/10/04 14:59:23 [threads:3] Created thread "non-blocking queue #4". 2013/10/04 14:59:23 [clock:4] Currently 1 clocks allocated. 2013/10/04 14:59:23 [clock.wallclock_main:4] Starting 1 sources... 2013/10/04 14:59:23 [source:4] Source output.icecast_5273 gets up. 2013/10/04 14:59:23 [source:4] Source fallback_5207 gets up. 2013/10/04 14:59:23 [source:4] Source program gets up. 2013/10/04 14:59:23 [program:4] Content kind is {audio=2;video=0;midi=0}. 2013/10/04 14:59:23 [program:4] Activations changed: static=[], dynamic=[fallback_5207:oldroks:oldroks]. 2013/10/04 14:59:23 [source:4] Source quota_5203 gets up. 2013/10/04 14:59:23 [source:4] Source map_metadata_5195 gets up. 2013/10/04 14:59:23 [map_metadata_5195:4] Content kind is {audio=2;video=0;midi=0}. 2013/10/04 14:59:23 [source:4] Source playlist_5194 gets up. 2013/10/04 14:59:23 [music:3] Loading playlist... 2013/10/04 14:59:23 [music:3] Playlist is a directory. 2013/10/04 14:59:23 [music:3] Successfully loaded a playlist of 2981 tracks. 2013/10/04 14:59:23 [music:4] Content kind is {audio=2;video=0;midi=0}. 2013/10/04 14:59:23 [music:4] Activations changed: static=[map_metadata_5195:quota_5203:fallback_5207:oldroks:oldroks], dynamic=[]. 2013/10/04 14:59:23 [decoder:4] Trying method "META" for "/var/opt/radio/music/Michael Learns To Rock - Sleeping Child.mp3"... 2013/10/04 14:59:23 [decoder:4] Trying method "MAD" for "/var/opt/radio/music/Michael Learns To Rock - Sleeping Child.mp3"... 2013/10/04 14:59:23 [map_metadata_5195:4] Activations changed: static=[], dynamic=[quota_5203:fallback_5207:oldroks:oldroks]. 2013/10/04 14:59:23 [source:4] Source delay_5202 gets up. 2013/10/04 14:59:23 [delay_5202:4] Content kind is {audio=2;video=0;midi=0}. 2013/10/04 14:59:23 [decoder.mad:4] Libmad recognizes "/var/opt/radio/music/Michael Learns To Rock - Sleeping Child.mp3" as mpeg audio (layer III, 256kbps, 44100Hz, 2 channels). 2013/10/04 14:59:23 [decoder:3] Method "MAD" accepted "/var/opt/radio/music/Michael Learns To Rock - Sleeping Child.mp3". 2013/10/04 14:59:23 [metadata.flac:4] Invalid MIME type for "/var/opt/radio/music/Michael Learns To Rock - Sleeping Child.mp3": audio/mpeg! 2013/10/04 14:59:23 [metadata.flac:4] Invalid file extension for "/var/opt/radio/music/Michael Learns To Rock - Sleeping Child.mp3"! 2013/10/04 14:59:23 [source:4] Source random_5200 gets up. 2013/10/04 14:59:23 [decoder.ogg:4] Invalid MIME type for "/var/opt/radio/music/Michael Learns To Rock - Sleeping Child.mp3": audio/mpeg! 2013/10/04 14:59:23 [decoder.ogg:4] Invalid file extension for "/var/opt/radio/music/Michael Learns To Rock - Sleeping Child.mp3"! 2013/10/04 14:59:23 [source:4] Source map_metadata_5192 gets up. 2013/10/04 14:59:23 [map_metadata_5192:4] Content kind is {audio=2;video=0;midi=0}. 2013/10/04 14:59:23 [source:4] Source playlist_5191 gets up. 2013/10/04 14:59:23 [longs:3] Loading playlist... 2013/10/04 14:59:23 [longs:3] Playlist is a directory. 2013/10/04 14:59:23 [longs:3] Successfully loaded a playlist of 16 tracks. 2013/10/04 14:59:23 [longs:4] Content kind is {audio=2;video=0;midi=0}. 2013/10/04 14:59:23 [longs:4] Activations changed: static=[map_metadata_5192:random_5200:delay_5202:quota_5203:fallback_5207:oldroks:oldroks], dynamic=[]. 2013/10/04 14:59:23 [decoder:4] Trying method "META" for "/var/opt/radio/jingles/longs/l15.mp3"... 2013/10/04 14:59:23 [decoder:4] Trying method "MAD" for "/var/opt/radio/jingles/longs/l15.mp3"... 2013/10/04 14:59:23 [decoder.mad:4] Libmad recognizes "/var/opt/radio/jingles/longs/l15.mp3" as mpeg audio (layer III, 256kbps, 44100Hz, 2 channels). 2013/10/04 14:59:23 [decoder:3] Method "MAD" accepted "/var/opt/radio/jingles/longs/l15.mp3". 2013/10/04 14:59:23 [metadata.flac:4] Invalid MIME type for "/var/opt/radio/jingles/longs/l15.mp3": audio/mpeg! 2013/10/04 14:59:23 [metadata.flac:4] Invalid file extension for "/var/opt/radio/jingles/longs/l15.mp3"! 2013/10/04 14:59:23 [decoder.ogg:4] Invalid MIME type for "/var/opt/radio/jingles/longs/l15.mp3": audio/mpeg! 2013/10/04 14:59:23 [decoder.ogg:4] Invalid file extension for "/var/opt/radio/jingles/longs/l15.mp3"! 2013/10/04 14:59:23 [map_metadata_5192:4] Activations changed: static=[], dynamic=[random_5200:delay_5202:quota_5203:fallback_5207:oldroks:oldroks]. 2013/10/04 14:59:23 [random_5200:4] Activations changed: static=[delay_5202:quota_5203:fallback_5207:oldroks:oldroks], dynamic=[]. 2013/10/04 14:59:23 [delay_5202:4] Activations changed: static=[], dynamic=[quota_5203:fallback_5207:oldroks:oldroks]. 2013/10/04 14:59:23 [quota_5203:4] Activations changed: static=[], dynamic=[fallback_5207:oldroks:oldroks]. 2013/10/04 14:59:23 [source:4] Source map_metadata_5198 gets up. 2013/10/04 14:59:23 [map_metadata_5198:4] Content kind is {audio=2;video=0;midi=0}. 2013/10/04 14:59:23 [source:4] Source single_5197 gets up. 2013/10/04 14:59:23 [single_5197:4] Content kind is {audio=2;video=0;midi=0}. 2013/10/04 14:59:23 [single_5197:4] Activations changed: static=[map_metadata_5198:fallback_5207:oldroks:oldroks], dynamic=[]. 2013/10/04 14:59:23 [map_metadata_5198:4] Activations changed: static=[], dynamic=[fallback_5207:oldroks:oldroks]. 2013/10/04 14:59:23 [fallback_5207:4] Activations changed: static=[oldroks:oldroks], dynamic=[]. 2013/10/04 14:59:23 [music:4] Remaining: 0.0s, queued: 0.0s, adding: 30.0s (RID 2) 2013/10/04 14:59:23 [longs:4] Remaining: 0.0s, queued: 0.0s, adding: 30.0s (RID 4) 2013/10/04 14:59:23 [longs:4] Remaining: 0.0s, queued: 30.0s, taking: 30.0s 2013/10/04 14:59:23 [longs:3] Prepared "/var/opt/radio/jingles/longs/l15.mp3" (RID 4). 2013/10/04 14:59:23 [music:4] Remaining: 0.0s, queued: 30.0s, taking: 30.0s 2013/10/04 14:59:23 [music:3] Prepared "/var/opt/radio/music/Michael Learns To Rock - Sleeping Child.mp3" (RID 2). 2013/10/04 14:59:23 [oldroks:4] Activations changed: static=[oldroks], dynamic=[]. 2013/10/04 14:59:23 [oldroks:4] Enabling caching mode: active source. 2013/10/04 14:59:23 [oldroks:3] Connecting mount oldroks for source@127.0.0.1... 2013/10/04 14:59:24 [oldroks:3] Connection setup was successful. 2013/10/04 14:59:24 [threads:3] Created thread "wallclock_main" (1 total). 2013/10/04 14:59:24 [clock.wallclock_main:3] Streaming loop starts, synchronized with wallclock. 2013/10/04 14:59:24 [clock:4] Main phase starts. 2013/10/04 14:59:24 [fallback_5207:3] Switch to quota_5203. 2013/10/04 14:59:24 [quota_5203:4] Activations changed: static=[fallback_5207:oldroks:oldroks], dynamic=[fallback_5207:oldroks:oldroks]. 2013/10/04 14:59:24 [quota_5203:3] Switch to map_metadata_5195. 2013/10/04 14:59:24 [map_metadata_5195:4] Activations changed: static=[quota_5203:fallback_5207:oldroks:oldroks], dynamic=[quota_5203:fallback_5207:oldroks:oldroks]. 2013/10/04 14:59:24 [ogg.muxer:4] oldroks: Starting all streams 2013/10/04 15:00:31 [server:3] New client: localhost. 2013/10/04 15:00:32 [decoder:4] Trying method "META" for "/media/roksnews/wtr_04_1245.wav"... 2013/10/04 15:00:32 [decoder:4] Trying method "MAD" for "/media/roksnews/wtr_04_1245.wav"... 2013/10/04 15:00:32 [decoder.mad:4] Invalid MIME type for "/media/roksnews/wtr_04_1245.wav": audio/x-wav! 2013/10/04 15:00:32 [decoder.mad:4] Invalid file extension for "/media/roksnews/wtr_04_1245.wav"! 2013/10/04 15:00:32 [decoder:4] Trying method "WAV" for "/media/roksnews/wtr_04_1245.wav"... 2013/10/04 15:00:32 [decoder.wav:4] "/media/roksnews/wtr_04_1245.wav" recognized as WAV file (s16le,44100Hz,2 channels). 2013/10/04 15:00:32 [decoder:3] Method "WAV" accepted "/media/roksnews/wtr_04_1245.wav". 2013/10/04 15:00:32 [metadata.flac:4] Invalid MIME type for "/media/roksnews/wtr_04_1245.wav": audio/x-wav! 2013/10/04 15:00:32 [metadata.flac:4] Invalid file extension for "/media/roksnews/wtr_04_1245.wav"! 2013/10/04 15:00:32 [decoder.ogg:4] Invalid MIME type for "/media/roksnews/wtr_04_1245.wav": audio/x-wav! 2013/10/04 15:00:32 [decoder.ogg:4] Invalid file extension for "/media/roksnews/wtr_04_1245.wav"! 2013/10/04 15:00:32 [decoder.taglib:4] Invalid MIME type for "/media/roksnews/wtr_04_1245.wav": audio/x-wav! 2013/10/04 15:00:32 [decoder.taglib:4] Invalid file extension for "/media/roksnews/wtr_04_1245.wav"! 2013/10/04 15:00:32 [decoder.taglib:4] Error while decoding file tags: Invalid file 2013/10/04 15:00:32 [decoder.taglib:4] Backtrace: Raised at file "hashtbl.ml", line 118, characters 14-23 Called from file "hashtbl.ml", line 126, characters 18-34 2013/10/04 15:00:32 [program:4] Remaining: 0.0s, queued: 0.0s, adding: 30.0s (RID 5) 2013/10/04 15:00:32 [program:4] Remaining: 0.0s, queued: 30.0s, taking: 30.0s 2013/10/04 15:00:32 [program:3] Prepared "/media/roksnews/wtr_04_1245.wav" (RID 5). 2013/10/04 15:00:32 [fallback_5207:3] Switch to program with transition. 2013/10/04 15:00:32 [quota_5203:4] Activations changed: static=[], dynamic=[fallback_5207:oldroks:oldroks]. 2013/10/04 15:00:32 [lang:3] Transition to news 2013/10/04 15:00:32 [source:4] Source add_5324 gets up. 2013/10/04 15:00:32 [add_5324:4] Content kind is {audio=2;video=0;midi=0}. 2013/10/04 15:00:32 [source:4] Source sequence_5322 gets up. 2013/10/04 15:00:32 [source:4] Source blank_5320 gets up. 2013/10/04 15:00:32 [blank_5320:4] Content kind is {audio=2;video=0;midi=0}. 2013/10/04 15:00:32 [blank_5320:4] Activations changed: static=[sequence_5322:add_5324:fallback_5207:oldroks:oldroks], dynamic=[]. 2013/10/04 15:00:32 [source:4] Source fade_in_5321 gets up. 2013/10/04 15:00:32 [fade_in_5321:4] Content kind is {audio=2;video=0;midi=0}. 2013/10/04 15:00:32 [program:4] Activations changed: static=[fade_in_5321:sequence_5322:add_5324:fallback_5207:oldroks:oldroks], dynamic=[fallback_5207:oldroks:oldroks]. 2013/10/04 15:00:32 [fade_in_5321:4] Activations changed: static=[sequence_5322:add_5324:fallback_5207:oldroks:oldroks], dynamic=[]. 2013/10/04 15:00:32 [sequence_5322:4] Activations changed: static=[add_5324:fallback_5207:oldroks:oldroks], dynamic=[]. 2013/10/04 15:00:32 [source:4] Source fade_out_5323 gets up. 2013/10/04 15:00:32 [fade_out_5323:4] Content kind is {audio=2;video=0;midi=0}. 2013/10/04 15:00:32 [quota_5203:4] Activations changed: static=[fade_out_5323:add_5324:fallback_5207:oldroks:oldroks], dynamic=[fallback_5207:oldroks:oldroks]. 2013/10/04 15:00:32 [fade_out_5323:4] Activations changed: static=[add_5324:fallback_5207:oldroks:oldroks], dynamic=[]. 2013/10/04 15:00:32 [add_5324:4] Activations changed: static=[fallback_5207:oldroks:oldroks], dynamic=[]. 2013/10/04 15:00:33 [blank_5320:4] Activations changed: static=[], dynamic=[]. 2013/10/04 15:00:33 [source:4] Source blank_5320 gets down. 2013/10/04 15:00:33 [decoder.wav:4] WAV header read (44100Hz, 16bits, 7817984bytes), starting decoding... 2013/10/04 15:00:33 [ogg.muxer:4] oldroks: Setting end of track 3f05d597. 2013/10/04 15:00:33 [ogg.muxer:4] oldroks: Every ogg logical tracks have ended: setting end of stream. 2013/10/04 15:00:33 [ogg.muxer:4] oldroks: Starting new sequentialized ogg stream. 2013/10/04 15:00:33 [ogg.muxer:4] oldroks: Starting all streams 2013/10/04 15:00:33 [server:3] Client localhost disconnected. 2013/10/04 15:01:16 [decoder:4] Decoding "/media/roksnews/wtr_04_1245.wav" ended: Wav_decoder.End_of_stream. 2013/10/04 15:01:17 [program:3] Finished with "/media/roksnews/wtr_04_1245.wav". 2013/10/04 15:01:17 [fallback_5207:3] Switch to quota_5203 with forgetful transition. 2013/10/04 15:01:17 [add_5324:4] Activations changed: static=[], dynamic=[]. 2013/10/04 15:01:17 [source:4] Source add_5324 gets down. 2013/10/04 15:01:17 [sequence_5322:4] Activations changed: static=[], dynamic=[]. 2013/10/04 15:01:17 [source:4] Source sequence_5322 gets down. 2013/10/04 15:01:17 [fade_in_5321:4] Activations changed: static=[], dynamic=[]. 2013/10/04 15:01:17 [source:4] Source fade_in_5321 gets down. 2013/10/04 15:01:17 [program:4] Activations changed: static=[], dynamic=[fallback_5207:oldroks:oldroks]. 2013/10/04 15:01:17 [fade_out_5323:4] Activations changed: static=[], dynamic=[]. 2013/10/04 15:01:17 [source:4] Source fade_out_5323 gets down. 2013/10/04 15:01:17 [quota_5203:4] Activations changed: static=[], dynamic=[fallback_5207:oldroks:oldroks]. 2013/10/04 15:01:17 [lang:3] Transition to music 2013/10/04 15:01:17 [source:4] Source add_5338 gets up. 2013/10/04 15:01:17 [add_5338:4] Content kind is {audio=2;video=0;midi=0}. 2013/10/04 15:01:17 [quota_5203:4] Activations changed: static=[add_5338:fallback_5207:oldroks:oldroks], dynamic=[fallback_5207:oldroks:oldroks]. 2013/10/04 15:01:17 [source:4] Source fade_out_5337 gets up. 2013/10/04 15:01:17 [fade_out_5337:4] Content kind is {audio=2;video=0;midi=0}. 2013/10/04 15:01:17 [source:4] Source empty_5335 gets up. 2013/10/04 15:01:17 [empty_5335:4] Content kind is {audio=2;video=0;midi=0}. 2013/10/04 15:01:17 [empty_5335:4] Activations changed: static=[fade_out_5337:add_5338:fallback_5207:oldroks:oldroks], dynamic=[]. 2013/10/04 15:01:17 [fade_out_5337:4] Activations changed: static=[add_5338:fallback_5207:oldroks:oldroks], dynamic=[]. 2013/10/04 15:01:17 [add_5338:4] Activations changed: static=[fallback_5207:oldroks:oldroks], dynamic=[]. ^C2013/10/04 15:01:29 [main:3] Shutdown started! 2013/10/04 15:01:29 [main:3] Waiting for threads to terminate... 2013/10/04 15:01:29 [oldroks:4] Activations changed: static=[], dynamic=[]. 2013/10/04 15:01:29 [source:4] Source oldroks gets down. 2013/10/04 15:01:29 [ogg.muxer:4] oldroks: Setting end of track 240d67d. 2013/10/04 15:01:29 [ogg.muxer:4] oldroks: Every ogg logical tracks have ended: setting end of stream. 2013/10/04 15:01:29 [oldroks:3] Closing connection... 2013/10/04 15:01:29 [fallback_5207:4] Activations changed: static=[], dynamic=[]. 2013/10/04 15:01:29 [source:4] Source fallback_5207 gets down. 2013/10/04 15:01:29 [program:4] Activations changed: static=[], dynamic=[]. 2013/10/04 15:01:29 [source:4] Source program gets down. 2013/10/04 15:01:29 [program:4] Waiting for feeding task to stop... 2013/10/04 15:01:29 [program:4] Cleaning up request queue... 2013/10/04 15:01:29 [quota_5203:4] Activations changed: static=[add_5338:fallback_5207:oldroks:oldroks], dynamic=[]. 2013/10/04 15:01:29 [map_metadata_5198:4] Activations changed: static=[], dynamic=[]. 2013/10/04 15:01:29 [source:4] Source map_metadata_5198 gets down. 2013/10/04 15:01:29 [single_5197:4] Activations changed: static=[], dynamic=[]. 2013/10/04 15:01:29 [source:4] Source single_5197 gets down. 2013/10/04 15:01:29 [add_5338:4] Activations changed: static=[], dynamic=[]. 2013/10/04 15:01:29 [source:4] Source add_5338 gets down. 2013/10/04 15:01:29 [quota_5203:4] Activations changed: static=[], dynamic=[]. 2013/10/04 15:01:29 [source:4] Source quota_5203 gets down. 2013/10/04 15:01:29 [map_metadata_5195:4] Activations changed: static=[quota_5203:fallback_5207:oldroks:oldroks], dynamic=[]. 2013/10/04 15:01:29 [delay_5202:4] Activations changed: static=[], dynamic=[]. 2013/10/04 15:01:29 [source:4] Source delay_5202 gets down. 2013/10/04 15:01:29 [random_5200:4] Activations changed: static=[], dynamic=[]. 2013/10/04 15:01:29 [source:4] Source random_5200 gets down. 2013/10/04 15:01:29 [map_metadata_5192:4] Activations changed: static=[], dynamic=[]. 2013/10/04 15:01:29 [source:4] Source map_metadata_5192 gets down. 2013/10/04 15:01:29 [longs:4] Activations changed: static=[], dynamic=[]. 2013/10/04 15:01:29 [source:4] Source longs gets down. 2013/10/04 15:01:29 [longs:4] Waiting for feeding task to stop... 2013/10/04 15:01:29 [longs:3] Finished with "/var/opt/radio/jingles/longs/l15.mp3". 2013/10/04 15:01:29 [longs:4] Cleaning up request queue... 2013/10/04 15:01:29 [map_metadata_5195:4] Activations changed: static=[], dynamic=[]. 2013/10/04 15:01:29 [source:4] Source map_metadata_5195 gets down. 2013/10/04 15:01:29 [music:4] Activations changed: static=[], dynamic=[]. 2013/10/04 15:01:29 [source:4] Source music gets down. 2013/10/04 15:01:29 [music:4] Waiting for feeding task to stop... 2013/10/04 15:01:29 [music:3] Finished with "/var/opt/radio/music/Michael Learns To Rock - Sleeping Child.mp3". 2013/10/04 15:01:29 [music:4] Cleaning up request queue... 2013/10/04 15:01:29 [fade_out_5337:4] Activations changed: static=[], dynamic=[]. 2013/10/04 15:01:29 [source:4] Source fade_out_5337 gets down. 2013/10/04 15:01:29 [empty_5335:4] Activations changed: static=[], dynamic=[]. 2013/10/04 15:01:29 [source:4] Source empty_5335 gets down. 2013/10/04 15:01:29 [clock.wallclock_main:3] Streaming loop stopped. 2013/10/04 15:01:29 [threads:3] Thread "wallclock_main" terminated (0 remaining). 2013/10/04 15:01:29 [main:3] Cleaning downloaded files... 2013/10/04 15:01:29 [main:3] Freeing memory... 2013/10/04 15:01:29 >>> LOG END Romain > > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most > from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60134791&iu=/4140/ostg.clktrk > _______________________________________________ > Savonet-users mailing list > Sav...@li... > https://lists.sourceforge.net/lists/listinfo/savonet-users > > -- WBR, Sergey |
From: David B. <dav...@gm...> - 2013-10-05 09:35:09
Attachments:
twice.liq
twice_simpl.liq
|
Hi, I simplified your script to try it on my end, on a dev version of liq. You'll find my version attached. (There are a few comments at the beginning, that could help you although they are probably not relevant for the current issue. I also attach a script that is simplified based on the assumption that the beginning stuff is irrelevant, focusing on the fallback transition.) These two scripts work for me. The first one is very close to your setup, the second is minimized. I had to artificially delay the availability of songs, to witness the to_music transition. But after that I can hear it (and see it) clearly. Do these two scripts work for you? Hope this helps, David PS: We would also be interested if you could reproduce the error visible in your logs, with the exception raised from taglib. |