diff options
| -rw-r--r-- | general/SimpleMediaSource/MediaSource/SimpleMediaSource.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/general/SimpleMediaSource/MediaSource/SimpleMediaSource.cpp b/general/SimpleMediaSource/MediaSource/SimpleMediaSource.cpp index 1729fbcf..162fb1d8 100644 --- a/general/SimpleMediaSource/MediaSource/SimpleMediaSource.cpp +++ b/general/SimpleMediaSource/MediaSource/SimpleMediaSource.cpp @@ -199,7 +199,7 @@ SimpleMediaSource::Start( RETURN_IF_FAILED (_CheckShutdownRequiresLock()); - if (_sourceState != SourceState::Stopped) + if (!(_sourceState != SourceState::Stopped || _sourceState != SourceState::Shutdown)) { return MF_E_INVALID_STATE_TRANSITION; } @@ -277,6 +277,8 @@ SimpleMediaSource::Stop( return MF_E_INVALID_STATE_TRANSITION; } + _sourceState = SourceState::Stopped; + RETURN_IF_FAILED (_CheckShutdownRequiresLock()); RETURN_IF_FAILED (InitPropVariantFromInt64(MFGetSystemTime(), &stopTime)); RETURN_IF_FAILED (_spPresentationDescriptor->GetStreamDescriptorCount(&count)); |
