Project

General

Profile

Actions

Support Request #4683

closed

EBPRODUCTSUPPORT-1794 Bugfix DirectShowDevice-Filter

Added by hidden over 5 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Normal
Customer:
ELEKTROBIT
Department:
SUPPORT
Requester's Priority:
Normal
Support Level:
2nd Level
Resolution:
Solved Issue
Platform:
Topic:
DeviceTB::Common
FAQ Links:

Description

Supportanfrage

Ein Kunde hat ein problem mit der Korrekten Auflösung der Webcam beim DirectShowDevice-Filter. Dieses Problem wurde schonmals in einem alten Supportticket behandelt, weswegen wir dem Kunden den Bugfix aus dem Ticket zukommen ließen.
Das Originalticket hatte bei euch wohl die Ticket-ID 17167KDPEI.

Dieser Bugfix funktioniert leider nicht mehr mit der aktuellen ADTF version:

"Leider scheint dieser Bugfix nicht mit der aktuellen ADTF-Version (2.14.2) kompatibel zu sein. Das Filter-Binary des Bugfixes lässt sich nicht in ADTF einbinden und der Source Code kompiliert nicht, da der Bugfix inkompatibel zum ADTF-SDK (2.14.2), genauer zur Klasse cBaseCaptureDevice in capturedevice.h ist.
Ich habe versucht, den Source Code von "common_directshowcapture" der Device Toolbox 2.7.0 zu kompilieren, aber dies ist an Linker-Problemen gescheitert."

Hier der Linker-Fehler:

1>------ Build started: Project: common_directshowcapture, Configuration: Release x64 ------
1> Creating library D:/work/adtf/addons/adtf-device-toolbox/build/src/plugins/common_directshowcapture/Release/common_directshowcapture.lib and object D:/work/adtf/addons/adtf-device-toolbox/build/src/plugins/common_directshowcapture/Release/common_directshowcapture.exp
1>DSRenderer.obj : error LNK2019: unresolved external symbol "public: cdecl CBaseVideoRenderer::CBaseVideoRenderer(struct _GUID const &,char const *,struct IUnknown *,long *)" (??0CBaseVideoRenderer@QEAA@AEBU_GUID@PEBDPEAUIUnknown@PEAJ@Z) referenced in function "public: __cdecl cDSRenderer::cDSRenderer(class IDSRendererEventSink *)" (??0cDSRenderer@QEAA@PEAVIDSRendererEventSink@@Z)
1>strmbase.lib(ctlutil.obj) : error LNK2001: unresolved external symbol "void __cdecl operator delete(void *,unsigned __int64)" (??3@YAXPEAX_K@Z)
1>strmbase.lib(amfilter.obj) : error LNK2019: unresolved external symbol "void __cdecl operator delete(void *,unsigned __int64)" (??3@YAXPEAX_K@Z) referenced in function "public: virtual void * __cdecl CDynamicOutputPin::`scalar deleting destructor'(unsigned int)" (??_GCDynamicOutputPin
@UEAAPEAXI@Z)
1>strmbase.lib(renbase.obj) : error LNK2001: unresolved external symbol "void __cdecl operator delete(void *,unsigned __int64)" (??3@YAXPEAX_K@Z)
1>strmbase.lib(wxutil.obj) : error LNK2001: unresolved external symbol "void __cdecl operator delete(void *,unsigned __int64)" (??3@YAXPEAX_K@Z)
1>strmbase.lib(wxlist.obj) : error LNK2001: unresolved external symbol "void __cdecl operator delete(void *,unsigned __int64)" (??3@YAXPEAX_K@Z)
1>strmbase.lib(amfilter.obj) : error LNK2001: unresolved external symbol __std_terminate
1>strmbase.lib(ctlutil.obj) : error LNK2001: unresolved external symbol __std_terminate
1>strmbase.lib(wxutil.obj) : error LNK2019: unresolved external symbol __imp
_stdio_common_vswprintf referenced in function "long __cdecl StringCchPrintfW(wchar_t *,unsigned __int64,wchar_t const *,...)" (?StringCchPrintfW@@YAJPEA_W_KPEB_WZZ)
1>D:\work\adtf\addons\adtf-device-toolbox\build\src\plugins\common_directshowcapture\Release\common_directshowcapture.plb : fatal error LNK1120: 4 unresolved externals
2>------ Skipped Build: Project: INSTALL, Configuration: Release x64 ------
2>Project not selected to build for this solution configuration ========== Build: 0 succeeded, 1 failed, 13 up-to-date, 1 skipped ==========

