Esempio n. 1
0
        private void SendErrorMessage(HTTPSession webSession, Stream stream)
        {
            try
            {
                if (stream != null)
                {
                    webSession.CloseStreamObject(stream);
                    stream.Dispose();
                    stream = null;
                }

                HTTPMessage error = new HTTPMessage();
                error.StatusCode   = 404;
                error.StatusData   = "Error";
                error.StringBuffer = "Error";
                webSession.Send(error);
            }
            catch (Exception ex)
            {
                Utils.WriteException(ex);
            }
            finally
            {
                AllowSystemStandBy();
            }
        }
Esempio n. 2
0
        private void WebSession_OnStreamDone(HTTPSession sender, Stream streamObject)
        {
            sender.OnStreamDone -= WebSession_OnStreamDone;
            AllowSystemStandBy();

            try
            {
                if (streamObject != null)
                {
                    sender.CloseStreamObject(streamObject);
                    streamObject.Dispose();
                }

                string lastPlayedFile = sender.StateObject as string;
                if (!String.IsNullOrEmpty(lastPlayedFile))
                {
                    string nextFile = GetNextFile(sender.Remote.Address, lastPlayedFile);
                    if (!String.IsNullOrEmpty(nextFile))
                    {
                        // Enchain the audio files on the Freebox V5
                        SendStreamObject(sender, null, String.Format("0/{0}/1", nextFile));
                    }
                }
            }
            catch (Exception ex)
            {
                Utils.WriteException(ex);
            }
        }
 /// <summary>
 /// This method gets called when we are done streaming the media
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="S"></param>
 protected void DoneSink(HTTPSession sender, Stream S)
 {
     sender.CloseStreamObject(S);
     sender.Close();
 }
Esempio n. 4
0
 /// <summary>
 /// This method gets called when we are done streaming the media
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="S"></param>
 protected void DoneSink(HTTPSession sender, Stream S)
 {
     sender.CloseStreamObject(S);
     sender.Close();
 }