Is directshow.net video input device filter enumeration broken (in newer environments)? - c#-4.0

Every example in the directshow.net samples folder (marked "2010-February") compiles fine, and those that play videos from files work great. However, every example that tries to enumerate the FilterCategory.VideoInputDevices always fails to find any of my filters, specifically DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice);
always returns that I have no devices. This same problem occurs for me in every other program that uses directshow.net, like touchless and the various examples on codeplex.
I've got four video input filters installed (1 webcam and 3 screen-capturing filters) and they're found/usable by the graph editor that comes with the Windows SDK and the rl Filter Manager. Both programs list the four filters under "Video Capture Sources" and each Moniker starts with the correct GUID that directshow.net's FilterCategory.VideoInputDevices points to ("860BB310-5D01-11D0-BD3B-00A0C911CE86").
I've tried compiling and using the latest directshow.net dll myself, but nothing changed.
Is there some reason why the wrapper can get the video rendering filters fine but not enumerate video capturing ones? I'm on win7 sp1, 64bit, using visual C# 2010 express. Is something in my environment causing this? I'd gladly handle the change myself if I knew what is causing it.
Thank you for your time.

I copied the code for GetDevicesOfCat into my project and started debugging it. If I handed it any FilterCategory other than VideoInputDevice, it would get most of the filters that GraphEdit lists, but it was still missing some in most of the categories. I guessed that there was some property of the filters that made them unobtainable to my compiled version of GetDevicesOfCat.
It turns out simply switching my platform target to x86 does the trick, though it's not as straightfoward in VS2010 Express (for a fresh install, you'll have to follow the second answer before you do the first):
Change target CPU settings in Visual Studio 2010 Express
The program now successfully enumerates all of my filters.

Related

Unity: Missing meshes on all mesh filters on Linux

I am having some issues while creating the build for the Linux platform. Everything is working perfectly on Windows on the same branch and Unity version(2019.3.13f1 Professional).
Meshes are missing for all mesh filters in the project on Linux machine. They are not even visible in the inspector.
There was an error for no OpenGL support.
Platform StandaloneLinux64 with device OpenGLCore is not supported with High Definition Render Pipeline, no rendering will occur
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at /home/builduser/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:187)
I used Vulkan instead of OpenGL. But the issue persists.
On reloading, an error appears for all meshes:
"Import FBX Errors:
Could not read file abc.FBX. Unexpected file type.
"Inspector Looks like this on selecting the meshes
Besides the OpenGL driver issues, you must also make sure that you do commit the .meta files also in your repository. Internally Unity reference files based on their ids that are located inside these meta files. Without them Unity won't know which external file was assigned to which GameObject and that could also be a cause for not showing the meshes.
However, when you manually drag-and-drop the meshes onto Unity, it recreates the .meta files and assign that to the new GameObject you had just created, which could explain the behaviour you noticed.
I solved the issue. The issues was that I had to do "git lfs pull" instead of "git pull". This may help any other person.

Vuforia: overlaying a texture onto a target instead of the teapot - problems with C++ file location

I'm trying to place a texture over a target in Vuforia (similar to this post), but am running into difficulty. I'm using Eclipse Luna, on Ubuntu 14.04.
So far I've done the following:
Installed the Vuforia Samples Project (with ImageTarget, Multi-Targets, User-defined targets, etc. in it) - this works find under normal Java environment.
Installed Android NDK, & setup directory in preferences.
I have added Android NDK support to the Vuforia samples project (via Android Tools menu)
I have built all.
Whilst the JNI directory appears, it only contains VuforiaSamples.cpp. I can't find ImageTargets.cpp as required in this tutorial.
Any ideas what I need to do? Thanks.
It turns out I didn't need to use the NDK. What I wanted to achieve was possible with Java alone.
To achieve this, take a look in the "...SampleApplications.util" package of the Java demo project and duplicate the "CubeObject", calling it something like "MyObject". You can then alter the geometry within this new object class.
To implement your new object class, take a look at the "...Render.java" file. In the rendering method you will see what code to replace with your own code.

Database Build/Clean time

