@streamplace/components 0.10.7 → 0.10.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,4 @@
1
+ import { SessionManager } from "@atproto/api/dist/session-manager";
1
2
  import { StreamplaceAgent } from "streamplace";
2
3
  export default function useWebRTC(streamer: string): [MediaStream | null, boolean];
3
4
  /**
@@ -12,7 +13,7 @@ export default function useWebRTC(streamer: string): [MediaStream | null, boolea
12
13
  * https://developer.mozilla.org/en-US/docs/Glossary/SDP
13
14
  * https://www.ietf.org/archive/id/draft-ietf-wish-whip-01.html#name-protocol-operation
14
15
  */
15
- export declare function negotiateConnectionWithClientOffer(peerConnection: RTCPeerConnection, streamer: string, bearerToken?: string, agent?: StreamplaceAgent): Promise<"https://stream.place/example" | undefined>;
16
+ export declare function negotiateConnectionWithClientOffer(peerConnection: RTCPeerConnection, streamer: string, bearerToken?: string, agent?: StreamplaceAgent, oauthSession?: SessionManager | null): Promise<"https://stream.place/example" | undefined>;
16
17
  export declare function negotiateIngestConnectionWithClientOffer(peerConnection: RTCPeerConnection, endpoint: string, bearerToken: string): Promise<"https://stream.place/example" | undefined>;
