public SmoothStreamingMediaPlugin()
        {
#if !WINDOWS_PHONE
            _scheduledAds = new List<ScheduledAd>();
            _chunkDownloadManager = new ChunkDownloadManager(this);
            _chunkDownloadManager.DownloadCompleted += ChunkDownloadManager_ChunkDownloadCompleted;
            _chunkDownloadManager.RetryingDownload += ChunkDownloadManager_RetryingChunkDownload;
            _chunkDownloadManager.DownloadExceededMaximumRetries += ChunkDownloadManager_ChunkDownloadExceededMaximumRetryAttempts;
#endif
            _seekCommand = new SeekCommand();
        }
        private void InitializeSmoothStreamingMediaElement()
        {
            if (MediaElement == null)
            {
                _seekCommand = new SeekCommand();

                MediaElement = new SmoothStreamingMediaElement();
#if HACKMODE
                MediaElement.Name = GetNewName(); // TODO: remove HACK once SSME is fixed in LV
#endif
#if !WINDOWS_PHONE
                MediaElement.ConfigPath = "Config.xml";
#endif
                MediaElement.ManifestReady += MediaElement_ManifestReady;
                MediaElement.PlaybackTrackChanged += MediaElement_PlaybackTrackChanged;
                MediaElement.MediaOpened += MediaElement_MediaOpened;
                MediaElement.MediaFailed += MediaElement_MediaFailed;
                MediaElement.MediaEnded += MediaElement_MediaEnded;
                MediaElement.CurrentStateChanged += MediaElement_CurrentStateChanged;
                MediaElement.BufferingProgressChanged += MediaElement_BufferingProgressChanged;
                MediaElement.DownloadProgressChanged += MediaElement_DownloadProgressChanged;
                MediaElement.LogReady += MediaElement_LogReady;
                MediaElement.SmoothStreamingErrorOccurred += MediaElement_SmoothStreamingErrorOccurred;
                MediaElement.SeekCompleted += MediaElement_SeekCompleted;
                MediaElement.LiveEventCompleted += MediaElement_LiveEventCompleted;
                MediaElement.DownloadTrackChanged += MediaElement_DownloadTrackChanged;
#if !WINDOWS_PHONE
                MediaElement.SetPlaybackRangeCompleted += MediaElement_SetPlaybackRangeCompleted;
                MediaElement.DrmSetupDecryptorCompleted += MediaElement_DrmSetupDecryptorCompleted;
                MediaElement.MarkerReached += MediaElement_MarkerReached;
                MediaElement.ClipClickThrough += MediaElement_ClipClickThrough;
                MediaElement.ClipError += MediaElement_ClipError;
                MediaElement.ClipProgressUpdate += MediaElement_ClipProgressUpdate;
                MediaElement.ClipStateChanged += MediaElement_ClipStateChanged;
                MediaElement.LinearClipChanged += MediaElement_LinearClipChanged;
                MediaElement.ChunkDownloadFailed += MediaElement_ChunkDownloadFailed;
#endif

                SendLogEntry(KnownLogEntryTypes.SmoothStreamingMediaElementInstantiated,
                    message: SmoothStreamingResources.SmoothStreamingMediaPluginInstantiatedLogMessage);
            }
        }