I have noticed that lately our xpages application build/compilation time has gone drastically up. It can even take almost whole minute to clean application.
It is quite complex app with some controls (custom controls and java controls) and a lot of legacy code (js, ls, java), but similar app build in pure ecplise with the same amout of java code (which is the only part of this app that changes) cleans in less than 3 seconds ...
I have done a bit of research with rcp debug console and noticed that while cleaning there is some insane traffic that sums to 15000 transactions (and this database has only like 300 design elements that contains code at all!)
The log looks like this repeated over and over again:
...
[1240:0007-03E0] (13586-124 [14561]) OPEN_NOTE(REPC12579BB:0033C2FE-NT00003052,00400000): 0 ms. [48+17446=17494]
[1240:0007-03E0] (13587-124 [14562]) OPEN_NOTE(REPC12579BB:0033C2FE-NT00006C12,00400000): 1 ms. [48+32118=32166]
So my question is:
Does this mean that xpages builder is really badly written or maybe I do not know something?
Are you doing Project - Build or Project - Build All. If the latter and you have multiple NSFs open, then the build will run for all apps. You can close the apps in Package Explorer.
When you say there are 300 design elements, is that the number you see in the Applications Navigator? Bear in mind that's just a drop in the ocean of the actual files being built. Package Explorer will show there are additional Java and xsp-config files for each XPage and Custom Control. These are the Java classes compiled down from the XML markup you see in the XPages and Custom Control design elements. But this is not all that gets built. The server or local database cannot run .java files. It needs to run .class files compiled for the relevant platform. In addition, there are other .class files that need incorporating into the application at compile time, which can be seen by selecting Project - Properties in the Package Explorer view. If you have localization, there are still more files for each language for each XPage / Custom Control. And of course there are files like xsp.properties, an activator .java file and .class file.
The XPage builder may seem badly written because these files need creating. But it is actually very clever, because we don't need to write Java and we don't need to define all the relevant Java files the application is dependent on. We don't need to create a new XSPInput or whatever the Java classes are for the various controls. We can just drag and drop, set the properties from pretty panels which give us drop-downs or Boolean selectors etc. Without those the build time for the app after each save would be quicker, but the development time would be slower.
Its appears after all that there is a solution to build time problem - its the new Domino Designer 9. After upgrading to public beta version the build times dropped drastically (to just few seconds)!

What information about me and my system do compilers add to executeables?

I'm currently using Microsoft Visual Studio 2010.
If we say that we give 10 different people a copy of MSVC 10 and a short C++ Hello, World listing. They all create a new project using exactly the same settings, add a new cpp file with the Hello, World program and compile it.
Do they all get the exactly same binary?
If not, what are the exact differences?
What information about my system does MSVC add to my executeable?
Paranoia!
If you each create a project from scratch you'll at least get different GUIDs assuming it's the type of project that needs GUIDs. The GUID is set at the time you create the project so if one of you creates the project and then you share the project there will be no difference in the binaries. There is no identifiable info in the GUIDs AFAIK.
Just can't help to respond even though the question is more than a year old.
Apart from what was already mentioned (source paths & guid), there is also a structure present in most Portable Executable file known as the Rich Header.
More detailed info can be found at the following links:
http://ntcore.com/files/richsign.htm
http://web17.webbpro.de/index.php?page=microsofts-rich-header
As far as I know you would get the exact same binary...

Where can I find an online function reference for LoadRunner?

Is there an online reference manual I can query which contains details of LoadRunner functions such as:
lr_start_transaction
web_url
web_submit_data
web_custom_request
lr_end_transaction
etc.?
Essentially, I want to be able to find out about these functions without having the LoadRunner environment licenced/installed.
There doesn't seem to be a web-based function reference but a ZIP file of Windows HTMLHelp (.CFM) files (the LoadRunner 9.10 VuGen API Reference) can be downloaded from here:
I found this by searching the HP Software Product Manuals with the following details (requires free registration):
Product: LoadRunner
Product version: 9.10
Operating system: Windows
I tried version 9.50 as well but it did not provide a link...
One gotcha: once I had the .CFM on my machine I had to 'Unblock' them via the Properties dialog otherwise I got the 'This program cannot display the webpage' message within HTMLHelp.
Every copy of LoadRunner ships with a soft copy of the manuals.
The official reference would be at Help >> Fuction Reference in HP Loadrunner:
You can do "quick searching" by clicking on the index:
The reference is actually made up of html files (located at HP\Loadrunner\help\function_reference\FuncRef.htm), so they can be viewed directly in any browser.
(Btw, there are many useful gems within the Loadrunner\help folder too, especially the PDFs tutorials.)
Try the search # http://loadrunnertnt.com or ask #
LoadRunner Group

Resources