diff --git a/FFmpegInterop/FFmpegInteropMSS.cpp b/FFmpegInterop/FFmpegInteropMSS.cpp index bda1696e7c..9852699414 100644 --- a/FFmpegInterop/FFmpegInteropMSS.cpp +++ b/FFmpegInterop/FFmpegInteropMSS.cpp @@ -783,6 +783,8 @@ HRESULT FFmpegInteropMSS::InitFFmpegContext() for (unsigned int index = 0; index < avFormatCtx->nb_streams; index++) { auto avStream = avFormatCtx->streams[index]; + avStream->discard = AVDISCARD_ALL; // all streams are disabled until we enable them + MediaSampleProvider^ stream; if (avStream->codecpar->codec_type == AVMEDIA_TYPE_AUDIO && !config->IsFrameGrabber && !config->IsExternalSubtitleParser) diff --git a/FFmpegInterop/MediaSampleProvider.cpp b/FFmpegInterop/MediaSampleProvider.cpp index a34e7ac46c..15047a68f9 100644 --- a/FFmpegInterop/MediaSampleProvider.cpp +++ b/FFmpegInterop/MediaSampleProvider.cpp @@ -301,6 +301,7 @@ void MediaSampleProvider::EnableStream() { DebugMessage(L"EnableStream\n"); m_isEnabled = true; + m_pAvStream->discard = AVDISCARD_DEFAULT; } void MediaSampleProvider::DisableStream() @@ -308,6 +309,7 @@ void MediaSampleProvider::DisableStream() DebugMessage(L"DisableStream\n"); Flush(); m_isEnabled = false; + m_pAvStream->discard = AVDISCARD_ALL; } void MediaSampleProvider::SetCommonVideoEncodingProperties(VideoEncodingProperties^ videoProperties, bool isCompressedFormat)