Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

SDPUtil.spec.js 2.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import SDPUtil from './SDPUtil';
  2. import { default as SampleSdpStrings } from './SampleSdpStrings.js';
  3. describe('SDPUtil', () => {
  4. it('should parse an ice ufrag correctly', () => {
  5. const line = 'a=ice-ufrag:3jlcc1b3j1rqt6';
  6. const parsed = SDPUtil.parseICEUfrag(line);
  7. expect(parsed).toEqual('3jlcc1b3j1rqt6');
  8. });
  9. describe('preferCodec for video codec', () => {
  10. it('should move a preferred video codec to the front', () => {
  11. const sdp = SampleSdpStrings.multiCodecVideoSdp;
  12. const videoMLine = sdp.media.find(m => m.type === 'video');
  13. SDPUtil.preferCodec(videoMLine, 'H264');
  14. const newPayloadTypesOrder
  15. = videoMLine.payloads.split(' ').map(
  16. ptStr => parseInt(ptStr, 10));
  17. expect(newPayloadTypesOrder[0]).toEqual(102);
  18. expect(newPayloadTypesOrder[1]).toEqual(127);
  19. });
  20. });
  21. describe('preferCodec for audio codec', () => {
  22. it('should move a preferred audio codec to the front', () => {
  23. const sdp = SampleSdpStrings.multiCodecVideoSdp;
  24. const audioMLine = sdp.media.find(m => m.type === 'audio');
  25. SDPUtil.preferCodec(audioMLine, 'ISAC');
  26. const newPayloadTypesOrder
  27. = audioMLine.payloads.split(' ').map(
  28. ptStr => parseInt(ptStr, 10));
  29. expect(newPayloadTypesOrder[0]).toEqual(103);
  30. expect(newPayloadTypesOrder[1]).toEqual(104);
  31. });
  32. });
  33. describe('strip Video Codec', () => {
  34. it('should remove a video codec', () => {
  35. const sdp = SampleSdpStrings.multiCodecVideoSdp;
  36. const videoMLine = sdp.media.find(m => m.type === 'video');
  37. SDPUtil.stripCodec(videoMLine, 'H264');
  38. const newPayloadTypes = videoMLine.payloads.split(' ').map(Number);
  39. expect(newPayloadTypes.length).toEqual(4);
  40. expect(newPayloadTypes[0]).toEqual(96);
  41. });
  42. });
  43. describe('strip Audio Codec', () => {
  44. it('should remove an audio codec', () => {
  45. const sdp = SampleSdpStrings.multiCodecVideoSdp;
  46. const audioMLine = sdp.media.find(m => m.type === 'audio');
  47. SDPUtil.stripCodec(audioMLine, 'OPUS');
  48. const newPayloadTypes = audioMLine.payloads.split(' ').map(Number);
  49. expect(newPayloadTypes.length).toEqual(3);
  50. expect(newPayloadTypes[0]).toEqual(103);
  51. });
  52. });
  53. });