| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 | 
							- import { MEDIA_TYPE } from '../media';
 - 
 - /**
 -  * Returns local audio track.
 -  *
 -  * @param {Track[]} tracks - List of all tracks.
 -  * @returns {(Track|undefined)}
 -  */
 - export function getLocalAudioTrack(tracks) {
 -     return getLocalTrack(tracks, MEDIA_TYPE.AUDIO);
 - }
 - 
 - /**
 -  * Returns local track by media type.
 -  *
 -  * @param {Track[]} tracks - List of all tracks.
 -  * @param {MEDIA_TYPE} mediaType - Media type.
 -  * @returns {(Track|undefined)}
 -  */
 - export function getLocalTrack(tracks, mediaType) {
 -     return tracks.find(t => t.local && t.mediaType === mediaType);
 - }
 - 
 - /**
 -  * Returns local video track.
 -  *
 -  * @param {Track[]} tracks - List of all tracks.
 -  * @returns {(Track|undefined)}
 -  */
 - export function getLocalVideoTrack(tracks) {
 -     return getLocalTrack(tracks, MEDIA_TYPE.VIDEO);
 - }
 - 
 - /**
 -  * Returns track of specified media type for specified participant id.
 -  *
 -  * @param {Track[]} tracks - List of all tracks.
 -  * @param {MEDIA_TYPE} mediaType - Media type.
 -  * @param {string} participantId - Participant ID.
 -  * @returns {(Track|undefined)}
 -  */
 - export function getTrackByMediaTypeAndParticipant(
 -         tracks,
 -         mediaType,
 -         participantId) {
 -     return tracks.find(
 -         t => t.participantId === participantId && t.mediaType === mediaType
 -     );
 - }
 - 
 - /**
 -  * Returns the track if any which corresponds to a specific instance
 -  * of JitsiLocalTrack or JitsiRemoteTrack.
 -  *
 -  * @param {Track[]} tracks - List of all tracks.
 -  * @param {(JitsiLocalTrack|JitsiRemoteTrack)} jitsiTrack - JitsiTrack instance.
 -  * @returns {(Track|undefined)}
 -  */
 - export function getTrackByJitsiTrack(tracks, jitsiTrack) {
 -     return tracks.find(t => t.jitsiTrack === jitsiTrack);
 - }
 - 
 - /**
 -  * Returns tracks of specified media type.
 -  *
 -  * @param {Track[]} tracks - List of all tracks.
 -  * @param {MEDIA_TYPE} mediaType - Media type.
 -  * @returns {Track[]}
 -  */
 - export function getTracksByMediaType(tracks, mediaType) {
 -     return tracks.filter(t => t.mediaType === mediaType);
 - }
 - 
 - /**
 -  * Mute or unmute local track if any.
 -  *
 -  * @param {JitsiLocalTrack} track - Track instance.
 -  * @param {boolean} muted - If audio stream should be muted or unmuted.
 -  * @returns {Promise}
 -  */
 - export function setTrackMuted(track, muted) {
 -     if (!track) {
 -         return Promise.resolve();
 -     }
 - 
 -     const f = muted ? 'mute' : 'unmute';
 - 
 -     return track[f]()
 -         .catch(err => {
 -             console.warn(`Track ${f} was rejected:`, err);
 -             throw err;
 -         });
 - }
 
 
  |