1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- using System.IO;
- using MediaBrowser.Model.IO;
- using Microsoft.IO;
- namespace Emby.Server.Implementations.IO
- {
- public class RecyclableMemoryStreamProvider : IMemoryStreamFactory
- {
- readonly RecyclableMemoryStreamManager _manager = new RecyclableMemoryStreamManager();
- public MemoryStream CreateNew()
- {
- return _manager.GetStream();
- }
- public MemoryStream CreateNew(int capacity)
- {
- return _manager.GetStream("RecyclableMemoryStream", capacity);
- }
- public MemoryStream CreateNew(byte[] buffer)
- {
- return _manager.GetStream("RecyclableMemoryStream", buffer, 0, buffer.Length);
- }
- public bool TryGetBuffer(MemoryStream stream, out byte[] buffer)
- {
- buffer = stream.GetBuffer();
- return true;
- }
- }
- public class MemoryStreamProvider : IMemoryStreamFactory
- {
- public MemoryStream CreateNew()
- {
- return new MemoryStream();
- }
- public MemoryStream CreateNew(int capacity)
- {
- return new MemoryStream(capacity);
- }
- public MemoryStream CreateNew(byte[] buffer)
- {
- return new MemoryStream(buffer);
- }
- public bool TryGetBuffer(MemoryStream stream, out byte[] buffer)
- {
- buffer = stream.GetBuffer();
- return true;
- }
- }
- }
|