現在、C#にて音楽再生アプリを作成しています。
以下の要件を満たすようなStream(もしくはそれに準じるもの)を探しているのですがいまいち見つけられません。

・単一のStreamの末尾にbyte配列を書き込みながら、同時に先頭から読込できる。

書き込み用スレッドと読み込み用スレッドを作成し、
書き込み用スレッドでは5秒程度に分割された音楽ファイルをweb上からHttpリクエストで取得し、byte配列として順次Streamに書き込んでいく。
一方、ストリーミング再生を実現するため、(上記の音楽ファイルのStreamへの書き込みを行う傍ら)、読込用スレッドで先頭からStream上のbyte配列を読込み、再生する。

このような要件を実現したいのですが、いまいちうまくいきません。
MemoryStreamですとFIFOや排他アクセスが実現できず、
Queueですとどうしても再生時に切れ目が出来てしまいます。

標準ライブラリでは無いとしても、継承して実装できれば構いません。
宜しくお願い致します。