@stream-io/video-client 0.0.4 → 0.0.5

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.
@@ -12,4 +12,7 @@ export declare const watchCallRecordingStopped: (state: CallState) => (event: St
12
12
  * Watches for `call.broadcasting_started` events.
13
13
  */
14
14
  export declare const watchCallBroadcastingStarted: (state: CallState) => (event: StreamVideoEvent) => void;
15
+ /**
16
+ * Watches for `call.broadcasting_stopped` events.
17
+ */
15
18
  export declare const watchCallBroadcastingStopped: (state: CallState) => (event: StreamVideoEvent) => void;
@@ -969,12 +969,6 @@ export interface CallResponse {
969
969
  * @memberof CallResponse
970
970
  */
971
971
  blocked_user_ids: Array<string>;
972
- /**
973
- *
974
- * @type {boolean}
975
- * @memberof CallResponse
976
- */
977
- broadcasting: boolean;
978
972
  /**
979
973
  * The unique identifier for a call (<type>:<id>)
980
974
  * @type {string}
@@ -1008,17 +1002,17 @@ export interface CallResponse {
1008
1002
  [key: string]: any;
1009
1003
  };
1010
1004
  /**
1011
- * Date/time when the call ended
1012
- * @type {string}
1005
+ *
1006
+ * @type {EgressResponse}
1013
1007
  * @memberof CallResponse
1014
1008
  */
1015
- ended_at?: string;
1009
+ egress: EgressResponse;
1016
1010
  /**
1017
- *
1011
+ * Date/time when the call ended
1018
1012
  * @type {string}
1019
1013
  * @memberof CallResponse
1020
1014
  */
1021
- hls_playlist_url: string;
1015
+ ended_at?: string;
1022
1016
  /**
1023
1017
  * Call ID
1024
1018
  * @type {string}
@@ -1989,6 +1983,69 @@ export interface EdgeResponse {
1989
1983
  */
1990
1984
  yellow: number;
1991
1985
  }
1986
+ /**
1987
+ *
1988
+ * @export
1989
+ * @interface EgressHLSResponse
1990
+ */
1991
+ export interface EgressHLSResponse {
1992
+ /**
1993
+ *
1994
+ * @type {string}
1995
+ * @memberof EgressHLSResponse
1996
+ */
1997
+ playlist_url: string;
1998
+ }
1999
+ /**
2000
+ *
2001
+ * @export
2002
+ * @interface EgressRTMPResponse
2003
+ */
2004
+ export interface EgressRTMPResponse {
2005
+ /**
2006
+ *
2007
+ * @type {string}
2008
+ * @memberof EgressRTMPResponse
2009
+ */
2010
+ name: string;
2011
+ /**
2012
+ *
2013
+ * @type {string}
2014
+ * @memberof EgressRTMPResponse
2015
+ */
2016
+ stream_key: string;
2017
+ /**
2018
+ *
2019
+ * @type {string}
2020
+ * @memberof EgressRTMPResponse
2021
+ */
2022
+ url: string;
2023
+ }
2024
+ /**
2025
+ *
2026
+ * @export
2027
+ * @interface EgressResponse
2028
+ */
2029
+ export interface EgressResponse {
2030
+ /**
2031
+ *
2032
+ * @type {boolean}
2033
+ * @memberof EgressResponse
2034
+ */
2035
+ broadcasting: boolean;
2036
+ /**
2037
+ *
2038
+ * @type {EgressHLSResponse}
2039
+ * @memberof EgressResponse
2040
+ */
2041
+ hls?: EgressHLSResponse;
2042
+ /**
2043
+ *
2044
+ * @type {Array<EgressRTMPResponse>}
2045
+ * @memberof EgressResponse
2046
+ */
2047
+ rtmps: Array<EgressRTMPResponse>;
2048
+ }
1992
2049
  /**
1993
2050
  *
1994
2051
  * @export
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stream-io/video-client",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "packageManager": "yarn@3.2.4",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.es.js",
@@ -30,25 +30,36 @@ describe('recording and broadcasting events', () => {
30
30
 
31
31
  it('handles call.broadcasting_started events', () => {
32
32
  const state = new CallState();
33
+ state.setMetadata({
34
+ // @ts-ignore
35
+ egress: {
36
+ broadcasting: false,
37
+ hls: {
38
+ playlist_url: '',
39
+ },
40
+ },
41
+ });
33
42
  const handler = watchCallBroadcastingStarted(state);
34
43
  // @ts-ignore
35
44
  handler({
36
45
  type: 'call.broadcasting_started',
37
46
  hls_playlist_url: 'https://example.com/playlist.m3u8',
38
47
  });
39
- expect(state.metadata?.broadcasting).toBe(true);
40
- expect(state.metadata?.hls_playlist_url).toBe(
48
+ expect(state.metadata?.egress.broadcasting).toBe(true);
49
+ expect(state.metadata?.egress.hls?.playlist_url).toBe(
41
50
  'https://example.com/playlist.m3u8',
42
51
  );
43
52
  });
44
53
 
45
54
  it('handles call.broadcasting_stopped events', () => {
46
55
  const state = new CallState();
56
+ // @ts-ignore
57
+ state.setMetadata({});
47
58
  const handler = watchCallBroadcastingStopped(state);
48
59
  // @ts-ignore
49
60
  handler({
50
61
  type: 'call.broadcasting_stopped',
51
62
  });
52
- expect(state.metadata?.broadcasting).toBe(false);
63
+ expect(state.metadata?.egress.broadcasting).toBe(false);
53
64
  });
54
65
  });
@@ -35,18 +35,30 @@ export const watchCallBroadcastingStarted = (state: CallState) => {
35
35
  if (event.type !== 'call.broadcasting_started') return;
36
36
  state.setMetadata((metadata) => ({
37
37
  ...metadata!,
38
- broadcasting: true,
39
- hls_playlist_url: event.hls_playlist_url,
38
+ egress: {
39
+ ...metadata!.egress,
40
+ broadcasting: true,
41
+ hls: {
42
+ ...metadata!.egress.hls,
43
+ playlist_url: event.hls_playlist_url,
44
+ },
45
+ },
40
46
  }));
41
47
  };
42
48
  };
43
49
 
50
+ /**
51
+ * Watches for `call.broadcasting_stopped` events.
52
+ */
44
53
  export const watchCallBroadcastingStopped = (state: CallState) => {
45
54
  return function onCallBroadcastingStopped(event: StreamVideoEvent) {
46
55
  if (event.type !== 'call.broadcasting_stopped') return;
47
56
  state.setMetadata((metadata) => ({
48
57
  ...metadata!,
49
- broadcasting: false,
58
+ egress: {
59
+ ...metadata!.egress,
60
+ broadcasting: false,
61
+ },
50
62
  }));
51
63
  };
52
64
  };
@@ -968,12 +968,6 @@ export interface CallResponse {
968
968
  * @memberof CallResponse
969
969
  */
970
970
  blocked_user_ids: Array<string>;
971
- /**
972
- *
973
- * @type {boolean}
974
- * @memberof CallResponse
975
- */
976
- broadcasting: boolean;
977
971
  /**
978
972
  * The unique identifier for a call (<type>:<id>)
979
973
  * @type {string}
@@ -1005,17 +999,17 @@ export interface CallResponse {
1005
999
  */
1006
1000
  custom: { [key: string]: any };
1007
1001
  /**
1008
- * Date/time when the call ended
1009
- * @type {string}
1002
+ *
1003
+ * @type {EgressResponse}
1010
1004
  * @memberof CallResponse
1011
1005
  */
1012
- ended_at?: string;
1006
+ egress: EgressResponse;
1013
1007
  /**
1014
- *
1008
+ * Date/time when the call ended
1015
1009
  * @type {string}
1016
1010
  * @memberof CallResponse
1017
1011
  */
1018
- hls_playlist_url: string;
1012
+ ended_at?: string;
1019
1013
  /**
1020
1014
  * Call ID
1021
1015
  * @type {string}
@@ -1971,6 +1965,69 @@ export interface EdgeResponse {
1971
1965
  */
1972
1966
  yellow: number;
1973
1967
  }
1968
+ /**
1969
+ *
1970
+ * @export
1971
+ * @interface EgressHLSResponse
1972
+ */
1973
+ export interface EgressHLSResponse {
1974
+ /**
1975
+ *
1976
+ * @type {string}
1977
+ * @memberof EgressHLSResponse
1978
+ */
1979
+ playlist_url: string;
1980
+ }
1981
+ /**
1982
+ *
1983
+ * @export
1984
+ * @interface EgressRTMPResponse
1985
+ */
1986
+ export interface EgressRTMPResponse {
1987
+ /**
1988
+ *
1989
+ * @type {string}
1990
+ * @memberof EgressRTMPResponse
1991
+ */
1992
+ name: string;
1993
+ /**
1994
+ *
1995
+ * @type {string}
1996
+ * @memberof EgressRTMPResponse
1997
+ */
1998
+ stream_key: string;
1999
+ /**
2000
+ *
2001
+ * @type {string}
2002
+ * @memberof EgressRTMPResponse
2003
+ */
2004
+ url: string;
2005
+ }
2006
+ /**
2007
+ *
2008
+ * @export
2009
+ * @interface EgressResponse
2010
+ */
2011
+ export interface EgressResponse {
2012
+ /**
2013
+ *
2014
+ * @type {boolean}
2015
+ * @memberof EgressResponse
2016
+ */
2017
+ broadcasting: boolean;
2018
+ /**
2019
+ *
2020
+ * @type {EgressHLSResponse}
2021
+ * @memberof EgressResponse
2022
+ */
2023
+ hls?: EgressHLSResponse;
2024
+ /**
2025
+ *
2026
+ * @type {Array<EgressRTMPResponse>}
2027
+ * @memberof EgressResponse
2028
+ */
2029
+ rtmps: Array<EgressRTMPResponse>;
2030
+ }
1974
2031
  /**
1975
2032
  *
1976
2033
  * @export