mediasoup-client 3.6.50 → 3.6.53

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.
Files changed (85) hide show
  1. package/lib/Consumer.d.ts +22 -24
  2. package/lib/Consumer.d.ts.map +1 -1
  3. package/lib/Consumer.js +5 -18
  4. package/lib/DataConsumer.d.ts +17 -19
  5. package/lib/DataConsumer.d.ts.map +1 -1
  6. package/lib/DataConsumer.js +2 -14
  7. package/lib/DataProducer.d.ts +17 -19
  8. package/lib/DataProducer.d.ts.map +1 -1
  9. package/lib/DataProducer.js +2 -14
  10. package/lib/Device.d.ts +4 -6
  11. package/lib/Device.d.ts.map +1 -1
  12. package/lib/Device.js +8 -9
  13. package/lib/EnhancedEventEmitter.d.ts +19 -3
  14. package/lib/EnhancedEventEmitter.d.ts.map +1 -1
  15. package/lib/EnhancedEventEmitter.js +50 -14
  16. package/lib/Producer.d.ts +35 -28
  17. package/lib/Producer.d.ts.map +1 -1
  18. package/lib/Producer.js +20 -29
  19. package/lib/Transport.d.ts +49 -21
  20. package/lib/Transport.d.ts.map +1 -1
  21. package/lib/Transport.js +97 -31
  22. package/lib/handlers/Chrome55.d.ts +2 -2
  23. package/lib/handlers/Chrome55.d.ts.map +1 -1
  24. package/lib/handlers/Chrome55.js +10 -4
  25. package/lib/handlers/Chrome67.d.ts +2 -2
  26. package/lib/handlers/Chrome67.d.ts.map +1 -1
  27. package/lib/handlers/Chrome67.js +10 -4
  28. package/lib/handlers/Chrome70.d.ts +2 -2
  29. package/lib/handlers/Chrome70.d.ts.map +1 -1
  30. package/lib/handlers/Chrome70.js +10 -4
  31. package/lib/handlers/Chrome74.d.ts +2 -2
  32. package/lib/handlers/Chrome74.d.ts.map +1 -1
  33. package/lib/handlers/Chrome74.js +24 -14
  34. package/lib/handlers/Edge11.d.ts +2 -2
  35. package/lib/handlers/Edge11.d.ts.map +1 -1
  36. package/lib/handlers/Edge11.js +10 -4
  37. package/lib/handlers/FakeHandler.d.ts +4 -4
  38. package/lib/handlers/FakeHandler.d.ts.map +1 -1
  39. package/lib/handlers/FakeHandler.js +7 -3
  40. package/lib/handlers/Firefox60.d.ts +2 -2
  41. package/lib/handlers/Firefox60.d.ts.map +1 -1
  42. package/lib/handlers/Firefox60.js +24 -14
  43. package/lib/handlers/HandlerInterface.d.ts +14 -12
  44. package/lib/handlers/HandlerInterface.d.ts.map +1 -1
  45. package/lib/handlers/HandlerInterface.js +0 -8
  46. package/lib/handlers/ReactNative.d.ts +2 -2
  47. package/lib/handlers/ReactNative.d.ts.map +1 -1
  48. package/lib/handlers/ReactNative.js +10 -4
  49. package/lib/handlers/Safari11.d.ts +2 -2
  50. package/lib/handlers/Safari11.d.ts.map +1 -1
  51. package/lib/handlers/Safari11.js +10 -4
  52. package/lib/handlers/Safari12.d.ts +2 -2
  53. package/lib/handlers/Safari12.d.ts.map +1 -1
  54. package/lib/handlers/Safari12.js +24 -14
  55. package/lib/handlers/ortc/edgeUtils.js +5 -1
  56. package/lib/handlers/sdp/MediaSection.js +5 -1
  57. package/lib/handlers/sdp/RemoteSdp.js +5 -1
  58. package/lib/handlers/sdp/commonUtils.js +5 -1
  59. package/lib/index.d.ts +1 -1
  60. package/lib/index.js +6 -2
  61. package/lib/ortc.js +5 -1
  62. package/lib/types.js +5 -1
  63. package/lib/utils.d.ts.map +1 -1
  64. package/package.json +11 -11
  65. package/src/Consumer.ts +40 -29
  66. package/src/DataConsumer.ts +26 -22
  67. package/src/DataProducer.ts +26 -22
  68. package/src/Device.ts +9 -9
  69. package/src/EnhancedEventEmitter.ts +105 -22
  70. package/src/Producer.ts +99 -38
  71. package/src/Transport.ts +193 -52
  72. package/src/handlers/Chrome55.ts +12 -4
  73. package/src/handlers/Chrome67.ts +11 -3
  74. package/src/handlers/Chrome70.ts +11 -3
  75. package/src/handlers/Chrome74.ts +29 -15
  76. package/src/handlers/Edge11.ts +11 -3
  77. package/src/handlers/FakeHandler.ts +6 -5
  78. package/src/handlers/Firefox60.ts +29 -15
  79. package/src/handlers/HandlerInterface.ts +16 -12
  80. package/src/handlers/ReactNative.ts +11 -3
  81. package/src/handlers/Safari11.ts +11 -3
  82. package/src/handlers/Safari12.ts +29 -15
  83. package/src/utils.ts +0 -1
  84. package/.vimrc +0 -21
  85. package/NO_GIT/Notes.txt +0 -18
