From ba7642485fc99fc8812a5a91c416ae5a1b0c2944 Mon Sep 17 00:00:00 2001 From: Lukas Fellechner Date: Thu, 16 Jan 2020 18:58:25 +0100 Subject: [PATCH] Set discard flag on all unselected streams --- FFmpegInterop/FFmpegInteropMSS.cpp | 2 ++ FFmpegInterop/MediaSampleProvider.cpp | 2 ++ Libs/PkgConfigFake | 1 + 3 files changed, 5 insertions(+) create mode 160000 Libs/PkgConfigFake diff --git a/FFmpegInterop/FFmpegInteropMSS.cpp b/FFmpegInterop/FFmpegInteropMSS.cpp index 7e255fb064..721b5b1bb5 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) diff --git a/Libs/PkgConfigFake b/Libs/PkgConfigFake new file mode 160000 index 0000000000..6f0208fce6 --- /dev/null +++ b/Libs/PkgConfigFake @@ -0,0 +1 @@ +Subproject commit 6f0208fce680e9291afb30ef9a3ac52bf150f1e4