17
18
  export declare function useWebRTCIngest({ endpoint, }: {
18
19
  endpoint: string;
@@ -1 +1 @@
1
- {"version":3,"file":"use-webrtc.d.ts","sourceRoot":"","sources":["../../../src/components/mobile-player/use-webrtc.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAS/C,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,QAAQ,EAAE,MAAM,GACf,CAAC,WAAW,GAAG,IAAI,EAAE,OAAO,CAAC,CAwF/B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,kCAAkC,CACtD,cAAc,EAAE,iBAAiB,EACjC,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,gBAAgB,uDAqDzB;AAED,wBAAsB,wCAAwC,CAC5D,cAAc,EAAE,iBAAiB,EACjC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,uDAwDpB;AAqED,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,CAAC,WAAW,GAAG,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC,CAqGlE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAqBpD"}
1
+ {"version":3,"file":"use-webrtc.d.ts","sourceRoot":"","sources":["../../../src/components/mobile-player/use-webrtc.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAW/C,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,QAAQ,EAAE,MAAM,GACf,CAAC,WAAW,GAAG,IAAI,EAAE,OAAO,CAAC,CA0F/B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,kCAAkC,CACtD,cAAc,EAAE,iBAAiB,EACjC,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,gBAAgB,EACxB,YAAY,CAAC,EAAE,cAAc,GAAG,IAAI,uDA2DrC;AAED,wBAAsB,wCAAwC,CAC5D,cAAc,EAAE,iBAAiB,EACjC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,uDAwDpB;AA4FD,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,CAAC,WAAW,GAAG,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC,CAqGlE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAqBpD"}
@@ -8,6 +8,7 @@ exports.forceStereoAudio = forceStereoAudio;
8
8
  const tslib_1 = require("tslib");
9
9
  const react_1 = require("react");
10
10
  const sdpTransform = tslib_1.__importStar(require("sdp-transform"));
11
+ const streamplace_1 = require("streamplace");
11
12
  const __1 = require("../..");
12
13
  const webrtc_primitives_1 = require("./webrtc-primitives");
13
14
  function useWebRTC(streamer) {
@@ -15,6 +16,7 @@ function useWebRTC(streamer) {
15
16
  const [stuck, setStuck] = (0, react_1.useState)(false);
16
17
  const setStatus = (0, __1.usePlayerStore)((x) => x.setStatus);
17
18
  let agent = (0, __1.usePossiblyUnauthedPDSAgent)();
19
+ const oauthSession = (0, __1.useStreamplaceStore)((state) => state.oauthSession);
18
20
  const lastChange = (0, react_1.useRef)(0);
19
21
  (0, react_1.useEffect)(() => {
20
22
  if (!agent) {
@@ -49,7 +51,7 @@ function useWebRTC(streamer) {
49
51
  }
50
52
  });
51
53
  peerConnection.addEventListener("negotiationneeded", () => {
52
- negotiateConnectionWithClientOffer(peerConnection, streamer, undefined, agent);
54
+ negotiateConnectionWithClientOffer(peerConnection, streamer, undefined, agent, oauthSession);
53
55
  });
54
56
  let lastFramesReceived = 0;
55
57
  let lastAudioFramesReceived = 0;
@@ -84,7 +86,7 @@ function useWebRTC(streamer) {
84
86
  clearInterval(handle);
85
87
  peerConnection.close();
86
88
  };
87
- }, [streamer, agent]);
89
+ }, [streamer, agent, oauthSession]);
88
90
  return [mediaStream, stuck];
89
91
  }
90
92
  /**
@@ -99,7 +101,7 @@ function useWebRTC(streamer) {
99
101
  * https://developer.mozilla.org/en-US/docs/Glossary/SDP
100
102
  * https://www.ietf.org/archive/id/draft-ietf-wish-whip-01.html#name-protocol-operation
101
103
  */
102
- async function negotiateConnectionWithClientOffer(peerConnection, streamer, bearerToken, agent) {
104
+ async function negotiateConnectionWithClientOffer(peerConnection, streamer, bearerToken, agent, oauthSession) {
103
105
  /** https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createOffer */
104
106
  const offer = await peerConnection.createOffer({
105
107
  offerToReceiveAudio: true,
@@ -127,7 +129,7 @@ async function negotiateConnectionWithClientOffer(peerConnection, streamer, bear
127
129
  * This specifies how the client should communicate,
128
130
  * and what kind of media client and server have negotiated to exchange.
129
131
  */
130
- let response = await postSDPOffer(streamer, ofr.sdp, bearerToken, agent);
132
+ let response = await postSDPOffer(streamer, ofr.sdp, bearerToken, agent, oauthSession);
131
133
  let text = new TextDecoder().decode(response.data);
132
134
  if (response.success) {
133
135
  if (peerConnection.connectionState === "closed") {
@@ -197,25 +199,38 @@ async function negotiateIngestConnectionWithClientOffer(peerConnection, endpoint
197
199
  await new Promise((r) => setTimeout(r, 5000));
198
200
  }
199
201
  }
200
- async function postSDPOffer(streamer, data, bearerToken, agent) {
202
+ async function getPlaybackServerAgent(agent, oauthSession, streamer) {
203
+ const workerUrl = window.PLAYBACK_WORKER_URL;
204
+ if (!workerUrl) {
205
+ return agent;
206
+ }
207
+ try {
208
+ const lookupAgent = new streamplace_1.StreamplaceAgent(workerUrl);
209
+ const res = await lookupAgent.place.stream.playback.getPlaybackServer({
210
+ stream: streamer,
211
+ });
212
+ if (res.data.servers.length > 0) {
213
+ const serverUrl = res.data.servers[0];
214
+ console.log(`Using playback server: ${serverUrl}`);
215
+ return (0, __1.createAgentForServer)(oauthSession, serverUrl);
216
+ }
217
+ }
218
+ catch (e) {
219
+ console.error("getPlaybackServer failed, using default agent:", e);
220
+ }
221
+ return agent;
222
+ }
223
+ async function postSDPOffer(streamer, data, bearerToken, agent, oauthSession) {
201
224
  if (!agent) {
202
225
  throw new Error("No agent found");
203
226
  }
204
- return await agent.place.stream.playback.whep(data, {
227
+ const playbackAgent = await getPlaybackServerAgent(agent, oauthSession, streamer);
228
+ return await playbackAgent.place.stream.playback.whep(data, {
205
229
  qp: {
206
230
  rendition: "source",
207
231
  streamer: streamer,
208
232
  },
209
233
  });
210
- // return await fetch(endpoint, {
211
- // method: "POST",
212
- // mode: "cors",
213
- // headers: {
214
- // "content-type": "application/sdp",
215
- // ...(bearerToken ? { Authorization: `Bearer ${bearerToken}` } : {}),
216
- // },
217
- // body: data,
218
- // });
219
234
  }
220
235
  async function postSDPIngestOffer(endpoint, data, bearerToken) {
221
236
  return await fetch(endpoint, {
@@ -1 +1 @@
1
- {"version":3,"file":"use-webrtc.js","sourceRoot":"","sources":["../../../src/components/mobile-player/use-webrtc.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-webrtc.js","sourceRoot":"","sources":["../../../src/components/mobile-player/use-webrtc.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
+ import { SessionManager } from "@atproto/api/dist/session-manager";
1
2
  import { StreamplaceAgent } from "streamplace";
2
3
  export declare function usePDSAgent(): StreamplaceAgent | null;
3
4
  export declare function usePossiblyUnauthedPDSAgent(): StreamplaceAgent | null;
5
+ export declare function createAgentForServer(oauthSession: SessionManager | null | undefined, serverUrl: string): StreamplaceAgent;
4
6
  export declare function useUnauthenticatedBlueskyAppViewAgent(): StreamplaceAgent;
5
7
  //# sourceMappingURL=xrpc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xrpc.d.ts","sourceRoot":"","sources":["../../src/streamplace-store/xrpc.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,wBAAgB,WAAW,IAAI,gBAAgB,GAAG,IAAI,CAiBrD;AAGD,wBAAgB,2BAA2B,IAAI,gBAAgB,GAAG,IAAI,CAcrE;AAID,wBAAgB,qCAAqC,IAAI,gBAAgB,CAIxE"}
1
+ {"version":3,"file":"xrpc.d.ts","sourceRoot":"","sources":["../../src/streamplace-store/xrpc.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,wBAAgB,WAAW,IAAI,gBAAgB,GAAG,IAAI,CAiBrD;AAGD,wBAAgB,2BAA2B,IAAI,gBAAgB,GAAG,IAAI,CAcrE;AAMD,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,EAC/C,SAAS,EAAE,MAAM,GAChB,gBAAgB,CAYlB;AAID,wBAAgB,qCAAqC,IAAI,gBAAgB,CAIxE"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.usePDSAgent = usePDSAgent;
4
4
  exports.usePossiblyUnauthedPDSAgent = usePossiblyUnauthedPDSAgent;
5
+ exports.createAgentForServer = createAgentForServer;
5
6
  exports.useUnauthenticatedBlueskyAppViewAgent = useUnauthenticatedBlueskyAppViewAgent;
6
7
  const react_1 = require("react");
7
8
  const streamplace_1 = require("streamplace");
@@ -39,6 +40,23 @@ function usePossiblyUnauthedPDSAgent() {
39
40
  return new streamplace_1.StreamplaceAgent(oauthSession);
40
41
  }, [oauthSession]);
41
42
  }
43
+ // Creates an agent that targets a specific server URL. When authenticated,
44
+ // the OAuth session's DPoP fetch is reused but requests are redirected to the
45
+ // target server by passing an absolute URL to the session's fetchHandler
46
+ // (absolute URLs in `new URL(abs, base)` ignore the base).
47
+ function createAgentForServer(oauthSession, serverUrl) {
48
+ if (!oauthSession) {
49
+ return new streamplace_1.StreamplaceAgent(serverUrl);
50
+ }
51
+ const wrappedSession = {
52
+ did: oauthSession.did,
53
+ fetchHandler(pathname, init) {
54
+ const fullUrl = new URL(pathname, serverUrl).toString();
55
+ return oauthSession.fetchHandler.call(oauthSession, fullUrl, init);
56
+ },
57
+ };
58
+ return new streamplace_1.StreamplaceAgent(wrappedSession);
59
+ }
42
60
  // always returns an unauthenticated agent pointed at the public bluesky API
43
61
  // probably should not be used in most places, but in case we have a bug it may be useful
44
62
  function useUnauthenticatedBlueskyAppViewAgent() {
@@ -1 +1 @@
1
- {"version":3,"file":"xrpc.js","sourceRoot":"","sources":["../../src/streamplace-store/xrpc.tsx"],"names":[],"mappings":";;AAIA,kCAiBC;AAGD,kEAcC;AAID,sFAIC;AA9CD,iCAAgC;AAChC,6CAA+C;AAC/C,2DAAkE;AAElE,SAAgB,WAAW;IACzB,MAAM,YAAY,GAAG,IAAA,uCAAmB,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACxE,kBAAkB;IAClB,2BAA2B;IAC3B,8BAA8B;IAC9B,kCAAkC;IAClC,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE;QAClB,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,IAAI,YAAY,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YAC5C,kEAAkE;YAClE,mEAAmE;YACnE,wBAAwB;YACxB,OAAO,IAAI,8BAAgB,CAAC,6BAA6B,CAAC,CAAC,CAAC,YAAY;QAC1E,CAAC;QAED,OAAO,IAAI,8BAAgB,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,4DAA4D;AAC5D,SAAgB,2BAA2B;IACzC,MAAM,OAAO,GAAG,IAAA,0BAAM,GAAE,CAAC;IACzB,MAAM,YAAY,GAAG,IAAA,uCAAmB,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACxE,kBAAkB;IAClB,2BAA2B;IAC3B,8BAA8B;IAC9B,kCAAkC;IAClC,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE;QAClB,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,8BAAgB,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,8BAAgB,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,4EAA4E;AAC5E,yFAAyF;AACzF,SAAgB,qCAAqC;IACnD,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE;QAClB,OAAO,IAAI,8BAAgB,CAAC,6BAA6B,CAAC,CAAC;IAC7D,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"xrpc.js","sourceRoot":"","sources":["../../src/streamplace-store/xrpc.tsx"],"names":[],"mappings":";;AAKA,kCAiBC;AAGD,kEAcC;AAMD,oDAeC;AAID,sFAIC;AAnED,iCAAgC;AAChC,6CAA+C;AAC/C,2DAAkE;AAElE,SAAgB,WAAW;IACzB,MAAM,YAAY,GAAG,IAAA,uCAAmB,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACxE,kBAAkB;IAClB,2BAA2B;IAC3B,8BAA8B;IAC9B,kCAAkC;IAClC,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE;QAClB,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,IAAI,YAAY,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YAC5C,kEAAkE;YAClE,mEAAmE;YACnE,wBAAwB;YACxB,OAAO,IAAI,8BAAgB,CAAC,6BAA6B,CAAC,CAAC,CAAC,YAAY;QAC1E,CAAC;QAED,OAAO,IAAI,8BAAgB,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,4DAA4D;AAC5D,SAAgB,2BAA2B;IACzC,MAAM,OAAO,GAAG,IAAA,0BAAM,GAAE,CAAC;IACzB,MAAM,YAAY,GAAG,IAAA,uCAAmB,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACxE,kBAAkB;IAClB,2BAA2B;IAC3B,8BAA8B;IAC9B,kCAAkC;IAClC,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE;QAClB,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,8BAAgB,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,8BAAgB,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,2EAA2E;AAC3E,8EAA8E;AAC9E,yEAAyE;AACzE,2DAA2D;AAC3D,SAAgB,oBAAoB,CAClC,YAA+C,EAC/C,SAAiB;IAEjB,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,IAAI,8BAAgB,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,cAAc,GAAmB;QACrC,GAAG,EAAE,YAAY,CAAC,GAAG;QACrB,YAAY,CAAC,QAAgB,EAAE,IAAiB;YAC9C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;YACxD,OAAO,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACrE,CAAC;KACF,CAAC;IACF,OAAO,IAAI,8BAAgB,CAAC,cAAc,CAAC,CAAC;AAC9C,CAAC;AAED,4EAA4E;AAC5E,yFAAyF;AACzF,SAAgB,qCAAqC;IACnD,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE;QAClB,OAAO,IAAI,8BAAgB,CAAC,6BAA6B,CAAC,CAAC;IAC7D,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@streamplace/components",
3
- "version": "0.10.7",
3
+ "version": "0.10.8",
4
4
  "description": "Streamplace React (Native) Components",
5
5
  "main": "dist/index.js",
6
6
  "types": "src/index.tsx",
@@ -82,5 +82,5 @@
82
82
  "i18n:watch": "nodemon --watch 'locales/**/*.ftl' --exec 'node scripts/compile-translations.js'",
83
83
  "i18n:extract": "i18next-cli extract && node scripts/migrate-i18n.js"
84
84
  },
85
- "gitHead": "f9e21690fb8cc30edc29b00c5adbac577d085951"
85
+ "gitHead": "a8d48ccd08d182f52b6fddc30a463b35e63d0ae8"
86
86
  }
@@ -1,11 +1,14 @@
1
+ import { SessionManager } from "@atproto/api/dist/session-manager";
1
2
  import { useEffect, useRef, useState } from "react";
2
3
  import * as sdpTransform from "sdp-transform";
3
4
  import { StreamplaceAgent } from "streamplace";
4
5
  import {
6
+ createAgentForServer,
5
7
  PlayerStatus,
6
8
  usePlayerStore,
7
9
  usePossiblyUnauthedPDSAgent,
8
10
  useStreamKey,
11
+ useStreamplaceStore,
9
12
  } from "../..";
10
13
  import { RTCPeerConnection, RTCSessionDescription } from "./webrtc-primitives";
11
14
 
@@ -16,6 +19,7 @@ export default function useWebRTC(
16
19
  const [stuck, setStuck] = useState<boolean>(false);
17
20
  const setStatus = usePlayerStore((x) => x.setStatus);
18
21
  let agent = usePossiblyUnauthedPDSAgent();
22
+ const oauthSession = useStreamplaceStore((state) => state.oauthSession);
19
23
 
20
24
  const lastChange = useRef<number>(0);
21
25
 
@@ -59,6 +63,7 @@ export default function useWebRTC(
59
63
  streamer,
60
64
  undefined,
61
65
  agent,
66
+ oauthSession,
62
67
  );
63
68
  });
64
69
 
@@ -97,7 +102,7 @@ export default function useWebRTC(
97
102
  clearInterval(handle);
98
103
  peerConnection.close();
99
104
  };
100
- }, [streamer, agent]);
105
+ }, [streamer, agent, oauthSession]);
101
106
  return [mediaStream, stuck];
102
107
  }
103
108
 
@@ -118,6 +123,7 @@ export async function negotiateConnectionWithClientOffer(
118
123
  streamer: string,
119
124
  bearerToken?: string,
120
125
  agent?: StreamplaceAgent,
126
+ oauthSession?: SessionManager | null,
121
127
  ) {
122
128
  /** https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createOffer */
123
129
  const offer = await peerConnection.createOffer({
@@ -150,7 +156,13 @@ export async function negotiateConnectionWithClientOffer(
150
156
  * This specifies how the client should communicate,
151
157
  * and what kind of media client and server have negotiated to exchange.
152
158
  */
153
- let response = await postSDPOffer(streamer, ofr.sdp, bearerToken, agent);
159
+ let response = await postSDPOffer(
160
+ streamer,
161
+ ofr.sdp,
162
+ bearerToken,
163
+ agent,
164
+ oauthSession,
165
+ );
154
166
  let text = new TextDecoder().decode(response.data);
155
167
  if (response.success) {
156
168
  if ((peerConnection.connectionState as string) === "closed") {
@@ -233,30 +245,53 @@ export async function negotiateIngestConnectionWithClientOffer(
233
245
  }
234
246
  }
235
247
 
248
+ async function getPlaybackServerAgent(
249
+ agent: StreamplaceAgent,
250
+ oauthSession: SessionManager | null | undefined,
251
+ streamer: string,
252
+ ): Promise<StreamplaceAgent> {
253
+ const workerUrl = (window as any).PLAYBACK_WORKER_URL as string | undefined;
254
+ if (!workerUrl) {
255
+ return agent;
256
+ }
257
+
258
+ try {
259
+ const lookupAgent = new StreamplaceAgent(workerUrl);
260
+ const res = await lookupAgent.place.stream.playback.getPlaybackServer({
261
+ stream: streamer,
262
+ });
263
+ if (res.data.servers.length > 0) {
264
+ const serverUrl = res.data.servers[0];
265
+ console.log(`Using playback server: ${serverUrl}`);
266
+ return createAgentForServer(oauthSession, serverUrl);
267
+ }
268
+ } catch (e) {
269
+ console.error("getPlaybackServer failed, using default agent:", e);
270
+ }
271
+ return agent;
272
+ }
273
+
236
274
  async function postSDPOffer(
237
275
  streamer: string,
238
276
  data: string,
239
277
  bearerToken?: string,
240
278
  agent?: StreamplaceAgent,
279
+ oauthSession?: SessionManager | null,
241
280
  ) {
242
281
  if (!agent) {
243
282
  throw new Error("No agent found");
244
283
  }
245
- return await agent.place.stream.playback.whep(data, {
284
+ const playbackAgent = await getPlaybackServerAgent(
285
+ agent,
286
+ oauthSession,
287
+ streamer,
288
+ );
289
+ return await playbackAgent.place.stream.playback.whep(data, {
246
290
  qp: {
247
291
  rendition: "source",
248
292
  streamer: streamer,
249
293
  },
250
294
  });
251
- // return await fetch(endpoint, {
252
- // method: "POST",
253
- // mode: "cors",
254
- // headers: {
255
- // "content-type": "application/sdp",
256
- // ...(bearerToken ? { Authorization: `Bearer ${bearerToken}` } : {}),
257
- // },
258
- // body: data,
259
- // });
260
295
  }
261
296
 
262
297
  async function postSDPIngestOffer(
@@ -1,3 +1,4 @@
1
+ import { SessionManager } from "@atproto/api/dist/session-manager";
1
2
  import { useMemo } from "react";
2
3
  import { StreamplaceAgent } from "streamplace";
3
4
  import { useStreamplaceStore, useUrl } from "./streamplace-store";
@@ -38,6 +39,27 @@ export function usePossiblyUnauthedPDSAgent(): StreamplaceAgent | null {
38
39
  }, [oauthSession]);
39
40
  }
40
41
 
42
+ // Creates an agent that targets a specific server URL. When authenticated,
43
+ // the OAuth session's DPoP fetch is reused but requests are redirected to the
44
+ // target server by passing an absolute URL to the session's fetchHandler
45
+ // (absolute URLs in `new URL(abs, base)` ignore the base).
46
+ export function createAgentForServer(
47
+ oauthSession: SessionManager | null | undefined,
48
+ serverUrl: string,
49
+ ): StreamplaceAgent {
50
+ if (!oauthSession) {
51
+ return new StreamplaceAgent(serverUrl);
52
+ }
53
+ const wrappedSession: SessionManager = {
54
+ did: oauthSession.did,
55
+ fetchHandler(pathname: string, init: RequestInit): Promise<Response> {
56
+ const fullUrl = new URL(pathname, serverUrl).toString();
57
+ return oauthSession.fetchHandler.call(oauthSession, fullUrl, init);
58
+ },
59
+ };
60
+ return new StreamplaceAgent(wrappedSession);
61
+ }
62
+
41
63
  // always returns an unauthenticated agent pointed at the public bluesky API
42
64
  // probably should not be used in most places, but in case we have a bug it may be useful
43
65
  export function useUnauthenticatedBlueskyAppViewAgent(): StreamplaceAgent {