Exemplo n.º 1
0
 public override void OnPlaybackEnded(VideoInfo video, string url, double percent, bool stoppedByUser)
 {
     if (aceStreamEngine != null)
     {
         aceStreamEngine.Stop();
         aceStreamEngine.Close();
         aceStreamEngine = null;
     }
 }
Exemplo n.º 2
0
        string getAceStreamUrl(string pid)
        {
            if (aceStreamEngine != null)
                aceStreamEngine.Close();

            Log.Debug("Wiziwig: Starting acestream with PID '{0}'", pid);
            string url = null;
            try
            {
                aceStreamEngine = new AceStreamEngine();
                aceStreamEngine.OnMessage += (s, e) => Log.Debug("Wiziwig: " + e.Message);
                if (!aceStreamEngine.Connect() || !aceStreamEngine.WaitForReady())
                    return null;

                aceStreamEngine.StartPID(pid);
                url = aceStreamEngine.WaitForUrl(aceStreamTimeout);
            }
            catch (System.Threading.ThreadAbortException)
            {
                aceStreamEngine.Close();
                aceStreamEngine = null;
                Log.Warn("Wiziwig: Background thread was aborted by OnlineVideos, consider increasing OnlineVideos' web request timeout");
                throw;
            }

            if (!string.IsNullOrEmpty(url))
                //return new MPUrlSourceFilter.HttpUrl(url) { LiveStream = true, ReceiveDataTimeout = MPUrlSourceFilter.HttpUrl.DefaultReceiveDataTimeout * 2 }.ToString();
                return new MPUrlSourceFilter.HttpUrl(url) { LiveStream = true }.ToString();

            aceStreamEngine.Close();
            aceStreamEngine = null;
            return null;
        }