From 6038eeee9540673e26151253f1ebf40cd0008730 Mon Sep 17 00:00:00 2001 From: "Erich E. Hoover" Date: Mon, 2 Mar 2015 11:09:07 -0700 Subject: [PATCH] quartz/strmbase: Added patch to fix MediaSeekingPassThru_GetPositions when the pins are unconnected. --- patches/patchinstall.sh | 12 ++++--- ...iaSeekingPassThru_GetPositions-retur.patch | 31 +++++++++++++++++++ ...e-stream-position-in-addition-to-th.patch} | 0 ...MediaSeeking_GetCurrentPosition-on-.patch} | 0 ...MediaSeeking_GetStopPosition-on-top.patch} | 0 ...sed-cache-of-MediaSeeking-stop-posi.patch} | 0 6 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 patches/quartz-MediaSeeking_Positions/0001-strmbase-Fix-MediaSeekingPassThru_GetPositions-retur.patch rename patches/quartz-MediaSeeking_Positions/{0001-quartz-Include-the-stream-position-in-addition-to-th.patch => 0002-quartz-Include-the-stream-position-in-addition-to-th.patch} (100%) rename patches/quartz-MediaSeeking_Positions/{0002-quartz-Implement-MediaSeeking_GetCurrentPosition-on-.patch => 0003-quartz-Implement-MediaSeeking_GetCurrentPosition-on-.patch} (100%) rename patches/quartz-MediaSeeking_Positions/{0003-quartz-Implement-MediaSeeking_GetStopPosition-on-top.patch => 0004-quartz-Implement-MediaSeeking_GetStopPosition-on-top.patch} (100%) rename patches/quartz-MediaSeeking_Positions/{0004-quartz-Remove-unused-cache-of-MediaSeeking-stop-posi.patch => 0005-quartz-Remove-unused-cache-of-MediaSeeking-stop-posi.patch} (100%) diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index a9d6e8ed..ebaeb765 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -3210,14 +3210,16 @@ fi # | * [#23174] Return correct IMediaSeeking stream positions in quartz # | # | Modified files: -# | * dlls/quartz/filtergraph.c +# | * dlls/quartz/filtergraph.c, dlls/strmbase/pospass.c # | if test "$enable_quartz_MediaSeeking_Positions" -eq 1; then - patch_apply quartz-MediaSeeking_Positions/0001-quartz-Include-the-stream-position-in-addition-to-th.patch - patch_apply quartz-MediaSeeking_Positions/0002-quartz-Implement-MediaSeeking_GetCurrentPosition-on-.patch - patch_apply quartz-MediaSeeking_Positions/0003-quartz-Implement-MediaSeeking_GetStopPosition-on-top.patch - patch_apply quartz-MediaSeeking_Positions/0004-quartz-Remove-unused-cache-of-MediaSeeking-stop-posi.patch + patch_apply quartz-MediaSeeking_Positions/0001-strmbase-Fix-MediaSeekingPassThru_GetPositions-retur.patch + patch_apply quartz-MediaSeeking_Positions/0002-quartz-Include-the-stream-position-in-addition-to-th.patch + patch_apply quartz-MediaSeeking_Positions/0003-quartz-Implement-MediaSeeking_GetCurrentPosition-on-.patch + patch_apply quartz-MediaSeeking_Positions/0004-quartz-Implement-MediaSeeking_GetStopPosition-on-top.patch + patch_apply quartz-MediaSeeking_Positions/0005-quartz-Remove-unused-cache-of-MediaSeeking-stop-posi.patch ( + echo '+ { "Erich E. Hoover", "strmbase: Fix MediaSeekingPassThru_GetPositions return when the pins are unconnected.", 1 },'; echo '+ { "Erich E. Hoover", "quartz: Include the stream position in addition to the reference clock offset in the time returned by MediaSeeking_GetPositions.", 1 },'; echo '+ { "Erich E. Hoover", "quartz: Implement MediaSeeking_GetCurrentPosition on top of MediaSeeking_GetPositions.", 1 },'; echo '+ { "Erich E. Hoover", "quartz: Implement MediaSeeking_GetStopPosition on top of MediaSeeking_GetPositions.", 1 },'; diff --git a/patches/quartz-MediaSeeking_Positions/0001-strmbase-Fix-MediaSeekingPassThru_GetPositions-retur.patch b/patches/quartz-MediaSeeking_Positions/0001-strmbase-Fix-MediaSeekingPassThru_GetPositions-retur.patch new file mode 100644 index 00000000..a20613d7 --- /dev/null +++ b/patches/quartz-MediaSeeking_Positions/0001-strmbase-Fix-MediaSeekingPassThru_GetPositions-retur.patch @@ -0,0 +1,31 @@ +From df8c6c12fcb38d5fc4f6a279d775aaec2b9d8a18 Mon Sep 17 00:00:00 2001 +From: "Erich E. Hoover" +Date: Mon, 2 Mar 2015 11:01:22 -0700 +Subject: strmbase: Fix MediaSeekingPassThru_GetPositions return when the pins + are unconnected. + +--- + dlls/strmbase/pospass.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/dlls/strmbase/pospass.c b/dlls/strmbase/pospass.c +index e547328..424853a 100644 +--- a/dlls/strmbase/pospass.c ++++ b/dlls/strmbase/pospass.c +@@ -526,9 +526,11 @@ static HRESULT WINAPI MediaSeekingPassThru_GetPositions(IMediaSeeking * iface, L + if (SUCCEEDED(hr)) { + hr = IMediaSeeking_GetPositions(seek, pCurrent, pStop); + IMediaSeeking_Release(seek); ++ } else if (hr == VFW_E_NOT_CONNECTED) { ++ *pCurrent = 0; ++ *pStop = 0; ++ hr = S_OK; + } +- else +- return E_NOTIMPL; + return hr; + } + +-- +1.9.1 + diff --git a/patches/quartz-MediaSeeking_Positions/0001-quartz-Include-the-stream-position-in-addition-to-th.patch b/patches/quartz-MediaSeeking_Positions/0002-quartz-Include-the-stream-position-in-addition-to-th.patch similarity index 100% rename from patches/quartz-MediaSeeking_Positions/0001-quartz-Include-the-stream-position-in-addition-to-th.patch rename to patches/quartz-MediaSeeking_Positions/0002-quartz-Include-the-stream-position-in-addition-to-th.patch diff --git a/patches/quartz-MediaSeeking_Positions/0002-quartz-Implement-MediaSeeking_GetCurrentPosition-on-.patch b/patches/quartz-MediaSeeking_Positions/0003-quartz-Implement-MediaSeeking_GetCurrentPosition-on-.patch similarity index 100% rename from patches/quartz-MediaSeeking_Positions/0002-quartz-Implement-MediaSeeking_GetCurrentPosition-on-.patch rename to patches/quartz-MediaSeeking_Positions/0003-quartz-Implement-MediaSeeking_GetCurrentPosition-on-.patch diff --git a/patches/quartz-MediaSeeking_Positions/0003-quartz-Implement-MediaSeeking_GetStopPosition-on-top.patch b/patches/quartz-MediaSeeking_Positions/0004-quartz-Implement-MediaSeeking_GetStopPosition-on-top.patch similarity index 100% rename from patches/quartz-MediaSeeking_Positions/0003-quartz-Implement-MediaSeeking_GetStopPosition-on-top.patch rename to patches/quartz-MediaSeeking_Positions/0004-quartz-Implement-MediaSeeking_GetStopPosition-on-top.patch diff --git a/patches/quartz-MediaSeeking_Positions/0004-quartz-Remove-unused-cache-of-MediaSeeking-stop-posi.patch b/patches/quartz-MediaSeeking_Positions/0005-quartz-Remove-unused-cache-of-MediaSeeking-stop-posi.patch similarity index 100% rename from patches/quartz-MediaSeeking_Positions/0004-quartz-Remove-unused-cache-of-MediaSeeking-stop-posi.patch rename to patches/quartz-MediaSeeking_Positions/0005-quartz-Remove-unused-cache-of-MediaSeeking-stop-posi.patch