[client] transport: split video provider operations

This commit is contained in:
Geoffrey McRae
2026-08-11 15:05:00 +10:00
parent eb6bb78db9
commit 96a5cf4ce8
6 changed files with 177 additions and 98 deletions

View File

@@ -1360,17 +1360,9 @@ static const LG_InputOps * lgmp_getInputOps(LG_Transport * this,
return lgmpInput_getOps();
}
const LG_TransportOps LGT_LGMP =
static const LG_FrameOps lgmpFrameOps =
{
.name = "lgmp",
.setup = lgmp_setup,
.create = lgmp_create,
.destroy = lgmp_destroy,
.connect = lgmp_connect,
.disconnect = lgmp_disconnect,
.sessionValid = lgmp_sessionValid,
.supportsDMA = lgmp_supportsDMA,
.getInputOps = lgmp_getInputOps,
.attachRenderer = lgmp_attachRenderer,
.detachRenderer = lgmp_detachRenderer,
.nextFrame = lgmp_nextFrame,
@@ -1380,6 +1372,31 @@ const LG_TransportOps LGT_LGMP =
.nextPointer = lgmp_nextPointer,
.releasePointer = lgmp_releasePointer,
.stopPointer = lgmp_stopPointer,
.sendControl = lgmp_sendControl,
.controlStatus = lgmp_controlStatus,
};
static const LG_VideoOps lgmpVideoOps =
{
.name = "LGMP",
.type = LG_VIDEO_TYPE_FRAME,
.frame = &lgmpFrameOps,
};
static const LG_VideoOps * lgmp_getVideoOps(LG_Transport * this)
{
return &lgmpVideoOps;
}
const LG_TransportOps LGT_LGMP =
{
.name = "lgmp",
.setup = lgmp_setup,
.create = lgmp_create,
.destroy = lgmp_destroy,
.connect = lgmp_connect,
.disconnect = lgmp_disconnect,
.sessionValid = lgmp_sessionValid,
.getVideoOps = lgmp_getVideoOps,
.getInputOps = lgmp_getInputOps,
.sendControl = lgmp_sendControl,
.controlStatus = lgmp_controlStatus,
};

View File

@@ -734,23 +734,40 @@ static const LG_InputOps * test_getInputOps(LG_Transport * this,
return NULL;
}
const LG_TransportOps LGT_Test =
static const LG_FrameOps testFrameOps =
{
.name = "test",
.setup = test_setup,
.create = test_create,
.destroy = test_destroy,
.connect = test_connect,
.disconnect = test_disconnect,
.sessionValid = test_sessionValid,
.supportsDMA = test_supportsDMA,
.getInputOps = test_getInputOps,
.attachRenderer = test_attachRenderer,
.detachRenderer = test_detachRenderer,
.nextFrame = test_nextFrame,
.releaseFrame = test_releaseFrame,
.nextPointer = test_nextPointer,
.releasePointer = test_releasePointer,
.sendControl = test_sendControl,
.controlStatus = test_controlStatus,
};
static const LG_VideoOps testVideoOps =
{
.name = "test",
.type = LG_VIDEO_TYPE_FRAME,
.frame = &testFrameOps,
};
static const LG_VideoOps * test_getVideoOps(LG_Transport * this)
{
return &testVideoOps;
}
const LG_TransportOps LGT_Test =
{
.name = "test",
.setup = test_setup,
.create = test_create,
.destroy = test_destroy,
.connect = test_connect,
.disconnect = test_disconnect,
.sessionValid = test_sessionValid,
.getVideoOps = test_getVideoOps,
.getInputOps = test_getInputOps,
.sendControl = test_sendControl,
.controlStatus = test_controlStatus,
};