title: Stream wrapper to make Stream seekable?
body: <p>I have a readonly <code>System.IO.Stream</code> implementation that is not seekable (and its <code>Position</code> always returns 0). I need to send it to a consumer that does some <code>Seek</code> operations (aka, sets the Position) on the stream. It's not a huge seek -- say +/- 100 from the current position. Is there an existing <code>Stream</code> wrapper that will add a buffering ability to the stream for simple Seek operations?</p>
  
  <p>Update: I should add that my consumer is the NAudio Mp3FileReader. I really just need a way to play a (slowly and indefinitely) streaming MP3. I think it's a bug that NAudio expects to be able to seek their data source at will.</p>