Posts

Emscripten debug flags

em++ -O0 -g4 hello_world.cpp -o hello.html --emrun -s SIMPLIFY_IFS=0 -s ASSERTIONS=2 -s SAFE_HEAP=1 -s STACK_OVERFLOW_CHECK=2 -s DEMANGLE_SUPPORT=1 -s DISABLE_EXCEPTION_CATCHING=0 -s EXPORT_ALL=1 -s EXPORT_BINDINGS=1 -s EXPORT_FUNCTION_TABLES=1 --source-map-base http://localhost:6931/

Classes From XML Schema

This is the CMD to generate the classes from the schema SET XsdPath=C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools "%XsdPath%\xsd.exe" YOUR-SCHEMA1.xsd YOUR-SCHEMA1.xsd /classes /namespace:YOUR-NAME-SPACE This is the reference:  https://msdn.microsoft.com/en-us/library/x6c1kb0s(v=vs.110).aspx Another good example:  https://blogs.msdn.microsoft.com/yojoshi/2011/05/14/auto-generating-entity-classes-with-xsd-exe-for-xml-serialization-and-de-serialization/ Then for mapping the class you can use:  https://github.com/AutoMapper/AutoMapper You can install it as a nuget package

How To Attach To A C# Process

{ System.Diagnostics.Debug.Assert(System.Diagnostics.Debugger.IsAttached); ... } You can now attach and then hit Ignore on the assert popup dialog.

How To Get OutputDebugString() Working In 64 Bit Windows

Basically you need to enable  NATIVE  code debugging at the managed code level and you need to enable  MIXED  debugging at the non-managed level. 1. Thor or TJMTestApp, Properties->Debug, Enable native code debugging. 2. Transcoder Engine, Properties->Debugging, change Debugger Type from Auto to Mixed. Auto chooses Managed. Stupid Microsoft. 3. (Optional) Tools->Options->Debugging->General, change "Redirect all Output window text to the Immediate window" to what you want. http://stackoverflow.com/questions/8234560/outputdebugstring-does-not-work-on-windows-7x64 http://stackoverflow.com/questions/9431253/outputdebugstring-doesnt-print-information-in-visual-studio-2010

GraphStudioNext Analyzer Filter

Image
This filter from GraphStudioNext's GitHub site ( https://github.com/cplussharp/graph-studio-next ) allows you to sniff media samples passed between filters. The filter is named GsnAnalyzer64.dll and can be found at  \\ la1pvarccifs.d3nw.net \Operations\Vault\Mike\graph_studio_next_helper_filters To use the filter just insert it between other filters.  You will then sniff the media samples passed between them. Open the properties of the GraphStudioNext Analyzer Filter and you will see the samples.  It does not auto-populate, you have to click on the Refresh button.

FFDShow 2012

Overview FFDShow is hosted at: https://sourceforge.net/projects/ffdshow-tryout/ I have ported FFDShow from VS 2010 to VS 2012.  My version of FFDShow 2012 is hosted at: https://github.com/mikecancilla/ffdshow_2012 Prerequisites Before you can build FFDShow locally, you need the YASM assembler.  Its donwload page is here:  http://yasm.tortall.net/Download.html Download the " Win64 .exe  (for general use on 64-bit Windows)", which can be found here: http://www.tortall.net/projects/yasm/releases/yasm-1.3.0-win64.exe Put  yasm.exe  in your  PATH . Building After you have pulled down FFDShow 2012, you need to open  ffdshow_2012.sln .  Careful, if VS 2015 is installed, 2015 will attempt to open this project and it will not work.  You will most likely need to launch VS 2012 first and then open  ffdshow_2012.sln . Set the build target to  Debug x64  or  Release x64 , and the startup project to...

Build FFMPEG for Windows Using Visual Studio Toolchain

FFMPEG for Windows is built under MinGW or Cygwin.  We will be using MinGW. You may need ZLib, the ZLib provided with MinGW does not come with a .a file for some reason.  You can find ZLib at  https://zlib.net/ Build Zlib so that you get zlib.lib. Follow this page:  https://trac.ffmpeg.org/wiki/CompilationGuide/MSVC NOTE: When following the instructions on the above page, they only give a configure command for a release version, which is: ./configure --target-os=win64 --arch=x86_64 --toolchain=msvc If you want to do a full debug build, try this: ./configure --target-os=win64 --arch=x86_64 --toolchain=msvc --extra-cflags=" -EHa -nologo -D 'DEBUG' -D 'WINDOWS' -D 'HAVE_STRUCT_TIMESPEC' -D 'API_EXT_PARAM_LIST'" --enable-debug --disable-stripping --disable-optimizations --disable-cuda --disable-cuvid --disable-d3d11va --disable-dxva2 --disable-nvenc --disable-vaapi --disable-vdpau You should now be ready to use ffmpeg in a...