| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | 
							- 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);
 - }
 - 
 - /**
 -  * Mutes or unmutes a specific <tt>JitsiLocalTrack</tt>. If the muted state of
 -  * the specified <tt>track</tt> is already in accord with the specified
 -  * <tt>muted</tt> value, then does nothing.
 -  *
 -  * @param {JitsiLocalTrack} track - The <tt>JitsiLocalTrack</tt> to mute or
 -  * unmute.
 -  * @param {boolean} muted - If the specified <tt>track</tt> is to be muted, then
 -  * <tt>true</tt>; otherwise, <tt>false</tt>.
 -  * @returns {Promise}
 -  */
 - export function setTrackMuted(track, muted) {
 -     if (track.isMuted() === muted) {
 -         return Promise.resolve();
 -     }
 - 
 -     const f = muted ? 'mute' : 'unmute';
 - 
 -     return track[f]()
 -         .catch(err => {
 -             console.warn(`Track ${f} was rejected:`, err);
 -             throw err;
 -         });
 - }
 
 
  |