
CONFIDENTIAL – No part of this document may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic or
mechanical, photocopying, recording, or otherwise, for any purpose, without the prior written permission of VITEC MULTIMEDIA.
VMC-7440_v8_0_6_Quick Start_V1_0_0.doc
HRESULT get_ComponentParameterText([in] BSTR
bstrComponentName, [in] BSTR
bstrParameterName, [out, retval] BSTR* pbstrVal);
HRESULT put_ComponentParameterText([in] BSTR
bstrComponentName, [in] BSTR
bstrParameterName, [in] BSTR bstrVal);
7.8.28. How can I monitor encoded duration or number of encoded frames
with VMC-7440?
SDK from version 8.0.5 implements IAuxTime interface that returns the encoding
duration in ms or number of frames through 2 methods:
• get_FrameNumber($llValueFrame).
• get_Milliseconds($llValueMs).
IAuxTime interface can be used on “AVC HW Encoder A” for the first video channel and
on “AVC HW Encoder B” for the second video channel.
We delivered in version 8.0.6 a specific version of livewire sample application that calls
these 2 methods to "AVC HW Encoder A" component instead of “Video Encoder”
component in the Notify function.
(see line 1733 of livewire test applicationdlg.cpp).
if (m_pAssemblyContainer) {
IComponentContainerV4* pComponentContainer = NULL;
HRESULT hr = m_pAssemblyContainer-
>QueryInterface(IID_IComponentContainerV4, (void**)&pComponentContainer);
if (SUCCEEDED(hr)) {
IAuxTime* piAT = NULL;
if (SUCCEEDED(hr = pComponentContainer-
>QueryComponentInterfaceByName(L"AVC HW Encoder A", IID_IAuxTime,
(IUnknown**)&piAT))) {
LONGLONG llValueFrame = 0;
LONGLONG llValueMs = 0;
LONGLONG llValueTc = 0;
piAT->get_FrameNumber(&llValueFrame);
piAT->get_Milliseconds(&llValueMs);
piAT->get_TimeCode(&llValueTc);
piAT->Release();
TCHAR str[256];
wsprintf(str, "Segment length = %d frames, %d ms, %08X\n",
(LONG)llValueFrame, (LONG)llValueMs, (LONG)llValueTc);
OutputDebugString(str);
Komentarze do niniejszej Instrukcji