Airtime 1.9 on Lucid- worked before reboot, now no system sound- dummy output only
  • Hello,

    I manually installed Airtime 1.9 on Lucid, and got everything to work fine. Then I changed passwords in icecast and broadcasting stopped. I realized that Ineed to change the password in liquidsoap, which i did. Now I get no errors from airtime-playout status, but there is no local system sound, and "On Air" is gray. tracks are playing, just no audio. I did not uninstall pulseaudio in my manual install.

    below, [password] are all the same password.

    airtime-playout status:

    CPU                            = Intel(R) Pentium(R) 4 CPU 2.40GHz
    Total RAM                      = 2053120 kB
    Free RAM                       = 560812 kB
    OS                             = Ubuntu 10.04.4 LTS Intel 80386
    AIRTIME_CONFIG_FILES           = OK
    POSTGRESQL_DATABASE            = OK
    PYTHON_KOMBU_VERSION           = 1.2.0
    PYTHON_POSTER_VERSION          = 0.8.1
    PYTHON_MUTAGEN_VERSION         = 1.20
    PYTHON_PYINOTIFY_VERSION       = 0.9.2
    RABBITMQ_SERVER                = OK
    AIRTIME_VERSION_URL            = http://localhost:80/api/version/api_key/%%api_key%%
    APACHE_CONFIGURED              = YES
    AIRTIME_VERSION                = 1.9.5
    PLAYOUT_ENGINE_PROCESS_ID      = 1143
    PLAYOUT_ENGINE_RUNNING_SECONDS = 1347
    LIQUIDSOAP_PROCESS_ID          = 1147
    LIQUIDSOAP_RUNNING_SECONDS     = 1347
    MEDIA_MONITOR_PROCESS_ID       = 1138
    MEDIA_MONITOR_RUNNING_SECONDS  = 1347
    SHOW_RECORDER_PROCESS_ID       = 1154
    SHOW_RECORDER_RUNNING_SECONDS  = 1347
    ICECAST_PROCESS_ID             = 1171

      -- System setup looks OK!

    output of  sudo cat /etc/airtime/liquidsoap.cfg
    ###########################################
    # Liquidsoap config file                  #
    ###########################################

    ###########################################
    # Output settings                         #
    ###########################################
    output_sound_device = true
    output_icecast_vorbis = false
    output_icecast_mp3 = true
    output_shoutcast = false

    #output_bitrate = 128
    #output_samplerate = 44100
    #output_stereo = true

    ###########################################
    # Logging settings                        #
    ###########################################
    log_file = "/var/log/airtime/pypo-liquidsoap/<script>.log"
    #log_level = 3

    ###########################################
    # Icecast Stream settings                 #
    ###########################################
    icecast_host = "127.0.0.1"
    icecast_port = 8000
    icecast_pass = "[password]"

    # Icecast mountpoint names
    mount_point_mp3 = "airtime.mp3"
    mount_point_vorbis = "airtime.ogg"

    # Webstream metadata settings
    icecast_url = "127.0.0.1:8001"
    icecast_description = "airtime radio!"
    icecast_genre = "eclectic"

    # Audio stream metadata for vorbis/ogg is disabled by default
    # due to a number of client media players that disconnect
    # when the metadata changes to a new track. Some versions of
    # mplayer and VLC have this problem. Enable this option at your
    # own risk!
    output_icecast_vorbis_metadata = false

    ###########################################
    # Shoutcast Stream settings               #
    ###########################################
    shoutcast_host = "127.0.0.1"
    shoutcast_port = 9000
    shoutcast_pass = "testing"

    # Webstream metadata settings
    shoutcast_url = "127.0.0.1"
    shoutcast_genre = "eclectic"


    output of sudo cat /etc/icecast2/icecast.xml
    <icecast>
        <limits>
            <clients>100</clients>
            <sources>2</sources>
            <threadpool>5</threadpool>
            <queue-size>524288</queue-size>
            <client-timeout>30</client-timeout>
            <header-timeout>15</header-timeout>
            <source-timeout>10</source-timeout>
            <!-- If enabled, this will provide a burst of data when a client
                 first connects, thereby significantly reducing the startup
                 time for listeners that do substantial buffering. However,
                 it also significantly increases latency between the source
                 client and listening client.  For low-latency setups, you
                 might want to disable this. -->
            <burst-on-connect>1</burst-on-connect>
            <!-- same as burst-on-connect, but this allows for being more
                 specific on how much to burst. Most people won't need to
                 change from the default 64k. Applies to all mountpoints  -->
            <burst-size>65535</burst-size>
        </limits>

        <authentication>
            <!-- Sources log in with username 'source' -->
            <source-password>[password]</source-password>
            <!-- Relays log in username 'relay' -->
            <relay-password>[password]</relay-password>

            <!-- Admin logs in with the username given below -->
            <admin-user>michael</admin-user>
            <admin-password>[password]</admin-password>
        </authentication>

        <!-- set the mountpoint for a shoutcast source to use, the default if not
             specified is /stream but you can change it here if an alternative is
             wanted or an extension is required
        <shoutcast-mount>/live.nsv</shoutcast-mount>
        -->
    <mount>
           <mount-name>/airtime.mp3</mount-name>
           <charset>UTF-8</charset>
      </mount>


        <!-- Uncomment this if you want directory listings -->
        <!--
        <directory>
            <yp-url-timeout>15</yp-url-timeout>
            <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url&gt;
        </directory>
         -->

        <!-- This is the hostname other people will use to connect to your server.
        It affects mainly the urls generated by Icecast for playlists and yp
        listings. -->
        <hostname>michael-desktop</hostname>

        <!-- You may have multiple <listener> elements -->
        <listen-socket>
            <port>8000</port>
            <!-- <bind-address>127.0.0.1</bind-address> -->
            <!-- <shoutcast-mount>/stream</shoutcast-mount> -->
        </listen-socket>
        <!--
        <listen-socket>
            <port>8001</port>
        </listen-socket>
        -->

    <!--    <master-server>127.0.0.1</master-server>
        <master-server-port>8001</master-server-port>
        <master-update-interval>120</master-update-interval>
        <master-password>[password]</master-password>
    -->
        <!-- setting this makes all relays on-demand unless overridden, this is
             useful for master relays which do not have <relay> definitions here.
             The default is 0 -->
        <!--<relays-on-demand>1</relays-on-demand>-->

        <!--
        <relay>
            <server>127.0.0.1</server>
            <port>8001</port>
            <mount>/example.ogg</mount>
            <local-mount>/different.ogg</local-mount>
            <on-demand>0</on-demand>

            <relay-shoutcast-metadata>0</relay-shoutcast-metadata>
        </relay>
        -->

        <!-- Only define a <mount> section if you want to use advanced options,
             like alternative usernames or passwords
        <mount>
            <mount-name>/example-complex.ogg</mount-name>

            <username>othersource</username>
            <password>hackmemore</password>

            <max-listeners>1</max-listeners>
            <dump-file>/tmp/dump-example1.ogg</dump-file>
            <burst-size>65536</burst-size>
            <fallback-mount>/example2.ogg</fallback-mount>
            <fallback-override>1</fallback-override>
            <fallback-when-full>1</fallback-when-full>
            <intro>/example_intro.ogg</intro>
            <hidden>1</hidden>
            <no-yp>1</no-yp>
            <authentication type="htpasswd">
                    <option name="filename" value="myauth"/>
                    <option name="allow_duplicate_users" value="0"/>
            </authentication>
            <on-connect>/home/icecast/bin/stream-start</on-connect>
            <on-disconnect>/home/icecast/bin/stream-stop</on-disconnect>
        </mount>

        <mount>
            <mount-name>/auth_example.ogg</mount-name>
            <authentication type="url">
                <option name="mount_add"       value="http://myauthserver.net/notify_mount.php"/>
                <option name="mount_remove"    value="http://myauthserver.net/notify_mount.php"/>
                <option name="listener_add"    value="http://myauthserver.net/notify_listener.php"/>
                <option name="listener_remove" value="http://myauthserver.net/notify_listener.php"/>
            </authentication>
        </mount>

        -->

        <fileserve>1</fileserve>

        <paths>
            <!-- basedir is only used if chroot is enabled -->
            <basedir>/usr/share/icecast2</basedir>

            <!-- Note that if <chroot> is turned on below, these paths must both
                 be relative to the new root, not the original root -->
            <logdir>/var/log/icecast2</logdir>
            <webroot>/usr/share/icecast2/web</webroot>
            <adminroot>/usr/share/icecast2/admin</adminroot>
            <!-- <pidfile>/usr/share/icecast2/icecast.pid</pidfile> -->

            <!-- Aliases: treat requests for 'source' path as being for 'dest' path
                 May be made specific to a port or bound address using the "port"
                 and "bind-address" attributes.
              -->
            <!--
            <alias source="/foo" dest="/bar"/>
              -->
            <!-- Aliases: can also be used for simple redirections as well,
                 this example will redirect all requests for http://server:port/ to
                 the status page
              -->
            <alias source="/" dest="/status.xsl"/>
        </paths>

        <logging>
            <accesslog>access.log</accesslog>
            <errorlog>error.log</errorlog>
            <!-- <playlistlog>playlist.log</playlistlog> -->
              <loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
              <logsize>10000</logsize> <!-- Max size of a logfile -->
            <!-- If logarchive is enabled (1), then when logsize is reached
                 the logfile will be moved to [error|access|playlist].log.DATESTAMP,
                 otherwise it will be moved to [error|access|playlist].log.old.
                 Default is non-archive mode (i.e. overwrite)
            -->
            <!-- <logarchive>1</logarchive> -->
        </logging>

        <security>
            <chroot>0</chroot>
            <!--
            <changeowner>
                <user>nobody</user>
                <group>nogroup</group>
            </changeowner>
            -->
        </security>
    </icecast>

    possibly relevant Alsa output:

    !!Loaded ALSA modules
    !!-------------------

    snd_intel8x0


    !!Sound Servers on this system
    !!----------------------------

    Pulseaudio:
    Installed - Yes (/usr/bin/pulseaudio)
    Running - Yes

    ESound Daemon:
    Installed - Yes (/usr/bin/esd)
    Running - No


    !!Soundcards recognised by ALSA
    !!-----------------------------

    0 [ICH5 ]: ICH4 - Intel ICH5
    Intel ICH5 with AD1981B at irq 17


    any insight would be appreciated. thanks.


  • 3 Comments sorted by
  • Is this a install of Airtime? If so, I'd recommend you uninstall, and try Airtime 2.2.1 (or try Airtime 2.3.0 RC)

    Otherwise, try taking a look in /var/log/airtime/pypo-liquidsoap/ls_script.log. There might be some information there that gives you an idea of what's going on.
    Airtime Pro Hosting: http://airtime.pro
  • This is an install of Airtime, yes, manual install of 1.9.0.

    The automatic install failed in several ways.

    Update, I upgraded to 2.3. After a restart, hallalujah, it started working again.

    But now, After a couple of hours, it has mysteriously died. I only had dummy output, but it was working for some reason.

    Here is the output of ls_script.log around the time of failure. Maybe something looks interesting?

    2013/01/27 16:37:50 [cue_cut_5076:3] End of track before cue-out point.
    2013/01/27 16:37:50 [queue:3] Prepared "/var/tmp/airtime/pypo/cache/scheduler/2013-01-27-19-40-05/246ef3d51fb7e85f49b2a3b1b3497d20.mp3" (RID 6).
    2013/01/27 16:37:50 [cue_cut_5076:2] Ignoring negative cue-in point.
    2013/01/27 16:37:50 [lang:3] /usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh --data='9' --media-id=132
    2013/01/27 16:37:51 [lang:3] Using stream_format 0
    2013/01/27 16:37:51 [alsa_out(default):2] Underrun!
    2013/01/27 16:37:51 [alsa_out(default):2] Trying to recover..
    2013/01/27 17:00:00 [server:3] New client: localhost.
    2013/01/27 17:00:00 [queue:3] Finished with "/var/tmp/airtime/pypo/cache/scheduler/2013-01-27-19-40-05/246ef3d51fb7e85f49b2a3b1b3497d20.mp3".
    2013/01/27 17:00:00 [server:3] Client localhost disconnected.
    2013/01/27 17:00:00 [cue_cut_5076:3] End of track before cue-out point.
    2013/01/27 17:00:00 [fallback_5163:3] Switch to src_5161 with forgetful transition.
    2013/01/27 17:00:00 [lang:3] /usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh --data='9' --media-id=
    2013/01/27 17:00:00 [lang:3] Using stream_format 0
    2013/01/27 17:00:01 [alsa_out(default):2] Underrun!
    2013/01/27 17:00:01 [alsa_out(default):2] Trying to recover..

  • Nothing critical in that log. Perhaps try running airtime-test-soundcard from the command-line
    Airtime Pro Hosting: http://airtime.pro