Announcement

Collapse
No announcement yet.

SHOUTcast DNAS 2 (Build 29) 07/31/2011

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • SHOUTcast DNAS 2 (Build 29) 07/31/2011

    This build is our latest GM release candidate and introduces new features as listed in the “Changes” section below, as well as addresses bugs reported in the previous RC builds.

    This release is now available for the following platforms:
    • Windows 32-bit (Windows 2000 and up)
    • Windows 64-bit (Windows XP64 and up)
    • Linux
    • Linux 64-bit
    • Mac OS X (Intel)
    • BSD 8.x


    Downloads

    You can download the updated version of the DNAS v2 from the direct downloads for the operating system version you require:

    Changes

    Build 29 (07/31/2011):
    • Changed SHOUTcast 2 client header to show the DNAS's actual version instead of just 'SHOUTcast 2.0'
    • Fixed SHOUTcast 2 compatible clients only allowed to connect as a SHOUTcast 1 client (build 27 / 28 specific)
    • Fixed more config files being shown than allowed on non-Windows versions when no configuration file specified


    Build 28 (07/25/2011):
    • Added listen.asx to the /listen* playlist options available (so now pls, m3u and asx are available on a stream)
    • Added detection of sc_serv.ini if no configuration file was passed on loading (detects v1 configuration files)
    • Added 'type=xml' parameter to the 'updinfo' action to allow for v2 style XML metadata titles to be manually done
    • Changed streampath handling to allow '/' to be used again (was disabled in build 27)
    • Fixed kicking of listeners failing to respond / taking multiple attempts to react
    • Other miscellaneous code changes, improvments and related documentation updates
    • Everything else listed since the first v2 beta release (build 7)



    Getting Started

    If you already have a running instance of the DNAS v2 then there should not be any issues with replacing your current version with this new version.

    If this is a new install then make sure to read through the information in 'docs\getting_started.txt' along with the example configuration files provided in this new version which should make it easier to get started. Alternatively you should consider looking at the configuration builder which is included in the 'config_builder' folder.

    Finally, all copies of the documentation can also be found online at http://wiki.winamp.com/wiki/SHOUTcast_Broadcaster


    Reporting Issues

    If you do come across an issue with the DNAS v2, then please do post in this thread with as much information as possible about what you're doing at the time, the system you are using and anything else which will make it easier to understand what is or isn't going on with your install.

    Posts relating to authhash management issues will be ignored as this is not the thread for posting such issues.


    Known Issues

    The following are known issues with the v2 DNAS raised in previous releases but not currently fixed / fully confirmed as needing to be fixed (i.e. intended behaviour):
    1. If the external IP is bound to a different device than the primary on the machine then the server will not work as expected (e.g. eth1 instead of eth0). This can cause the YP to fail to see the stream correctly even when destip has been correctly specified with it usually testing against the main IP of the machine. This is fixed for the next public release.
    2. Listing a relayed stream when using the YP2 mode is known to not work and will return a 474 error code from the attempt to connect to the YP. Setting the server as non-public or using the v2 DNAS in legacy mode (yp2=0) will allow the stream to be listed but means you lose all of the YP2 features. This is fixed.
    3. Some characters in titles (usually below ascii value 32) will cause the DNAS to drop the source connection as the title is processed. This will not be changed in the DNAS and will instead require sources to ensure they send titles without invalid titles. The Transcoder and Source DSP will be receiving these updates soon.
    4. On non-windows versions, it is possible for the DNAS to crash with a segfault due to invalid or corrupted metadata updates. This is fixed for the next public release.
    5. Depending on the platform version used, the realistic upper limit of client connections is currently ~300 before the DNAS begins to struggle & / or crash randomly. It is recommended to set maxuser=300 and use an additional DNAS / relay if you want to serve the stream to more listeners. This is fixed for the next public release.
    6. Some client connections (predominantly those using the RTMP protocol) can cause the DNAS to crash due to incomplete handling in the DNAS of this protocol. The only solution is to determine the IP address of the connection and ensure it is saved to the DNAS's ban list or attempt to add it to the system's firewall for inbound connections not allowed (depending on the OS being used). This is fixed for the next public release.
    7. When using a v1 source connection and setting the DNAS to be listed, in some cases the now playing information will not appear on the site's listing and will just show 'Now Playing:'. This is fixed for the next public release.
    8. The w3c log output does not contain the appropriate header values and can also output blank lines in-between the lines in the files' output. This is fixed for the next public release.
    9. The in-stream metadata as well as intro files (if specified) will cause issues with some flash player implementations leading to the stream stuttering when played back such as once the intro file has been played. This primarily comes from how the intro file works and most flash player implementations not coping with variations in the mp3 stream data compared to dedicated media players which can re-sync to the stream data correctly. This is partially fixed for the next public release.
    10. Some configurations will appear to loose the authhash which has been specified for a stream or the authhash is generated and not recognised. This is due to the streamid configuration option not being correctly written to the configuration file by the DNAS. See http://forums.winamp.com/showthread....79532#remember on what is need to resolve this issue with the current release. This is fixed for the next public release.
    11. Non-Windows builds can terminate when receiving a metadata update from the source where it contains characters in the range of 128 to 160 with an error like the following shown:

      terminate called after throwing an instance of 'std::runtime_error'
      what(): XML parser error: not well-formed (invalid token) at line 3

      The work around is to remove those characters from the file tags or disable metadata updates or use a source which strips those character codes for you or use the Windows version of the DNAS. This is fixed for the next public release.
    12. If a / is not specified at the start of a streampath entry e.g. streampath_1=stream instead of streampath_1=/stream then the DNAS will only provide the first stream running on the server. This is fixed for the next public release.
    13. If running the DNAS in the Program Files folder on Windows and you do not have write access to the folder (e.g. due to UAC on Vista and higher), when selecting a config file on the command-line the DNAS may crash. The workaround is to run the DNAS in a different folder which has write permissions or specify the configuration file to use directly (drag + drop the config file onto sc_serv.exe or create a batch file e.g. sc_serv sc_serv.conf and run that). This is fixed for the next public release.



    Additional Information

    Windows versions of the DNAS v2 are built with a dependency against the Microsoft Visual C++ 2008 SP1 Redistributable Package. If sc_serv is unable to start due to a dependency issue then you will need to install the correct version of the package so it can run which depends on the version of sc_serv you are attempting to run:

    32-bit - http://www.microsoft.com/en-us/downl...s.aspx?id=5582
    64-bit - http://www.microsoft.com/en-us/downl...s.aspx?id=2092


    Discussion about the previous version of the server including changelogs can be found in the following threads
    -daz
    WACUP Project <‖> "Winamp Ramblings" - Indie Winamp Dev Blog

  • #2
    Amazing milestone! This is essentially our GM / release build. This is the result of more than 1.5 years of hard work! The work continues but this is our 2.0 GM release.

    Awesome work Darren and thanks to countless beta testers for sending in bug reports and being patient thru the months... Hope your patience pays off in what is a great release.

    Cheers
    f.
    SHOUTcast | Winamp

    Comment


    • #3
      quick update of the build available (now at build 29) to resolve an issue found over the weekend by DaWolfey (see the build 28 thread for more details). otherwise enjoy!

      -daz
      WACUP Project <‖> "Winamp Ramblings" - Indie Winamp Dev Blog

      Comment


      • #4
        I can confirm that the winamp always connecting as shoutcast1 bug is fixed.

        Comment


        • #5
          The latest build 29 seems to work well!
          (I'm using the 64-bit version with Windows 7.)

          However, I've discovered an issue when using the (new) "Playing Artwork" option with the Winamp DSP Plug-in v2.2.3.
          When enabled each track change causes audible desyncs at the beginning of the new track - no matter if I use Windows Media Player v12 or Winamp v5.621 as client software. Winamp also displays a high number of desyncs. (As expected no problems with "Stream Artwork".)

          My source audio files (FLAC) contain 256 x 256 px artwork (JPG), the SHOUTcast stream is AAC LC at 128 kbps.

          Any idea...?

          Comment


          • #6
            DigiBC: artwork of that size shouldn't even be sent to the DNAS so shouldn't be leading to any issues like that happening. especially as WMP12 is a v1 client whereas Winamp 5.621 is acting as a v2 client so it seems a bit weird - i'd have possibly expected it when played in Winamp but not WMP. will look into it though sounds like it's probably the issue with the DSP thinktink's been seeing for a while which i've not been able to reproduce.

            -daz
            WACUP Project <‖> "Winamp Ramblings" - Indie Winamp Dev Blog

            Comment


            • #7
              There is a bug when using this build and Shoutcast 2 clients together, but there are several variables I am not sure of - but I can tell you this for sure.

              If you use ices0.4 (which uses the Shoutcast 1 protocol) as the Source, and stream a song with UTF8 tags to DNAS 2, if you have a Shoutcast 2 Client two things happen:

              1. The artist/title display is messed up
              2. When the client disconnects, DNAS crashes.
              DNAS debug log:
              2011-08-09 00:28:53 I msg:[DST 192.168.202.10:59654 sid=1] SHOUTcast 2 client connection accepted. WinampMPEG/5.62, Ultravox/2.1
              2011-08-09 00:28:53 D msg:state_InitiateStream
              2011-08-09 00:28:53 D msg:resetReadPtr readPtr=97116 amt=4103
              2011-08-09 00:28:53 D msg:state_InitiateStream sending metadata Z9<?xml version="1.0" encoding="UTF-8" ?>
              <metadata>
              <TIT2>¸ýqÎD (·ë¯íüÉ{1) - HVn^kHð~ØÏ [blame user]</TIT2>
              </metadata>

              2011-08-09 00:28:53 D msg:state_SendCachedMetadata
              terminate called after throwing an instance of '2011-08-09 00:29:00 E msg:[DST 192.168.202.10:59654 sid=1] Socket error while waiting to send data. err=Broken pipe(32)
              2011-08-09 00:29:00 D msg:[THREADRUNNER] Removing protocol_shoutcast2Client from thread 0
              2011-08-09 00:29:00 D msg:~protocol_shoutcast2Client
              2011-08-09 00:29:00 I msg:[DST 192.168.202.10:59654 sid=1] SHOUTcast 2 client connection closed (7 seconds) [Bytes: 114884] Agent: `WinampMPEG/5.62, Ultravox/2.1'
              2011-08-09 00:29:00 D msg:[STATS] System wide client total now 0
              std::runtime_error'
              what(): XML parser error: not well-formed (invalid token) at line 3
              Aborted
              A Shoutcast 1 client (Foobar in this case) doesn't crash on disconnect, but the artist/title display is also messed up.

              Also, if the Source is the Transcoder (build 51 tested), DNAS doesn't crash on either version client. (but the tags are messed up)
              Last edited by DaWolfey; 8 August 2011, 23:56. Reason: more info

              Comment


              • #8
                @DrO:

                According to the notes of the DSP the filesize of artwork is restricted to 511 KB.
                I would assume that filesize is more relevant than the actual resolution of the embedded pictures.

                The FLAC files I've tested so far contain artwork which is less than 75 KB (JPG) or 170 KB (PNG). So that's well below the mentioned limit.
                The artwork is displayed without problems when I access the admin pages of the DNAS in "artwork mode" (admin.cgi?sid=#&mode=art&art=playing). Still it's not showing in Winamp v5.621; maybe the artwork feature isn't implemented yet...

                I will do some more tests with different configurations, filesizes and bitrates. Also AAC and MP3 streams may show a different behaviour...

                Anyway, I wonder if I will actually use the neat artwork feature if there will remain some incompatibility issues with (the majority of) v1 clients...

                Comment


                • #9
                  DigiBC: ignore my prior comment about the size as i tried to do it in my head and messed up.

                  Winamp doesn't support showing of the artwork as i've not had the time to implement it into the client.

                  Originally Posted by DigiBC View Post
                  Anyway, I wonder if I will actually use the neat artwork feature if there will remain some incompatibility issues with (the majority of) v1 clients...
                  it most likely is an issue with the DSP but i'm not sure until i can check it out i.e. i've got a load of other things to look into from my week off before i can look into such things. either way as long as i can reproduce the issue when i get around to looking into it then it will be fixed in whichever of the tools is causing the issue (as has been done with the other issues reported and reproduced). you just have to bear with things a bit as any new code will have some quirks no matter what testing is done.

                  -daz
                  WACUP Project <‖> "Winamp Ramblings" - Indie Winamp Dev Blog

                  Comment


                  • #10
                    Originally Posted by DaWolfey View Post
                    If you use ices0.4 (which uses the Shoutcast 1 protocol) as the Source, and stream a song with UTF8 tags to DNAS 2, if you have a Shoutcast 2 Client two things happen:

                    1. The artist/title display is messed up
                    2. When the client disconnects, DNAS crashes.
                    what you've posted contains invalid utf-8 characters from what i can tell (appears to contain SOH and STX control characters). if you can provide an example file with the actual tag that is present then i'll try to look into the issue and see what can be done to improve things though i'm not sure what at the moment since there's already a number of checks in place in the DNAS to attempt to sanitise titles sent from v1 sources.

                    Originally Posted by DaWolfey View Post
                    Also, if the Source is the Transcoder (build 51 tested), DNAS doesn't crash on either version client. (but the tags are messed up)
                    that is because the Transcoder will clean up any xml from the source before it is sent to the DNAS which is something added to the recent DSP and Transcoder builds.

                    -daz
                    WACUP Project <‖> "Winamp Ramblings" - Indie Winamp Dev Blog

                    Comment


                    • #11
                      I emailed you early this morning with two example mp3s.

                      I wouldn't trust the quoted text here, look at the tags of the mp3s I have sent.

                      Comment


                      • #12
                        got it, hadn't checked my email until now. and from a quick look at the tags, it's ID3v1 and ID3v2.4 in them. will have a play with them when i've got a moment to see what is / isn't going on, thanks.

                        -daz
                        WACUP Project <‖> "Winamp Ramblings" - Indie Winamp Dev Blog

                        Comment


                        • #13
                          PHP Code:
                          ROSERVERCould not call accept() on socket because Too many open files
                          2011
                          -08-10 17:49:32     E       msg:[MICROSERVERCould not call accept() on socket because Too many open files
                          2011
                          -08-10 17:49:32     E       msg:[MICROSERVERCould not call accept() on socket because Too many open files
                          2011
                          -08-10 17:49:32     E       msg:[MICROSERVERCould not call accept() on socket because Too many open files
                          2011
                          -08-10 17:49:32     E       msg:[MICROSERVERCould not call accept() on socket because Too many open files
                          2011
                          -08-10 17:49:32     E       msg:[MICROSERVERCould not call accept() on socket because Too many open files
                          2011
                          -08-10 17:49:32     E       msg:[MICROSERVERCould not call accept() on socket because Too many open files
                          2011
                          -08-10 17:49:32     E       msg:[MICROSERVERCould not call accept() on socket because Too many open files
                          2011
                          -08-10 17:49:32     E       msg:[MICROSERVERCould not call accept() on socket because Too many open files
                          2011
                          -08-10 17:49:32     E       msg:[MICROSERVERCould not call accept() on socket because Too many open files
                          2011
                          -08-10 17:49:33     E       msg:[MICROSERVERCould not call accept() on socket 
                          I keep experiencing console flood of the above error. Server is running with around 300+ listeners on a 1GB ram VPS running centos linux 32 bit

                          Thanks Danny

                          Comment


                          • #14
                            you've hit the socket limit for what is being allowed in your VPS. you could check what the current limit is set as using ulimit -a and then try to use ulimit -n xxxx to increase it. but it's probably likely it's been limited on purpose and would be something best discussed / checked with your hosting provider.

                            -daz
                            WACUP Project <‖> "Winamp Ramblings" - Indie Winamp Dev Blog

                            Comment


                            • #15
                              since the DSP and DNAS can now stream artwork, when will the client be able to display it?

                              also, if i have build 19 or 23, can i just install build 29 (or newer) over the top of it without needing to redo my config files?

                              thx for the great progress being made!
                              PENN STATE Radio or http://www.LION-Radio.org/
                              --
                              BUG #1 = Winamp skips short tracks
                              Wish #1 = Multiple Column Sorting
                              Wish #2 = Add TCMP/Compilation editing

                              Comment

                              Working...
                              X
                              😀
                              🥰
                              🤢
                              😎
                              😡
                              👍
                              👎