public Session StartPlayback(string source, string sessionName, uint start, int end)
        {
            Session session;

            switch (_currentMode)
            {
            case ApplicationMode.Live:
                StopRecord();
                session = _playbackService.Play(source, sessionName, start, end);
                break;

            case ApplicationMode.Play:
            case ApplicationMode.Waiting:
                session = _playbackService.Play(source, sessionName, start, end);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            _currentMode = _playbackService.IsPlaying()
                ? ApplicationMode.Play
                : ApplicationMode.Waiting;
            return(session);
        }