| /* -LICENSE-START- |
| ** Copyright (c) 2012 Blackmagic Design |
| ** |
| ** Permission is hereby granted, free of charge, to any person or organization |
| ** obtaining a copy of the software and accompanying documentation covered by |
| ** this license (the "Software") to use, reproduce, display, distribute, |
| ** execute, and transmit the Software, and to prepare derivative works of the |
| ** Software, and to permit third-parties to whom the Software is furnished to |
| ** do so, all subject to the following: |
| ** |
| ** The copyright notices in the Software and this entire statement, including |
| ** the above license grant, this restriction and the following disclaimer, |
| ** must be included in all copies of the Software, in whole or in part, and |
| ** all derivative works of the Software, unless such copies or derivative |
| ** works are solely in the form of machine-executable object code generated by |
| ** a source language processor. |
| ** |
| ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
| ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| ** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT |
| ** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE |
| ** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, |
| ** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
| ** DEALINGS IN THE SOFTWARE. |
| ** -LICENSE-END- |
| */ |
| |
| /* DeckLinkAPI_v9_2.idl */ |
| |
| |
| /* Interface IDeckLinkInput_v9_2 - Created by QueryInterface from IDeckLink. */ |
| |
| [ |
| object, |
| uuid(6D40EF78-28B9-4E21-990D-95BB7750A04F), |
| helpstring("Created by QueryInterface from IDeckLink.") |
| ] interface IDeckLinkInput_v9_2 : IUnknown |
| { |
| HRESULT DoesSupportVideoMode([in] BMDDisplayMode displayMode, [in] BMDPixelFormat pixelFormat, [in] BMDVideoInputFlags flags, [out] BMDDisplayModeSupport *result, [out] IDeckLinkDisplayMode **resultDisplayMode); |
| HRESULT GetDisplayModeIterator([out] IDeckLinkDisplayModeIterator **iterator); |
| |
| HRESULT SetScreenPreviewCallback([in] IDeckLinkScreenPreviewCallback *previewCallback); |
| |
| /* Video Input */ |
| |
| HRESULT EnableVideoInput([in] BMDDisplayMode displayMode, [in] BMDPixelFormat pixelFormat, [in] BMDVideoInputFlags flags); |
| HRESULT DisableVideoInput(void); |
| HRESULT GetAvailableVideoFrameCount([out] unsigned long *availableFrameCount); |
| |
| /* Audio Input */ |
| |
| HRESULT EnableAudioInput([in] BMDAudioSampleRate sampleRate, [in] BMDAudioSampleType sampleType, [in] unsigned long channelCount); |
| HRESULT DisableAudioInput(void); |
| HRESULT GetAvailableAudioSampleFrameCount([out] unsigned long *availableSampleFrameCount); |
| |
| /* Input Control */ |
| |
| HRESULT StartStreams(void); |
| HRESULT StopStreams(void); |
| HRESULT PauseStreams(void); |
| HRESULT FlushStreams(void); |
| HRESULT SetCallback([in] IDeckLinkInputCallback *theCallback); |
| |
| /* Hardware Timing */ |
| |
| HRESULT GetHardwareReferenceClock([in] BMDTimeScale desiredTimeScale, [out] BMDTimeValue *hardwareTime, [out] BMDTimeValue *timeInFrame, [out] BMDTimeValue *ticksPerFrame); |
| }; |
| |