HKVideoDecoder::HKVideoDecoder() { m_lPort = s_portManager.createPort( (unsigned long)this ); Hik_PlayM4_SetStreamOpenMode( m_lPort, STREAME_REALTIME ); byte* pData = PortManager::s_data; Hik_PlayM4_OpenStream( m_lPort, PortManager::s_data, 40, 200000 ); Hik_PlayM4_SetOverlayMode( m_lPort, FALSE, RGB(255,0,255) ); Hik_PlayM4_SetDisplayCallBack( m_lPort, &HikDisplayCB ); Hik_PlayM4_Play( m_lPort, NULL ); }
int OpenStream(int fd, ssize_t (*reader)(int fd, void *buf, size_t count)) { PLAYRECT rect; rect.x=0;rect.y=0; rect.uWidth=352;rect.uHeight=288; CHECK(Hik_PlayM4_OpenStream(0, mp4head, 40, SOURCE_BUF_MIN), -1); CHECK(Hik_PlayM4_SetDecCallBack(0, DecCallBack), -1); CHECK(Hik_PlayM4_Play(0, rect), -1); netfd=fd; netread=reader; CHECK(pthread_create(&NetPoller, NULL, netPoller, NULL), -1); CHECK(pthread_detach(NetPoller), -2); return 0; }