OLD | NEW |
(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 /* Enum BMDVideoConnection - Video connection types */ |
| 29 |
| 30 typedef [v1_enum] enum _BMDVideoConnection_v7_6 { |
| 31 bmdVideoConnectionSDI_v7_6 = /* 'sdi ' */ 0x736
46920, |
| 32 bmdVideoConnectionHDMI_v7_6 = /* 'hdmi' */ 0x686
46D69, |
| 33 bmdVideoConnectionOpticalSDI_v7_6 = /* 'opti' */ 0x6F7
07469, |
| 34 bmdVideoConnectionComponent_v7_6 = /* 'cpnt' */ 0x637
06E74, |
| 35 bmdVideoConnectionComposite_v7_6 = /* 'cmst' */ 0x636
D7374, |
| 36 bmdVideoConnectionSVideo_v7_6 = /* 'svid' */ 0x737
66964 |
| 37 } BMDVideoConnection_v7_6; |
| 38 |
| 39 |
| 40 |
| 41 /* Forward Declarations */ |
| 42 |
| 43 interface IDeckLinkDisplayModeIterator_v7_6; |
| 44 interface IDeckLinkDisplayMode_v7_6; |
| 45 interface IDeckLinkOutput_v7_6; |
| 46 interface IDeckLinkInput_v7_6; |
| 47 interface IDeckLinkTimecode_v7_6; |
| 48 interface IDeckLinkVideoFrame_v7_6; |
| 49 interface IDeckLinkMutableVideoFrame_v7_6; |
| 50 interface IDeckLinkVideoInputFrame_v7_6; |
| 51 interface IDeckLinkScreenPreviewCallback_v7_6; |
| 52 interface IDeckLinkGLScreenPreviewHelper_v7_6; |
| 53 interface IDeckLinkVideoConversion_v7_6; |
| 54 interface IDeckLinkConfiguration_v7_6; |
| 55 |
| 56 |
| 57 /* Interface IDeckLinkVideoOutputCallback - Frame completion callback. */ |
| 58 |
| 59 [ |
| 60 object, |
| 61 uuid(E763A626-4A3C-49D1-BF13-E7AD3692AE52), |
| 62 helpstring("Frame completion callback.") |
| 63 ] interface IDeckLinkVideoOutputCallback_v7_6 : IUnknown |
| 64 { |
| 65 HRESULT ScheduledFrameCompleted([in] IDeckLinkVideoFrame_v7_6 *completedFram
e, [in] BMDOutputFrameCompletionResult result); |
| 66 HRESULT ScheduledPlaybackHasStopped(void); |
| 67 }; |
| 68 |
| 69 |
| 70 /* Interface IDeckLinkInputCallback - Frame arrival callback. */ |
| 71 |
| 72 [ |
| 73 object, |
| 74 uuid(31D28EE7-88B6-4CB1-897A-CDBF79A26414), |
| 75 helpstring("Frame arrival callback.") |
| 76 ] interface IDeckLinkInputCallback_v7_6 : IUnknown |
| 77 { |
| 78 HRESULT VideoInputFormatChanged([in] BMDVideoInputFormatChangedEvents notifi
cationEvents, [in] IDeckLinkDisplayMode_v7_6 *newDisplayMode, [in] BMDDetectedVi
deoInputFormatFlags detectedSignalFlags); |
| 79 HRESULT VideoInputFrameArrived([in] IDeckLinkVideoInputFrame_v7_6* videoFram
e, [in] IDeckLinkAudioInputPacket* audioPacket); |
| 80 }; |
| 81 |
| 82 |
| 83 /* Interface IDeckLinkDisplayModeIterator - enumerates over supported input/outp
ut display modes. */ |
| 84 |
| 85 [ |
| 86 object, |
| 87 uuid(455D741F-1779-4800-86F5-0B5D13D79751), |
| 88 helpstring("enumerates over supported input/output display modes.") |
| 89 ] interface IDeckLinkDisplayModeIterator_v7_6 : IUnknown |
| 90 { |
| 91 HRESULT Next([out] IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode); |
| 92 }; |
| 93 |
| 94 |
| 95 /* Interface IDeckLinkDisplayMode - represents a display mode */ |
| 96 |
| 97 [ |
| 98 object, |
| 99 uuid(87451E84-2B7E-439E-A629-4393EA4A8550), |
| 100 helpstring("represents a display mode") |
| 101 ] interface IDeckLinkDisplayMode_v7_6 : IUnknown |
| 102 { |
| 103 HRESULT GetName([out] BSTR *name); |
| 104 BMDDisplayMode GetDisplayMode(void); |
| 105 long GetWidth(void); |
| 106 long GetHeight(void); |
| 107 HRESULT GetFrameRate([out] BMDTimeValue *frameDuration, [out] BMDTimeScale *
timeScale); |
| 108 BMDFieldDominance GetFieldDominance(void); |
| 109 }; |
| 110 |
| 111 |
| 112 /* Interface IDeckLinkOutput - Created by QueryInterface from IDeckLink. */ |
| 113 |
| 114 [ |
| 115 object, |
| 116 uuid(29228142-EB8C-4141-A621-F74026450955), |
| 117 local, |
| 118 helpstring("Created by QueryInterface from IDeckLink.") |
| 119 ] interface IDeckLinkOutput_v7_6 : IUnknown |
| 120 { |
| 121 HRESULT DoesSupportVideoMode(BMDDisplayMode displayMode, BMDPixelFormat pixe
lFormat, [out] BMDDisplayModeSupport *result); |
| 122 HRESULT GetDisplayModeIterator([out] IDeckLinkDisplayModeIterator_v7_6 **ite
rator); |
| 123 |
| 124 HRESULT SetScreenPreviewCallback([in] IDeckLinkScreenPreviewCallback_v7_6 *p
reviewCallback); |
| 125 |
| 126 /* Video Output */ |
| 127 |
| 128 HRESULT EnableVideoOutput(BMDDisplayMode displayMode, BMDVideoOutputFlags fl
ags); |
| 129 HRESULT DisableVideoOutput(void); |
| 130 |
| 131 HRESULT SetVideoOutputFrameMemoryAllocator([in] IDeckLinkMemoryAllocator *th
eAllocator); |
| 132 HRESULT CreateVideoFrame(long width, long height, long rowBytes, BMDPixelFor
mat pixelFormat, BMDFrameFlags flags, [out] IDeckLinkMutableVideoFrame_v7_6 **ou
tFrame); |
| 133 HRESULT CreateAncillaryData(BMDPixelFormat pixelFormat, [out] IDeckLinkVideo
FrameAncillary **outBuffer); |
| 134 |
| 135 HRESULT DisplayVideoFrameSync([in] IDeckLinkVideoFrame_v7_6 *theFrame); |
| 136 HRESULT ScheduleVideoFrame([in] IDeckLinkVideoFrame_v7_6 *theFrame, BMDTimeV
alue displayTime, BMDTimeValue displayDuration, BMDTimeScale timeScale); |
| 137 HRESULT SetScheduledFrameCompletionCallback([in] IDeckLinkVideoOutputCallbac
k_v7_6 *theCallback); |
| 138 HRESULT GetBufferedVideoFrameCount([out] unsigned long *bufferedFrameCount); |
| 139 |
| 140 /* Audio Output */ |
| 141 |
| 142 HRESULT EnableAudioOutput(BMDAudioSampleRate sampleRate, BMDAudioSampleType
sampleType, unsigned long channelCount, BMDAudioOutputStreamType streamType); |
| 143 HRESULT DisableAudioOutput(void); |
| 144 |
| 145 HRESULT WriteAudioSamplesSync([in] void *buffer, unsigned long sampleFrameCo
unt, [out] unsigned long *sampleFramesWritten); |
| 146 |
| 147 HRESULT BeginAudioPreroll(void); |
| 148 HRESULT EndAudioPreroll(void); |
| 149 HRESULT ScheduleAudioSamples([in] void *buffer, unsigned long sampleFrameCou
nt, BMDTimeValue streamTime, BMDTimeScale timeScale, [out] unsigned long *sample
FramesWritten); |
| 150 |
| 151 HRESULT GetBufferedAudioSampleFrameCount([out] unsigned long *bufferedSample
FrameCount); |
| 152 HRESULT FlushBufferedAudioSamples(void); |
| 153 |
| 154 HRESULT SetAudioCallback([in] IDeckLinkAudioOutputCallback *theCallback); |
| 155 |
| 156 /* Output Control */ |
| 157 |
| 158 HRESULT StartScheduledPlayback(BMDTimeValue playbackStartTime, BMDTimeScale
timeScale, double playbackSpeed); |
| 159 HRESULT StopScheduledPlayback(BMDTimeValue stopPlaybackAtTime, [out] BMDTime
Value *actualStopTime, BMDTimeScale timeScale); |
| 160 HRESULT IsScheduledPlaybackRunning([out] BOOL *active); |
| 161 HRESULT GetScheduledStreamTime(BMDTimeScale desiredTimeScale, [out] BMDTimeV
alue *streamTime, [out] double *playbackSpeed); |
| 162 |
| 163 /* Hardware Timing */ |
| 164 |
| 165 HRESULT GetHardwareReferenceClock(BMDTimeScale desiredTimeScale, [out] BMDTi
meValue *hardwareTime, [out] BMDTimeValue *timeInFrame, [out] BMDTimeValue *tick
sPerFrame); |
| 166 }; |
| 167 |
| 168 |
| 169 /* Interface IDeckLinkInput - Created by QueryInterface from IDeckLink. */ |
| 170 |
| 171 [ |
| 172 object, |
| 173 uuid(300C135A-9F43-48E2-9906-6D7911D93CF1), |
| 174 helpstring("Created by QueryInterface from IDeckLink.") |
| 175 ] interface IDeckLinkInput_v7_6 : IUnknown |
| 176 { |
| 177 HRESULT DoesSupportVideoMode(BMDDisplayMode displayMode, BMDPixelFormat pixe
lFormat, [out] BMDDisplayModeSupport *result); |
| 178 HRESULT GetDisplayModeIterator([out] IDeckLinkDisplayModeIterator_v7_6 **ite
rator); |
| 179 |
| 180 HRESULT SetScreenPreviewCallback([in] IDeckLinkScreenPreviewCallback_v7_6 *p
reviewCallback); |
| 181 |
| 182 /* Video Input */ |
| 183 |
| 184 HRESULT EnableVideoInput(BMDDisplayMode displayMode, BMDPixelFormat pixelFor
mat, BMDVideoInputFlags flags); |
| 185 HRESULT DisableVideoInput(void); |
| 186 HRESULT GetAvailableVideoFrameCount([out] unsigned long *availableFrameCount
); |
| 187 |
| 188 /* Audio Input */ |
| 189 |
| 190 HRESULT EnableAudioInput(BMDAudioSampleRate sampleRate, BMDAudioSampleType s
ampleType, unsigned long channelCount); |
| 191 HRESULT DisableAudioInput(void); |
| 192 HRESULT GetAvailableAudioSampleFrameCount([out] unsigned long *availableSamp
leFrameCount); |
| 193 |
| 194 /* Input Control */ |
| 195 |
| 196 HRESULT StartStreams(void); |
| 197 HRESULT StopStreams(void); |
| 198 HRESULT PauseStreams(void); |
| 199 HRESULT FlushStreams(void); |
| 200 HRESULT SetCallback([in] IDeckLinkInputCallback_v7_6 *theCallback); |
| 201 |
| 202 /* Hardware Timing */ |
| 203 |
| 204 HRESULT GetHardwareReferenceClock(BMDTimeScale desiredTimeScale, [out] BMDTi
meValue *hardwareTime, [out] BMDTimeValue *timeInFrame, [out] BMDTimeValue *tick
sPerFrame); |
| 205 }; |
| 206 |
| 207 |
| 208 /* Interface IDeckLinkTimecode_v7_6 - Used for video frame timecode representati
on. */ |
| 209 |
| 210 [ |
| 211 object, |
| 212 uuid(EFB9BCA6-A521-44F7-BD69-2332F24D9EE6), |
| 213 helpstring("Used for video frame timecode representation.") |
| 214 ] interface IDeckLinkTimecode_v7_6 : IUnknown |
| 215 { |
| 216 BMDTimecodeBCD GetBCD(void); |
| 217 HRESULT GetComponents([out] unsigned char *hours, [out] unsigned char *minut
es, [out] unsigned char *seconds, [out] unsigned char *frames); |
| 218 HRESULT GetString([out] BSTR *timecode); |
| 219 BMDTimecodeFlags GetFlags(void); |
| 220 }; |
| 221 |
| 222 |
| 223 /* Interface IDeckLinkVideoFrame - Interface to encapsulate a video frame; can b
e caller-implemented. */ |
| 224 |
| 225 [ |
| 226 object, |
| 227 uuid(A8D8238E-6B18-4196-99E1-5AF717B83D32), |
| 228 local, |
| 229 helpstring("Interface to encapsulate a video frame; can be caller-implemente
d.") |
| 230 ] interface IDeckLinkVideoFrame_v7_6 : IUnknown |
| 231 { |
| 232 long GetWidth(void); |
| 233 long GetHeight(void); |
| 234 long GetRowBytes(void); |
| 235 BMDPixelFormat GetPixelFormat(void); |
| 236 BMDFrameFlags GetFlags(void); |
| 237 HRESULT GetBytes([out] void **buffer); |
| 238 |
| 239 HRESULT GetTimecode(BMDTimecodeFormat format, [out] IDeckLinkTimecode_v7_6 *
*timecode); |
| 240 HRESULT GetAncillaryData([out] IDeckLinkVideoFrameAncillary **ancillary); |
| 241 }; |
| 242 |
| 243 |
| 244 /* Interface IDeckLinkMutableVideoFrame - Created by IDeckLinkOutput::CreateVide
oFrame. */ |
| 245 |
| 246 [ |
| 247 object, |
| 248 uuid(46FCEE00-B4E6-43D0-91C0-023A7FCEB34F), |
| 249 local, |
| 250 helpstring("Created by IDeckLinkOutput::CreateVideoFrame.") |
| 251 ] interface IDeckLinkMutableVideoFrame_v7_6 : IDeckLinkVideoFrame_v7_6 |
| 252 { |
| 253 HRESULT SetFlags(BMDFrameFlags newFlags); |
| 254 |
| 255 HRESULT SetTimecode(BMDTimecodeFormat format, [in] IDeckLinkTimecode_v7_6 *t
imecode); |
| 256 HRESULT SetTimecodeFromComponents(BMDTimecodeFormat format, unsigned char ho
urs, unsigned char minutes, unsigned char seconds, unsigned char frames, BMDTime
codeFlags flags); |
| 257 HRESULT SetAncillaryData([in] IDeckLinkVideoFrameAncillary *ancillary); |
| 258 }; |
| 259 |
| 260 |
| 261 /* Interface IDeckLinkVideoInputFrame - Provided by the IDeckLinkVideoInput fram
e arrival callback. */ |
| 262 |
| 263 [ |
| 264 object, |
| 265 uuid(9A74FA41-AE9F-47AC-8CF4-01F42DD59965), |
| 266 local, |
| 267 helpstring("Provided by the IDeckLinkVideoInput frame arrival callback.") |
| 268 ] interface IDeckLinkVideoInputFrame_v7_6 : IDeckLinkVideoFrame_v7_6 |
| 269 { |
| 270 HRESULT GetStreamTime([out] BMDTimeValue *frameTime, [out] BMDTimeValue *fra
meDuration, BMDTimeScale timeScale); |
| 271 HRESULT GetHardwareReferenceTimestamp(BMDTimeScale timeScale, [out] BMDTimeV
alue *frameTime, [out] BMDTimeValue *frameDuration); |
| 272 }; |
| 273 |
| 274 |
| 275 /* Interface IDeckLinkScreenPreviewCallback - Screen preview callback */ |
| 276 |
| 277 [ |
| 278 object, |
| 279 uuid(373F499D-4B4D-4518-AD22-6354E5A5825E), |
| 280 local, |
| 281 helpstring("Screen preview callback") |
| 282 ] interface IDeckLinkScreenPreviewCallback_v7_6 : IUnknown |
| 283 { |
| 284 HRESULT DrawFrame([in] IDeckLinkVideoFrame_v7_6 *theFrame); |
| 285 }; |
| 286 |
| 287 |
| 288 /* Interface IDeckLinkGLScreenPreviewHelper - Created with CoCreateInstance(). *
/ |
| 289 |
| 290 [ |
| 291 object, |
| 292 uuid(BA575CD9-A15E-497B-B2C2-F9AFE7BE4EBA), |
| 293 local, |
| 294 helpstring("Created with CoCreateInstance().") |
| 295 ] interface IDeckLinkGLScreenPreviewHelper_v7_6 : IUnknown |
| 296 { |
| 297 |
| 298 /* Methods must be called with OpenGL context set */ |
| 299 |
| 300 HRESULT InitializeGL(void); |
| 301 HRESULT PaintGL(void); |
| 302 HRESULT SetFrame([in] IDeckLinkVideoFrame_v7_6 *theFrame); |
| 303 }; |
| 304 |
| 305 |
| 306 /* Interface IDeckLinkVideoConversion - Created with CoCreateInstance(). */ |
| 307 |
| 308 [ |
| 309 object, |
| 310 uuid(3EB504C9-F97D-40FE-A158-D407D48CB53B), |
| 311 local, |
| 312 helpstring("Created with CoCreateInstance().") |
| 313 ] interface IDeckLinkVideoConversion_v7_6 : IUnknown |
| 314 { |
| 315 HRESULT ConvertFrame([in] IDeckLinkVideoFrame_v7_6* srcFrame, [in] IDeckLink
VideoFrame_v7_6* dstFrame); |
| 316 }; |
| 317 |
| 318 /* Interface IDeckLinkConfiguration_v7_6 - Created by QueryInterface from IDeckL
ink. */ |
| 319 |
| 320 [ |
| 321 object, |
| 322 uuid(B8EAD569-B764-47F0-A73F-AE40DF6CBF10), |
| 323 helpstring("Created by QueryInterface from IDeckLink.") |
| 324 ] interface IDeckLinkConfiguration_v7_6 : IUnknown |
| 325 { |
| 326 HRESULT GetConfigurationValidator([out] IDeckLinkConfiguration_v7_6 **config
Object); |
| 327 HRESULT WriteConfigurationToPreferences(void); |
| 328 |
| 329 /* Video Output Configuration */ |
| 330 |
| 331 HRESULT SetVideoOutputFormat([in] BMDVideoConnection_v7_6 videoOutputConnect
ion); |
| 332 HRESULT IsVideoOutputActive([in] BMDVideoConnection_v7_6 videoOutputConnecti
on, [out] BOOL *active); |
| 333 |
| 334 HRESULT SetAnalogVideoOutputFlags([in] BMDAnalogVideoFlags analogVideoFlags)
; |
| 335 HRESULT GetAnalogVideoOutputFlags([out] BMDAnalogVideoFlags *analogVideoFlag
s); |
| 336 |
| 337 HRESULT EnableFieldFlickerRemovalWhenPaused([in] BOOL enable); |
| 338 HRESULT IsEnabledFieldFlickerRemovalWhenPaused([out] BOOL *enabled); |
| 339 |
| 340 HRESULT Set444And3GBpsVideoOutput([in] BOOL enable444VideoOutput, [in] BOOL
enable3GbsOutput); |
| 341 HRESULT Get444And3GBpsVideoOutput([out] BOOL *is444VideoOutputEnabled, [out]
BOOL *threeGbsOutputEnabled); |
| 342 |
| 343 HRESULT SetVideoOutputConversionMode([in] BMDVideoOutputConversionMode conve
rsionMode); |
| 344 HRESULT GetVideoOutputConversionMode([out] BMDVideoOutputConversionMode *con
versionMode); |
| 345 |
| 346 HRESULT Set_HD1080p24_to_HD1080i5994_Conversion([in] BOOL enable); |
| 347 HRESULT Get_HD1080p24_to_HD1080i5994_Conversion([out] BOOL *enabled); |
| 348 |
| 349 /* Video Input Configuration */ |
| 350 |
| 351 HRESULT SetVideoInputFormat([in] BMDVideoConnection_v7_6 videoInputFormat); |
| 352 HRESULT GetVideoInputFormat([out] BMDVideoConnection_v7_6 *videoInputFormat)
; |
| 353 |
| 354 HRESULT SetAnalogVideoInputFlags([in] BMDAnalogVideoFlags analogVideoFlags); |
| 355 HRESULT GetAnalogVideoInputFlags([out] BMDAnalogVideoFlags *analogVideoFlags
); |
| 356 |
| 357 HRESULT SetVideoInputConversionMode([in] BMDVideoInputConversionMode convers
ionMode); |
| 358 HRESULT GetVideoInputConversionMode([out] BMDVideoInputConversionMode *conve
rsionMode); |
| 359 |
| 360 HRESULT SetBlackVideoOutputDuringCapture([in] BOOL blackOutInCapture); |
| 361 HRESULT GetBlackVideoOutputDuringCapture([out] BOOL *blackOutInCapture); |
| 362 |
| 363 HRESULT Set32PulldownSequenceInitialTimecodeFrame([in] unsigned long aFrameT
imecode); |
| 364 HRESULT Get32PulldownSequenceInitialTimecodeFrame([out] unsigned long *aFram
eTimecode); |
| 365 |
| 366 HRESULT SetVancSourceLineMapping([in] unsigned long activeLine1VANCsource, [
in] unsigned long activeLine2VANCsource, [in] unsigned long activeLine3VANCsourc
e); |
| 367 HRESULT GetVancSourceLineMapping([out] unsigned long *activeLine1VANCsource,
[out] unsigned long *activeLine2VANCsource, [out] unsigned long *activeLine3VAN
Csource); |
| 368 |
| 369 /* Audio Input Configuration */ |
| 370 |
| 371 HRESULT SetAudioInputFormat([in] BMDAudioConnection audioInputFormat); |
| 372 HRESULT GetAudioInputFormat([out] BMDAudioConnection *audioInputFormat); |
| 373 }; |
| 374 |
| 375 |
| 376 |
| 377 /* Coclasses */ |
| 378 |
| 379 importlib("stdole2.tlb"); |
| 380 |
| 381 [ |
| 382 uuid(D398CEE7-4434-4CA3-9BA6-5AE34556B905), |
| 383 helpstring("CDeckLinkGLScreenPreviewHelper Class (DeckLink API v7.6)") |
| 384 ] coclass CDeckLinkGLScreenPreviewHelper_v7_6 |
| 385 { |
| 386 [default] interface IDeckLinkGLScreenPreviewHelper_v7_6; |
| 387 }; |
| 388 |
| 389 [ |
| 390 uuid(FFA84F77-73BE-4FB7-B03E-B5E44B9F759B), |
| 391 helpstring("CDeckLinkVideoConversion Class (DeckLink API v7.6)") |
| 392 ] coclass CDeckLinkVideoConversion_v7_6 |
| 393 { |
| 394 [default] interface IDeckLinkVideoConversion_v7_6; |
| 395 }; |
| 396 |
OLD | NEW |