Retrieves stats from the Shoutcast or Icecast server.
Namespace: Un4seen.Bass.AddOn.Enc
Assembly: Bass.Net (in Bass.Net.dll) Version: 2.4.17.5
Syntax
public static string BASS_Encode_CastGetStats( int handle, BASSEncodeStats type, string pass )
Parameters
- handle
- Type: SystemInt32
The encoder handle. - type
- Type: Un4seen.Bass.AddOn.EncBASSEncodeStats
The type of stats to retrieve. One of the following (see BASSEncodeStats):BASS_ENCODE_STATS_SHOUT Shoutcast stats, including listener information and additional server information. BASS_ENCODE_STATS_ICE Icecast mount-point listener information. BASS_ENCODE_STATS_ICESERV Icecast server stats, including information on all mount points on the server. - pass
- Type: SystemString
Password when retrieving Icecast server stats... = use the password provided in the BASS_Encode_CastInit(Int32, String, String, String, String, String, String, String, String, Int32, BASSEncodeCast) call.
Return Value
Type: StringIf successful, is returned, else is returned. Use BASS_ErrorGetCode to get the error code.
Remarks
Each encoder has a single stats buffer, which is reused by each call of this function for the encoder. So if the data needs to be retained across multiple calls, it should be copied to another buffer.
ERROR CODE | Description |
---|---|
BASS_ERROR_HANDLE | handle is not valid. |
BASS_ERROR_ILLTYPE | type is invalid. |
BASS_ERROR_NOTAVAIL | There isn't a cast of the requested type set on the encoder. |
BASS_ERROR_TIMEOUT | The server did not respond to the request within the timeout period, as set with the BASS_CONFIG_NET_TIMEOUT config option. |
BASS_ERROR_MEM | There is insufficient memory. |
BASS_ERROR_UNKNOWN | Some other mystery problem! |
Examples
string stats = BassEnc.BASS_Encode_CastGetStats(encoder, BASSEncodeStats.BASS_ENCODE_STATS_SHOUT, password); if (stats != null) { int start = stats.IndexOf( "<CURRENTLISTENERS>" ); int end = stats.IndexOf( "</CURRENTLISTENERS>" ); if (start > 0 && end > 0) { start += 18; count = int.Parse( stats.Substring(start, end-start) ); } }
See Also