Ticket #316 (new Bugs)

Opened 5 months ago

Last modified 3 months ago

output.aacplus unable to start

Reported by: romeodeepmind Owned by: admin
Priority: 1 Milestone:
Component: Liquidsoap Version:
Keywords: Cc:
Mac OSX: yes Linux: yes
NetBSD: yes Other Operating System: yes
FreeBSD: yes

Description

Hi Savonet team! i'm trying to use built-in support of aacplus, but get some exceptions and unable to start liquidsoap

i get various scenarios with different bitrate. all logs and configs are included.

def out_aacplus(mount, bitrate, s) =

  output.icecast.aacplus(
     id="rvk#{bitrate}a",
     restart=true,
     mount=mount,
     host="localhost",
     password=omegaRelayPasswd,
     genre=streamGenre,
     url=streamUrl,
     description=streamDescr,

     name=streamTitle,
     bitrate=bitrate,
     s)
end

set("server.telnet",true)
set("server.telnet.port",8091)

set("harbor.bind_addr","0.0.0.0")
set("harbor.port",8090)
set("harbor.password", playlistPasswd)

################### [Live Sources] ###################

#Live Sources
liveInput = input.harbor(       id="live",
                                "live.ogg",
                                buffer=10.,
                                password=livePasswd
)

output.dummy(mksafe(liveInput))

liveInput = insert_metadata(id="liveMeta", liveInput)

################### [Playlists] ###################
playlistInput = input.harbor(id="playlist",
                                "playlist.ogg",
                                buffer=10.,
                                password=playlistPasswd,
)

#make source active
output.dummy(mksafe(playlistInput))

################### [Noise] ###################

noiseInput = noise(id="noise")
noiseInput = amplify(id="noiseAmp", 0.05, noiseInput)
noiseInput = rewrite_metadata([("title","no signal")], noiseInput)

################### [Master Input] ###################

#Master Input
input=fallback(                 id="mainFallback",
                                track_sensitive=false,
                                [liveInput, playlistInput, noiseInput])

################### [Mount Points] ###################
out_aacplus("/rvk", 56, input)

Attachments

56.log (5.9 kB) - added by romeodeepmind 5 months ago.
64.log (6.3 kB) - added by romeodeepmind 5 months ago.
64_#2.log (5.3 kB) - added by romeodeepmind 5 months ago.

Change History

Changed 5 months ago by romeodeepmind

Changed 5 months ago by romeodeepmind

Changed 5 months ago by romeodeepmind

Changed 5 months ago by toots

I can confirm part of this.

I have a deadlock if I want to use the native AAC+ icecast output against harbor, but it works well when used with icecast.

The native AAC+ support is not necessarily very mature. I am very suspicious in particular in the underlying "library". It is mainly a code that was brought to a shared library by exporting its headers. However, it has never been meant for this.

In particular, it seems to use global variables, so two AAC+ outputs are not possible.

Also, it is mainly the reference implementation, so the guy packaging the library only deals with minor details...

Anyway, I will try to fix this, but I can't garantee anything...

Changed 5 months ago by metamorph68

(In [6839]) Postponed Aacplus init. Seems to help fixing #316, but not really sure..

refs #316

Changed 5 months ago by toots

Here is a backtrace of the freeze, thanks to gdb:

Thread 6 (Thread 0x7fffe9d0d910 (LWP 6808)):
#0  0x00007ffff36fe3c2 in QuantizeSpectrum () from /usr/lib/libaacplus.so.1
#1  0x00007ffff36fc16e in QCMain () from /usr/lib/libaacplus.so.1
#2  0x00007ffff36e633e in AacEncEncode () from /usr/lib/libaacplus.so.1
#3  0x00000000006d0ccc in ocaml_aacplus_encode_frame (aac_env=140737107771376, data=15295432) at aacplus_stubs.c:233
#4  0x00000000006fad40 in caml_c_call ()

As you can see, the call to AacEncEncode? does not work.

However, I can enable/disable the issue randomly by recompiling liquidsoap, so I am not sure there is much to do in our side...

Changed 5 months ago by toots

Ha well, reading you logs only now..

You should recompile against the latest ocaml-cry, it should help...

Changed 5 months ago by romeodeepmind

now liq doesn't crash, but i get

Connection failed: bad answer

Changed 5 months ago by toots

Yes, most probably you have a wrong password or mount point...

Changed 5 months ago by romeodeepmind

oops, i set wrong port number =)

Note: See TracTickets for help on using tickets.