Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(76)

Side by Side Diff: third_party/decklink/win/include/DeckLinkAPI_v7_3.idl

Issue 599173002: Win Video Capture: Add Blackmagic DeckLink SDK Win files to the existing third_party folder (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /* -LICENSE-START-
2 ** Copyright (c) 2009 Blackmagic Design
3 **
4 ** Permission is hereby granted, free of charge, to any person or organization
5 ** obtaining a copy of the software and accompanying documentation covered by
6 ** this license (the "Software") to use, reproduce, display, distribute,
7 ** execute, and transmit the Software, and to prepare derivative works of the
8 ** Software, and to permit third-parties to whom the Software is furnished to
9 ** do so, all subject to the following:
10 **
11 ** The copyright notices in the Software and this entire statement, including
12 ** the above license grant, this restriction and the following disclaimer,
13 ** must be included in all copies of the Software, in whole or in part, and
14 ** all derivative works of the Software, unless such copies or derivative
15 ** works are solely in the form of machine-executable object code generated by
16 ** a source language processor.
17 **
18 ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 ** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
21 ** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
22 ** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
23 ** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24 ** DEALINGS IN THE SOFTWARE.
25 ** -LICENSE-END-
26 */
27
28 /* Forward Declarations */
29
30 interface IDeckLinkInputCallback_v7_3;
31 interface IDeckLinkOutput_v7_3;
32 interface IDeckLinkInput_v7_3;
33 interface IDeckLinkVideoInputFrame_v7_3;
34
35 /* End Forward Declarations */
36
37
38 /* Interface IDeckLinkInputCallback - Frame arrival callback. */
39
40 [
41 object,
42 uuid(FD6F311D-4D00-444B-9ED4-1F25B5730AD0),
43 helpstring("Frame arrival callback.")
44 ] interface IDeckLinkInputCallback_v7_3 : IUnknown
45 {
46 HRESULT VideoInputFormatChanged([in] BMDVideoInputFormatChangedEvents notifi cationEvents, [in] IDeckLinkDisplayMode_v7_6 *newDisplayMode, [in] BMDDetectedVi deoInputFormatFlags detectedSignalFlags);
47 HRESULT VideoInputFrameArrived([in] IDeckLinkVideoInputFrame_v7_3 *videoFram e, [in] IDeckLinkAudioInputPacket *audioPacket);
48 };
49
50 /* End Interface IDeckLinkInputCallback */
51
52
53 /* Interface IDeckLinkOutput - Created by QueryInterface from IDeckLink. */
54
55 [
56 object,
57 uuid(271C65E3-C323-4344-A30F-D908BCB20AA3),
58 local,
59 helpstring("Created by QueryInterface from IDeckLink.")
60 ] interface IDeckLinkOutput_v7_3 : IUnknown
61 {
62 HRESULT DoesSupportVideoMode(BMDDisplayMode displayMode, BMDPixelFormat pixe lFormat, [out] BMDDisplayModeSupport *result);
63 HRESULT GetDisplayModeIterator([out] IDeckLinkDisplayModeIterator_v7_6 **ite rator);
64
65 HRESULT SetScreenPreviewCallback([in] IDeckLinkScreenPreviewCallback *previe wCallback);
66
67 /* Video Output */
68
69 HRESULT EnableVideoOutput(BMDDisplayMode displayMode, BMDVideoOutputFlags fl ags);
70 HRESULT DisableVideoOutput(void);
71
72 HRESULT SetVideoOutputFrameMemoryAllocator([in] IDeckLinkMemoryAllocator *th eAllocator);
73 HRESULT CreateVideoFrame(long width, long height, long rowBytes, BMDPixelFor mat pixelFormat, BMDFrameFlags flags, [out] IDeckLinkMutableVideoFrame_v7_6 **ou tFrame);
74 HRESULT CreateAncillaryData(BMDPixelFormat pixelFormat, [out] IDeckLinkVideo FrameAncillary **outBuffer);
75
76 HRESULT DisplayVideoFrameSync([in] IDeckLinkVideoFrame_v7_6 *theFrame);
77 HRESULT ScheduleVideoFrame([in] IDeckLinkVideoFrame_v7_6 *theFrame, BMDTimeV alue displayTime, BMDTimeValue displayDuration, BMDTimeScale timeScale);
78 HRESULT SetScheduledFrameCompletionCallback([in] IDeckLinkVideoOutputCallbac k *theCallback);
79 HRESULT GetBufferedVideoFrameCount([out] unsigned long *bufferedFrameCount);
80
81 /* Audio Output */
82
83 HRESULT EnableAudioOutput(BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, unsigned long channelCount, BMDAudioOutputStreamType streamType);
84 HRESULT DisableAudioOutput(void);
85
86 HRESULT WriteAudioSamplesSync([in] void *buffer, unsigned long sampleFrameCo unt, [out] unsigned long *sampleFramesWritten);
87
88 HRESULT BeginAudioPreroll(void);
89 HRESULT EndAudioPreroll(void);
90 HRESULT ScheduleAudioSamples([in] void *buffer, unsigned long sampleFrameCou nt, BMDTimeValue streamTime, BMDTimeScale timeScale, [out] unsigned long *sample FramesWritten);
91
92 HRESULT GetBufferedAudioSampleFrameCount([out] unsigned long *bufferedSample FrameCount);
93 HRESULT FlushBufferedAudioSamples(void);
94
95 HRESULT SetAudioCallback([in] IDeckLinkAudioOutputCallback *theCallback);
96
97 /* Output Control */
98
99 HRESULT StartScheduledPlayback(BMDTimeValue playbackStartTime, BMDTimeScale timeScale, double playbackSpeed);
100 HRESULT StopScheduledPlayback(BMDTimeValue stopPlaybackAtTime, [out] BMDTime Value *actualStopTime, BMDTimeScale timeScale);
101 HRESULT IsScheduledPlaybackRunning([out] BOOL *active);
102 HRESULT GetHardwareReferenceClock(BMDTimeScale desiredTimeScale, [out] BMDTi meValue *elapsedTimeSinceSchedulerBegan);
103 };
104
105 /* End Interface IDeckLinkOutput */
106
107 /* Interface IDeckLinkInput - Created by QueryInterface from IDeckLink. */
108
109 [
110 object,
111 uuid(4973F012-9925-458C-871C-18774CDBBECB),
112 helpstring("Created by QueryInterface from IDeckLink.")
113 ] interface IDeckLinkInput_v7_3 : IUnknown
114 {
115 HRESULT DoesSupportVideoMode(BMDDisplayMode displayMode, BMDPixelFormat pixe lFormat, [out] BMDDisplayModeSupport *result);
116 HRESULT GetDisplayModeIterator([out] IDeckLinkDisplayModeIterator_v7_6 **ite rator);
117
118 HRESULT SetScreenPreviewCallback([in] IDeckLinkScreenPreviewCallback *previe wCallback);
119
120 /* Video Input */
121
122 HRESULT EnableVideoInput(BMDDisplayMode displayMode, BMDPixelFormat pixelFor mat, BMDVideoInputFlags flags);
123 HRESULT DisableVideoInput(void);
124 HRESULT GetAvailableVideoFrameCount([out] unsigned long *availableFrameCount );
125
126 /* Audio Input */
127
128 HRESULT EnableAudioInput(BMDAudioSampleRate sampleRate, BMDAudioSampleType s ampleType, unsigned long channelCount);
129 HRESULT DisableAudioInput(void);
130 HRESULT GetAvailableAudioSampleFrameCount([out] unsigned long *availableSamp leFrameCount);
131
132 /* Input Control */
133
134 HRESULT StartStreams(void);
135 HRESULT StopStreams(void);
136 HRESULT PauseStreams(void);
137 HRESULT FlushStreams(void);
138 HRESULT SetCallback([in] IDeckLinkInputCallback_v7_3 *theCallback);
139 };
140
141 /* End Interface IDeckLinkInput */
142
143
144 /* Interface IDeckLinkVideoInputFrame - Provided by the IDeckLinkVideoInput fram e arrival callback. */
145
146 [
147 object,
148 uuid(CF317790-2894-11DE-8C30-0800200C9A66),
149 local,
150 helpstring("Provided by the IDeckLinkVideoInput frame arrival callback.")
151 ] interface IDeckLinkVideoInputFrame_v7_3 : IDeckLinkVideoFrame_v7_6
152 {
153 HRESULT GetStreamTime([out] BMDTimeValue *frameTime, [out] BMDTimeValue *fra meDuration, BMDTimeScale timeScale);
154 };
155
156 /* End Interface IDeckLinkVideoInputFrame */
157
OLDNEW
« no previous file with comments | « third_party/decklink/win/include/DeckLinkAPI_v7_1.idl ('k') | third_party/decklink/win/include/DeckLinkAPI_v7_6.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698