Summary
When a publisher aborts with an application error, the subscriber receives Error::Transport(Cancel) instead of Error::App(code).
Publisher side:
self.track_producer.abort(MoqError::App(code));
This triggers a stream reset with the MoQ error code, but the subscriber path does not preserve/decode it into Error::App.
Expected behavior
If peer sends a reset/close code corresponding to MoQ app error (64 + app_code), subscriber should surface:
- MoqError::App(app_code) for app-defined codes
- mapped built-in MoQ errors for known protocol codes (where applicable)
- fallback to MoqError::Transport only when code is unknown/unavailable