mirror of
https://github.com/gnif/LookingGlass.git
synced 2026-08-22 07:01:30 +00:00
[idd] transport: add frame sink boundary
This commit is contained in:
@@ -717,13 +717,13 @@ bool CLGMPFrameTransport::RetryPendingDelivery(uint64_t now, bool& retry)
|
||||
return result == SHARED_FRAME_POSTED;
|
||||
}
|
||||
|
||||
PreparedFrameBuffer CLGMPFrameTransport::PrepareFrameBuffer(
|
||||
SinkTarget CLGMPFrameTransport::PrepareFrameBuffer(
|
||||
unsigned pitch, const D12FrameFormat& srcFormat,
|
||||
const D12FrameFormat& dstFormat, const RECT * dirtyRects,
|
||||
unsigned nbDirtyRects, const CFrameScheduler::Schedule& schedule,
|
||||
bool allowReadyReplacement)
|
||||
{
|
||||
PreparedFrameBuffer result = {};
|
||||
SinkTarget result = {};
|
||||
|
||||
const unsigned dataWidth = dstFormat.dataWidth ?
|
||||
dstFormat.dataWidth : (unsigned)dstFormat.desc.Width;
|
||||
@@ -913,7 +913,7 @@ PreparedFrameBuffer CLGMPFrameTransport::PrepareFrameBuffer(
|
||||
LGMPBuffer * fb = m_frameBuffer[frameIndex];
|
||||
fb->wp = 0;
|
||||
|
||||
result.frameIndex = frameIndex;
|
||||
result.slot = frameIndex;
|
||||
result.mem = fb->data;
|
||||
result.heapOffset = reinterpret_cast<uintptr_t>(fb->data) -
|
||||
reinterpret_cast<uintptr_t>(m_ivshmem.GetMem());
|
||||
|
||||
@@ -34,14 +34,14 @@ extern "C" {
|
||||
#include "capture/CFrameScheduler.h"
|
||||
#include "capture/FramePipeline.h"
|
||||
#include "transport/FrameMemoryLimits.h"
|
||||
#include "transport/IFrameTransport.h"
|
||||
#include "transport/IFrameSink.h"
|
||||
|
||||
class CIVSHMEM;
|
||||
class CLGMPHost;
|
||||
class CLGMPTransport;
|
||||
struct LGMPBuffer;
|
||||
|
||||
class CLGMPFrameTransport final : public IFrameTransport
|
||||
class CLGMPFrameTransport final : public IFrameSink
|
||||
{
|
||||
private:
|
||||
friend class CLGMPTransport;
|
||||
@@ -172,7 +172,7 @@ public:
|
||||
bool GetPendingDeliveryTarget(
|
||||
uint64_t now, uint64_t& target) override;
|
||||
bool RetryPendingDelivery(uint64_t now, bool& retry) override;
|
||||
PreparedFrameBuffer PrepareFrameBuffer(unsigned pitch,
|
||||
SinkTarget PrepareFrameBuffer(unsigned pitch,
|
||||
const D12FrameFormat& srcFormat, const D12FrameFormat& dstFormat,
|
||||
const RECT * dirtyRects, unsigned nbDirtyRects,
|
||||
const CFrameScheduler::Schedule& schedule,
|
||||
|
||||
@@ -63,7 +63,7 @@ public:
|
||||
FrameMemoryLimits GetMemoryLimits() const override;
|
||||
DirectFrameBufferMemory GetDirectMemory() const override;
|
||||
|
||||
IFrameTransport& Frames() override { return m_frames; }
|
||||
IFrameSink& FrameSink() override { return m_frames; }
|
||||
IControlTransport& Control() override { return m_control; }
|
||||
IInputTransport * Input() override { return &m_input; }
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user