File SpinnakerDirectShow.h¶
File List > include > SpinnakerDirectShow.h
Go to the documentation of this file
//=============================================================================
// Copyright (c) 2026 FLIR Integrated Imaging Solutions, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================
#ifndef FLIR_SPINNAKER_DIRECTSHOW_H
#define FLIR_SPINNAKER_DIRECTSHOW_H
#include "Spinnaker.h"
const unsigned int MAX_LENGTH = 256;
static const GUID IID_ISpinnakerInterface = {0x5143ad36,
0x51d1,
0x422d,
{0x9b, 0x17, 0x81, 0xdd, 0x3d, 0xb0, 0x60, 0xe}};
DECLARE_INTERFACE(ISpinDevice)
{
public:
STDMETHOD(GetNumCameras)(unsigned int* numCameras) = 0;
STDMETHOD(GetSelectedCameraIndex)(unsigned int* selectedIndex) = 0;
STDMETHOD(SetSelectedCameraIndex)(unsigned int index, bool needsRelease = true) = 0;
STDMETHOD(GetCameraInfo)(unsigned int index, char* model, char* type, char* serial, size_t bufferSize) = 0;
STDMETHOD(IsStreaming)(bool* isStreaming) = 0;
STDMETHOD(BeginAcquisition)() = 0;
STDMETHOD(EndAcquisition)() = 0;
STDMETHOD(NodeMapGetNumNodes)(size_t * numNodes) = 0;
STDMETHOD(NodeMapGetNodeAtIndex)(size_t index, char* nodeName, size_t bufferSize) = 0;
STDMETHOD(NodeIsImplemented)(const char* nodeName, bool* isImplemented) = 0;
STDMETHOD(NodeIsAvailable)(const char* nodeName, bool* isAvailable) = 0;
STDMETHOD(NodeIsReadable)(const char* nodeName, bool* isReadable) = 0;
STDMETHOD(NodeIsWritable)(const char* nodeName, bool* isWritable) = 0;
STDMETHOD(NodeGetType)(const char* nodeName, char* typeName, size_t bufferSize) = 0;
STDMETHOD(NodeToString)(const char* nodeName, char* valueAsString, size_t bufferSize) = 0;
STDMETHOD(NodeGetDisplayName)(const char* nodeName, char* displayName, size_t bufferSize) = 0;
STDMETHOD(IntegerGetValue)(const char* nodeName, int64_t* value) = 0;
STDMETHOD(IntegerSetValue)(const char* nodeName, int64_t value) = 0;
STDMETHOD(IntegerGetMax)(const char* nodeName, int64_t* maxValue) = 0;
STDMETHOD(IntegerGetMin)(const char* nodeName, int64_t* minValue) = 0;
STDMETHOD(IntegerGetIncMode)(const char* nodeName, Spinnaker::GenApi::EIncMode* incMode) = 0;
STDMETHOD(IntegerGetInc)(const char* nodeName, int64_t* increment) = 0;
STDMETHOD(FloatGetValue)(const char* nodeName, double* value) = 0;
STDMETHOD(FloatSetValue)(const char* nodeName, double value) = 0;
STDMETHOD(FloatGetMax)(const char* nodeName, double* floatMax) = 0;
STDMETHOD(FloatGetMin)(const char* nodeName, double* floatMin) = 0;
STDMETHOD(FloatGetIncMode)(const char* nodeName, Spinnaker::GenApi::EIncMode* incMode) = 0;
STDMETHOD(FloatGetInc)(const char* nodeName, double* increment) = 0;
STDMETHOD(BooleanGetValue)(const char* nodeName, bool* value) = 0;
STDMETHOD(BooleanSetValue)(const char* nodeName, bool value) = 0;
STDMETHOD(StringGetValue)(const char* nodeName, char* value, size_t bufferSize) = 0;
STDMETHOD(StringSetValue)(const char* nodeName, const char* value) = 0;
STDMETHOD(EnumerationGetEntry)(const char* nodeName, char* value, size_t bufferSize) = 0;
STDMETHOD(EnumerationSetEntry)(const char* nodeName, const char* value) = 0;
STDMETHOD(EnumerationEntryExists)
(const char* enumerationName, const char* enumerationEntryName, bool* entryExist) = 0;
STDMETHOD(EnumerationGetNumEntries)(const char* enumerationName, size_t* numEntries) = 0;
STDMETHOD(EnumerationGetEntryAtIndex)
(const char* enumerationName, unsigned int entryIndex, char* enumerationEntryName, size_t bufferSize) = 0;
STDMETHOD(CommandExecute)(const char* nodeName) = 0;
protected:
friend class SpinSourceStream;
STDMETHOD(FillBuffer)(IMediaSample * pms, Spinnaker::PixelFormatEnums pixelFormat) = 0;
/* @endcond */
};
DECLARE_INTERFACE_(ISpinnakerInterface, IUnknown)
{
virtual ISpinDevice* GetDevice() = 0;
};
#endif // FLIR_SPINNAKER_DIRECTSHOW_H