@@ -765,19 +765,22 @@ export class Firefox60 extends HandlerInterface
765
765
  this._mapMidTransceiver.delete(localId);
766
766
  }
767
767
 
768
- async pauseReceiving(localId: string): Promise<void>
768
+ async pauseReceiving(localIds: string[]): Promise<void>
769
769
  {
770
770
  this._assertRecvDirection();
771
771
 
772
- logger.debug('pauseReceiving() [localId:%s]', localId);
772
+ for (const localId of localIds)
773
+ {
774
+ logger.debug('pauseReceiving() [localId:%s]', localId);
773
775
 
774
- const transceiver = this._mapMidTransceiver.get(localId);
776
+ const transceiver = this._mapMidTransceiver.get(localId);
775
777
 
776
- if (!transceiver)
777
- throw new Error('associated RTCRtpTransceiver not found');
778
+ if (!transceiver)
779
+ throw new Error('associated RTCRtpTransceiver not found');
780
+
781
+ transceiver.direction = 'inactive';
782
+ }
778
783
 
779
- transceiver.direction = 'inactive';
780
-
781
784
  const offer = { type: 'offer', sdp: this._remoteSdp!.getSdp() };
782
785
 
783
786
  logger.debug(
@@ -795,19 +798,22 @@ export class Firefox60 extends HandlerInterface
795
798
  await this._pc.setLocalDescription(answer);
796
799
  }
797
800
 
798
- async resumeReceiving(localId: string): Promise<void>
801
+ async resumeReceiving(localIds: string[]): Promise<void>
799
802
  {
800
803
  this._assertRecvDirection();
801
804
 
802
- logger.debug('resumeReceiving() [localId:%s]', localId);
805
+ for (const localId of localIds)
806
+ {
807
+ logger.debug('resumeReceiving() [localId:%s]', localId);
803
808
 
804
- const transceiver = this._mapMidTransceiver.get(localId);
809
+ const transceiver = this._mapMidTransceiver.get(localId);
805
810
 
806
- if (!transceiver)
807
- throw new Error('associated RTCRtpTransceiver not found');
811
+ if (!transceiver)
812
+ throw new Error('associated RTCRtpTransceiver not found');
813
+
814
+ transceiver.direction = 'recvonly';
815
+ }
808
816
 
809
- transceiver.direction = 'recvonly';
810
-
811
817
  const offer = { type: 'offer', sdp: this._remoteSdp!.getSdp() };
812
818
 
813
819
  logger.debug(
@@ -925,7 +931,15 @@ export class Firefox60 extends HandlerInterface
925
931
  localDtlsRole === 'client' ? 'server' : 'client');
926
932
 
927
933
  // Need to tell the remote transport about our parameters.
928
- await this.safeEmitAsPromise('@connect', { dtlsParameters });
934
+ await new Promise<void>((resolve, reject) =>
935
+ {
936
+ this.safeEmit(
937
+ '@connect',
938
+ { dtlsParameters },
939
+ resolve,
940
+ reject
941
+ );
942
+ });
929
943
 
930
944
  this._transportReady = true;
931
945
  }
@@ -3,7 +3,8 @@ import { ProducerCodecOptions } from '../Producer';
3
3
  import {
4
4
  IceParameters,
5
5
  IceCandidate,
6
- DtlsParameters
6
+ DtlsParameters,
7
+ ConnectionState
7
8
  } from '../Transport';
8
9
  import {
9
10
  RtpCapabilities,
@@ -82,16 +83,19 @@ export type HandlerReceiveDataChannelResult =
82
83
  dataChannel: RTCDataChannel;
83
84
  }
84
85
 
85
- export abstract class HandlerInterface extends EnhancedEventEmitter
86
+ export type HandlerEvents =
87
+ {
88
+ '@connect':
89
+ [
90
+ { dtlsParameters: DtlsParameters },
91
+ () => void,
92
+ (error: Error) => void
93
+ ];
94
+ '@connectionstatechange': [ConnectionState];
95
+ }
96
+
97
+ export abstract class HandlerInterface extends EnhancedEventEmitter<HandlerEvents>
86
98
  {
87
- /**
88
- * @emits @connect - (
89
- * { dtlsParameters: DtlsParameters },
90
- * callback: Function,
91
- * errback: Function
92
- * )
93
- * @emits @connectionstatechange - (connectionState: ConnectionState)
94
- */
95
99
  constructor()
96
100
  {
97
101
  super();
@@ -141,9 +145,9 @@ export abstract class HandlerInterface extends EnhancedEventEmitter
141
145
 
142
146
  abstract stopReceiving(localId: string): Promise<void>;
143
147
 
144
- abstract pauseReceiving(localId: string): Promise<void>;
148
+ abstract pauseReceiving(localIds: string[]): Promise<void>;
145
149
 
146
- abstract resumeReceiving(localId: string): Promise<void>;
150
+ abstract resumeReceiving(localIds: string[]): Promise<void>;
147
151
 
148
152
  abstract getReceiverStats(localId: string): Promise<RTCStatsReport>;
149
153
 
@@ -725,14 +725,14 @@ export class ReactNative extends HandlerInterface
725
725
 
726
726
  async pauseReceiving(
727
727
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
728
- localId: string): Promise<void>
728
+ localIds: string[]): Promise<void>
729
729
  {
730
730
  // Unimplemented.
731
731
  }
732
732
 
733
733
  async resumeReceiving(
734
734
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
735
- localId: string): Promise<void>
735
+ localIds: string[]): Promise<void>
736
736
  {
737
737
  // Unimplemented.
738
738
  }
@@ -836,7 +836,15 @@ export class ReactNative extends HandlerInterface
836
836
  localDtlsRole === 'client' ? 'server' : 'client');
