/// <summary> /// Retrieves stats from the Shoutcast or Icecast server. /// </summary> /// <param name="Handle">The encoder Handle.</param> /// <param name="Type">The type of stats to retrieve.</param> /// <param name="Password">Password when retrieving Icecast server stats... <see langword="null" /> = use the password provided in the <see cref="CastInit" /> call. A username can also be included in the form of "username:password". </param> /// <returns>If successful, <see langword="true" /> is returned, else <see langword="false" /> is returned. Use <see cref="Bass.LastError" /> to get the error code.</returns> /// <remarks>The stats are returned in XML format.</remarks> /// <exception cref="Errors.Handle"><paramref name="Handle" /> is not valid.</exception> /// <exception cref="Errors.Type"><paramref name="Type" /> is invalid.</exception> /// <exception cref="Errors.NotAvailable">There isn't a cast of the requested type set on the encoder.</exception> /// <exception cref="Errors.Timeout">The server did not respond to the request within the timeout period, as set with the <see cref="Bass.NetTimeOut"/> config option.</exception> /// <exception cref="Errors.Memory">There is insufficient memory.</exception> /// <exception cref="Errors.Unknown">Some other mystery problem!</exception> public static string CastGetStats(int Handle, EncodeStats Type, string Password) { return(Marshal.PtrToStringAnsi(BASS_Encode_CastGetStats(Handle, Type, Password))); }
static extern IntPtr BASS_Encode_CastGetStats(int handle, EncodeStats type, [In] string pass);