MemoryStreamProvider.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using System.IO;
  2. using MediaBrowser.Common.IO;
  3. using MediaBrowser.Model.IO;
  4. using Microsoft.IO;
  5. namespace MediaBrowser.Common.Implementations.IO
  6. {
  7. public class RecyclableMemoryStreamProvider : IMemoryStreamProvider
  8. {
  9. readonly RecyclableMemoryStreamManager _manager = new RecyclableMemoryStreamManager();
  10. public MemoryStream CreateNew()
  11. {
  12. return _manager.GetStream();
  13. }
  14. public MemoryStream CreateNew(int capacity)
  15. {
  16. return _manager.GetStream("RecyclableMemoryStream", capacity);
  17. }
  18. public MemoryStream CreateNew(byte[] buffer)
  19. {
  20. return _manager.GetStream("RecyclableMemoryStream", buffer, 0, buffer.Length);
  21. }
  22. }
  23. public class MemoryStreamProvider : IMemoryStreamProvider
  24. {
  25. public MemoryStream CreateNew()
  26. {
  27. return new MemoryStream();
  28. }
  29. public MemoryStream CreateNew(int capacity)
  30. {
  31. return new MemoryStream(capacity);
  32. }
  33. public MemoryStream CreateNew(byte[] buffer)
  34. {
  35. return new MemoryStream(buffer);
  36. }
  37. }
  38. }