GUIとHTML UIでの配信時に取得方法を選択できるようにした

GUIとHTML UIでの配信開始時に、ストリームを取得するためのSourceStreamFactoryを手動で選択できるようにした。
ypを追加するダイアログに透かしを入れた

アドレスにhttpやパスを入れて追加できない人がいるので透かしを入れた
AMF0とAMF3のReaderとWriterを追加した

RTMPサーバを作るためにAMF0とAMF3の読み書きが必要になるので、
AMF0Reader、AMF0Writer、AMF3Reader、AMF3Writerの各クラスを追加した。
SourceConnectionBaseをISourceConnectionに変更した

SourceStreamBaseで作成して使う、SourceConnectionBaseをISourceConnectionに変更し、SourceConnectionBaseがISourceConnectionを実装するようにした。
これはRTMPサーバを実装するにあたって、SourceStreamBaseは使いたいものの、SourceConnectionBaseは使わずに別な実装をしたかったため、インターフェースだけ括り出して別な実装を作れるようにした。
不正なAtomを受けとった時に落ちるようになっていたのを修正した

不正なAtomを受け取った時に送出されるInvalidDataExceptionが処理されていなかったので、ちゃんと処理をするようにした。
StreamConnectionで送信タイムアウトが起きた時に送信の終了が正しく行われないのを再度修正した

以前直したStreamConnectionで送信タイムアウトが起きた時の送信終了処理が、
通信終了時に発生するとやっぱり正しく終了できていなかったので再度修正した。
HTTPOutputStreamでコンテントパケット送信中にエラーが起きると大量にエラーを記録してしまうのを修正した

HTTPOutputStreamでコンテントパケット送信中にエラーが起きると、その後も残りのコンテントパケットを送信してしまいその分エラー記録をしてしまっていたので、コンテントパケット送信中にエラーを検出したら残りのコンテントは無視するようにした。
通信時のIOExceptionがエラーログに残るとうるさいので、通知ログに格下げした

通信時のIOExceptionは普通に起きるもののわりにエラーログとして記録されてしまって不安になるので、通知ログに格下げしてそう簡単に出ないようにした。
Bump version up to 1.7.7.0
AMF3ReaderがIDisposableを実装していなかったのを修正した

AMF3ReaderがDisposeを実装していたにもかかわらずIDisposableを実装していなかったのを修正した。
AMFValue.IsNull()を追加した

nullとAMFValueTypeがNullのAMFValueを同一視したいことがあるため、指定した値がnullかNullを保持するAMFValueだった場合にtrueを返すAMFValue.IsNullを追加した。
AMFxWriterのメンバをいくらかprivateにした

AMFxWriterの外部から呼ぶべきでないメンバがいくらかpublicになっていたのでprivateにした。
AMFxWriter.WriteValueにnullを渡した場合はNullを書き込むようにした

AMFxWriter.WriteValueにnullを渡すと落ちるようになっていたが、Nullを書き出す方が便利なのでそのようにした。
AMF関係のクラスをPeerCastStation.FLV.AMF名前空間に移した

AMF関係のクラスが結構多いのともう少し増えそうなので、PeerCastStation.FLV.AMF名前空間にまとめるようにした。
AMFxReaderのベースクラスとしてAMFReaderクラスを追加した

AMF3ReaderとAMF0Readerクラスは使い方が同じだが関連のないクラスになっており両方使う場合は2パターンのコードを書かないといけなかったので、まとめてAMFReaderクラスから派生するようにした。
AMFxWriterのベースクラスとしてAMFWriterクラスを追加した

AMF3WriterとAMF0Writerクラスは使い方が同じだが関連のないクラスになっており両方使う場合は2パターンのコードを書かないといけなかったので、まとめてAMFWriterクラスから派生するようにした。
Update readme.md
最大上り帯域を測定して設定するボタンを追加した

GUIの設定で1ボタンで最大上り帯域を測定して設定できるようにした。
今のところ測定サーバは仮。また、HTML UIでは未実装。
RTMPのエンコーダから配信できるRTMPSourceStreamを追加した

配信時のソースとしてRTMPサーバとして振る舞うRTMPSourceStreamを追加してOBSなどのRTMPサーバへPush配信するエンコーダから配信できるようにした。
サーバとして接続の待ち受けは0.0.0.0:1935固定になっているので、改善の余地あり。
GUI変更はしていないため配信コンテナフォーマットの選択はあるものの、何を選んでもFLVでの配信になる。
RTMP対応は配信のみで視聴は未対応。
帯域測定のURLとサイズを変更した

帯域測定のサイズが小さいと結果が低めに出ていたので、ちょっと大きくした。
測定用のURLを仮の場所から変更した。