837
837
 
838
838
  // Need to tell the remote transport about our parameters.
839
- await this.safeEmitAsPromise('@connect', { dtlsParameters });
839
+ await new Promise<void>((resolve, reject) =>
840
+ {
841
+ this.safeEmit(
842
+ '@connect',
843
+ { dtlsParameters },
844
+ resolve,
845
+ reject
846
+ );
847
+ });
840
848
 
841
849
  this._transportReady = true;
842
850
  }
@@ -790,14 +790,14 @@ export class Safari11 extends HandlerInterface
790
790
 
791
791
  async pauseReceiving(
792
792
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
793
- localId: string): Promise<void>
793
+ localIds: string[]): Promise<void>
794
794
  {
795
795
  // Unimplemented.
796
796
  }
797
797
 
798
798
  async resumeReceiving(
799
799
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
800
- localId: string): Promise<void>
800
+ localIds: string[]): Promise<void>
801
801
  {
802
802
  // Unimplemented.
803
803
  }
@@ -894,7 +894,15 @@ export class Safari11 extends HandlerInterface
894
894
  localDtlsRole === 'client' ? 'server' : 'client');
895
895
 
896
896
  // Need to tell the remote transport about our parameters.
897
- await this.safeEmitAsPromise('@connect', { dtlsParameters });
897
+ await new Promise<void>((resolve, reject) =>
898
+ {
899
+ this.safeEmit(
900
+ '@connect',
901
+ { dtlsParameters },
902
+ resolve,
903
+ reject
904
+ );
905
+ });
898
906
 
899
907
  this._transportReady = true;
900
908
  }
@@ -730,19 +730,22 @@ export class Safari12 extends HandlerInterface
730
730
  this._mapMidTransceiver.delete(localId);
731
731
  }
732
732
 