"Die Library (strmbase.lib), in der der Fehler auftritt, wird von Microsoft nur als Source Code zur Verfügung gestellt und wurde von mir daher selbst kompiliert. Ich habe die aktuelle Windows7-Version dieser Library kompiliert, die Bestandteil des Windows7.1-SDKs ist. Vor etlichen Jahren war diese Library aber anscheinend mal Bestandteil des DirectX SDKs.
In der CMakeLists.txt von "common_directshowcapture" (....\adtf\addons\adtf-device-toolbox\src\plugins\common_directshowcapture\CMakeLists.txt) finden sich folgende Code-Zeilen:

find_path(DIRECTX_DIR include/strmbase/amfilter.h)
if (DIRECTX_DIR)
include_directories(${DIRECTX_DIR}/include)
link_directories(${DIRECTX_DIR}/lib)
else (DIRECTX_DIR)
message(FATAL_ERROR "Could not find DirectX SDK")
endif (DIRECTX_DIR)

Der Include-Path "strmbase" existiert nicht in den aktuellen Sourcen von strmbase.lib wie sie im Windows7.1-SDK enthalten sind. Ein aktuelles DirectX SDK wiederum enthält weder Sourcen noch Binaries zu strmbase.lib.Vermutlich erwartet "common_directshowcapture" irgendeine veraltete Version des DirectX SDKs."

Eine idee, wie wir dem Kunden da helfen können?

Lösung

SDK geliefert, Sourcen stehen zur Verfügung.


Files

Win7SDK.zip (2.61 MB) Win7SDK.zip DirectX SDK hidden, 2018-11-16 17:42

Related issues

Has duplicate Public Support - Support Request #5985: How to compile Direct Show Capture DeviceClosedActions
Actions #1

Updated by hidden over 5 years ago

  • Project changed from Public Support to 7
  • Status changed from New to In Progress
  • Topic set to DeviceTB::Common
  • Customer set to DUCATI
  • Department set to SUPPORT
  • Affected Products ADTF 2.14.2, ADTF Device Toolbox 2.7.0 added
Actions #2

Updated by hidden over 5 years ago

  • Description updated (diff)
  • Status changed from In Progress to Customer Feedback Required
  • Product Issue Numbers set to https://www.cip.audi.de/jira/browse/ADEVTB-1149

Hallo Florian,

das Device wird eigentich so nicht mehr supportet, deshalb die Quellen geliefert.

Dieser Bugfix funktioniert leider nicht mehr mit der aktuellen ADTF version

Hast du das mal verifiziert ?
Warum lässt sich das binary nicht einbinden, was ist die Fehlermeldung ?
Eigentlich ist das in ADTF immer kompatibel...

1>------ Build started: Project: common_directshowcapture, Configuration: Release x64 ------

Auch Linker Error bei RelWithDebInfo ?
Kann ich irgendwie nicht nachvollziehen...

Windows 7
VS 2010 Professional ?

Actions #3

Updated by hidden over 5 years ago

Hierzu bäruchte ich ebenso noch Feedback, aufgrund des Krankheitshinweises wurde das Ticket auf 21.11.2018 verlängert.
Fragen aus #4683#note-2 sind noch offen.

Actions #4

Updated by hidden over 5 years ago

Hallo Florian,

wir wollen am Montag dem Kunden mit der aktuellen Device Toolbox eine 64bit Version des DirectShowDevice-Filter hier bauen und es beim Kunden dringlich ist. Da wir nicht wissen was unser Florian bei sich schon vorbereitet oder getan hat.

Könntest du mir bitte die DirectX Pakete für 32 und 64bit zukommen lassen mit denen ihr den Filter das letzte für die Toolbox selbst gebaut habt?

Danke schön!

Best regards,
Anja Winkler

Actions #5

Updated by hidden over 5 years ago

Hallo Anja,

ich habe Dir ein ZIP-Archiv in den Anhang gelegt, damit sollte sich der DirectShow-Filter bauen lassen.

Gruß
Frank

Actions #6

Updated by hidden over 5 years ago

Ist das Thema damit erledigt ?

Actions #7

Updated by hidden over 5 years ago

Ja, vielen Dank.

Best regards,
Anja Winkler

Actions #8

Updated by hidden over 5 years ago

  • Description updated (diff)
  • Status changed from Customer Feedback Required to To Be Closed
  • Resolution set to Solved Issue
Actions #9

Updated by hidden over 5 years ago

  • Status changed from To Be Closed to Closed
Actions #10

Updated by hidden about 5 years ago

  • Customer changed from DUCATI to ELEKTROBIT
Actions #11

Updated by hidden about 5 years ago

  • Project changed from 7 to Public Support
  • Private changed from Yes to No
Actions #12

Updated by hidden about 5 years ago

Actions #13

Updated by hidden about 5 years ago

Actions #14

Updated by hidden about 5 years ago

Actions

Also available in: Atom PDF