/* LK_TODO this needs to be undone in deinitRemoteClient() */ if (!demuxMedia)
{
demuxMedia = new DemuxMedia(NULL, &videoQueue, channel, stream_id);
demuxMediaThread = new QThread(this);
connect(demuxMediaThread, SIGNAL(started()), demuxMedia, SLOT(startDemuxing()));
demuxMedia->moveToThread(demuxMediaThread); //playVideo = demuxMedia->getPlayVideoInstance();
} return0;
}
/** *@briefOpenavirtualconnectiontoremoteclient * *@return0onsuccess,-1onfailure
******************************************************************************/ int OurInterface::openVirtualChannel()
{ /* is channel already open? */ if (channel) return -1;
printf("OurInterface::openVirtualChannel:\n"); /* open a virtual channel and connect to remote client */
channel = WTSVirtualChannelOpenEx(WTS_CURRENT_SESSION, "xrdpvr", 0); if (channel == NULL)
{
emit on_ErrorMsg("Connection failure", "Error connecting to remote client. Application will close now"); return -1;
} return0;
}
int OurInterface::closeVirtualChannel()
{ /* channel must be opened first */ if (!channel) return -1;
if (xrdpvr_init_player(channel, 101, filename.toAscii().data()))
{
fprintf(stderr, "failed to initialize the player\n"); return -1;
} #if0 if (xrdpvr_create_metadata_file(channel, filename.toAscii().data()))
{
emit on_ErrorMsg("I/O Error", "An error occurred while sending data to remote client"); return -1;
} #endif return0;
}
int OurInterface::sendVideoFormat()
{ #if0 if (xrdpvr_set_video_format(channel, stream_id))
{
emit on_ErrorMsg("I/O Error", "Error sending video format to remote client"); return -1;
} #endif return0;
}
int OurInterface::sendAudioFormat()
{ #if0 if (xrdpvr_set_audio_format(channel, stream_id))
{
emit on_ErrorMsg("I/O Error", "Error sending audio format to remote client"); return -1;
} #endif return0;
}
int OurInterface::sendGeometry(QRect rect)
{ int rv;
if (rv)
{
emit on_ErrorMsg("I/O Error", "Error sending screen geometry to remote client"); return -1;
}
return0;
}
void OurInterface::onGeometryChanged(int x, int y, int width, int height)
{
savedGeometry.setX(x);
savedGeometry.setY(y);
savedGeometry.setWidth(width);
savedGeometry.setHeight(height);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.