733
- async pauseReceiving(localId: string): Promise<void>
733
+ async pauseReceiving(localIds: string[]): Promise<void>
734
734
  {
735
735
  this._assertRecvDirection();
736
736
 
737
- logger.debug('pauseReceiving() [localId:%s]', localId);
737
+ for (const localId of localIds)
738
+ {
739
+ logger.debug('pauseReceiving() [localId:%s]', localId);
738
740
 
739
- const transceiver = this._mapMidTransceiver.get(localId);
741
+ const transceiver = this._mapMidTransceiver.get(localId);
740
742
 
741
- if (!transceiver)
742
- throw new Error('associated RTCRtpTransceiver not found');
743
+ if (!transceiver)
744
+ throw new Error('associated RTCRtpTransceiver not found');
745
+
746
+ transceiver.direction = 'inactive';
747
+ }
743
748
 
744
- transceiver.direction = 'inactive';
745
-
746
749
  const offer = { type: 'offer', sdp: this._remoteSdp!.getSdp() };
747
750
 
748
751
  logger.debug(
@@ -760,19 +763,22 @@ export class Safari12 extends HandlerInterface
760
763
  await this._pc.setLocalDescription(answer);
761
764
  }
762
765
 
763
- async resumeReceiving(localId: string): Promise<void>
766
+ async resumeReceiving(localIds: string[]): Promise<void>
764
767
  {
765
768
  this._assertRecvDirection();
766
769
 
767
- logger.debug('resumeReceiving() [localId:%s]', localId);
770
+ for (const localId of localIds)
771
+ {
772
+ logger.debug('resumeReceiving() [localId:%s]', localId);
768
773
 
769
- const transceiver = this._mapMidTransceiver.get(localId);
774
+ const transceiver = this._mapMidTransceiver.get(localId);
770
775
 
771
- if (!transceiver)
772
- throw new Error('associated RTCRtpTransceiver not found');
776
+ if (!transceiver)
777
+ throw new Error('associated RTCRtpTransceiver not found');
778
+
779
+ transceiver.direction = 'recvonly';
780
+ }
773
781
 
774
- transceiver.direction = 'recvonly';
775
-
776
782
  const offer = { type: 'offer', sdp: this._remoteSdp!.getSdp() };
777
783
 
778
784
  logger.debug(
@@ -894,7 +900,15 @@ export class Safari12 extends HandlerInterface
894
900
  localDtlsRole === 'client' ? 'server' : 'client');
895
901
 
896
902
  // Need to tell the remote transport about our parameters.
897
- await this.safeEmitAsPromise('@connect', { dtlsParameters });
903
+ await new Promise<void>((resolve, reject) =>
904
+ {
905
+ this.safeEmit(
906
+ '@connect',
907
+ { dtlsParameters },
908
+ resolve,
909
+ reject
910
+ );
911
+ });
898
912
 
899
913
  this._transportReady = true;
900
914
  }
package/src/utils.ts CHANGED
@@ -3,7 +3,6 @@
3
3
  */
4
4
  export function clone(data: any, defaultValue: any): any
5
5
  {
6
-
7
6
  if (typeof data === 'undefined')
8
7
  return defaultValue;
9
8
 
package/.vimrc DELETED
@@ -1,21 +0,0 @@
1
- " session title
2
- set title titlestring=mediasoup-client
3
-
4
- " formatting
5
- set shiftwidth=2 " use indents of 2 spaces
6
- " tabs are tabs
7
- set noexpandtab " tabs are spaces, not tabs
8
- set tabstop=2 " an indentation every 2 columns
9
- set softtabstop=2 " backspace delete indent
10
- set backspace=2 " make backspace work
11
-
12
- let g:ale_linters = {
13
- \ 'javascript': ['eslint'],
14
- \ 'typescript': ['eslint'],
15
- \}
16
-
17
- let g:ale_fixers = {
18
- \ 'typescript': ['prettier'],
19
- \ 'javascript': ['prettier'],
20
- \ 'markdown': [],
21
- \}
package/NO_GIT/Notes.txt DELETED
@@ -1,18 +0,0 @@
1
- ## New release
2
-
3
- - Update version in package.json
4
-
5
- - Generate transpiled lib/ files:
6
- `npm run typescript:build`
7
-
8
- - Commit new version:
9
- `git commit -am"3.6.6"`
10
-
11
- - Create tag:
12
- `git tag -a 3.6.6 -m "3.6.6"`
13
-
14
- - Push:
15
- `git push origin v3 && git push origin --tags`
16
-
17
- - Publish npm:
18
- `npm publish`