public override ICommand Start(uint transferID) { StartedAt = DateTime.Now; if (StartedAt >= ExpiresAt) { return(null); } TransferId = transferID; return(new DataTransferUploadRequestCommand() { TransferId = transferID, TransferIndex = _index, TransferStoreId = StoreId, Size = _frame.GetYCbCrData().Length, Mode = DataTransferUploadRequestCommand.TransferMode.Write, }); // TODO - seperate clear op? }
public UploadMediaFrameJob(uint bank, uint index, AtemFrame frame, Action <bool> onComplete, TimeSpan?timeout = null) : base(bank, frame.GetYCbCrData() /*.GetRLEEncodedYCbCr() This doesnt work because it needs to line up with command boundaries */, onComplete, timeout) { _index = index; _frame = frame; }