mirror of
https://github.com/opensim/opensim.git
synced 2026-08-05 08:55:56 +08:00
use System.IO.Compression.DeflateStream for mesh decompression in an attempt to reduce mesh asset decoding failures
This commit is contained in:
@@ -40,7 +40,6 @@ using log4net;
|
||||
using Nini.Config;
|
||||
using System.Reflection;
|
||||
using System.IO;
|
||||
using ComponentAce.Compression.Libs.zlib;
|
||||
|
||||
namespace OpenSim.Region.Physics.Meshing
|
||||
{
|
||||
@@ -549,7 +548,6 @@ namespace OpenSim.Region.Physics.Meshing
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// decompresses a gzipped OSD object
|
||||
/// </summary>
|
||||
@@ -564,15 +562,13 @@ namespace OpenSim.Region.Physics.Meshing
|
||||
{
|
||||
using (MemoryStream outMs = new MemoryStream())
|
||||
{
|
||||
using (ZOutputStream zOut = new ZOutputStream(outMs))
|
||||
using (DeflateStream decompressionStream = new DeflateStream(inMs, CompressionMode.Decompress))
|
||||
{
|
||||
byte[] readBuffer = new byte[2048];
|
||||
int readLen = 0;
|
||||
while ((readLen = inMs.Read(readBuffer, 0, readBuffer.Length)) > 0)
|
||||
{
|
||||
zOut.Write(readBuffer, 0, readLen);
|
||||
}
|
||||
zOut.Flush();
|
||||
inMs.Read(readBuffer, 0, 2); // skip first 2 bytes in header
|
||||
|
||||
decompressionStream.CopyTo(outMs);
|
||||
|
||||
outMs.Seek(0, SeekOrigin.Begin);
|
||||
|
||||
byte[] decompressedBuf = outMs.GetBuffer();
|
||||
|
||||
Reference in New Issue
Block a user