/// <summary>
        /// Should be called from working thread only (or add proper locks)
        /// </summary>
        protected override void SeekInternal()
        {
            storageBuffer.CountDataBytes = 0;

            //To set the begin flag to true
            PrepareInternal();
            MediaCurrentTime = mediaCurrentTimeMax = TimeSpan.Zero;

            //Seek
            AudioLayer.SourceFlushBuffers(soundInstance.Source);
            SeekInternalImpl(commandSeekTime);
        }