{"ast":null,"code":"var _s = $RefreshSig$();\nimport { useState, useEffect } from \"react\";\nconst useUserMedia = () => {\n  _s();\n  const [stream, setStream] = useState(null);\n  const [error, setError] = useState(null);\n  const getMedia = async constraintName => {\n    let constraints = {\n      video: constraintName === \"video\" ? true : false,\n      audio: {\n        echoCancellation: false,\n        noiseSuppression: false,\n        autoGainControl: false\n      }\n    };\n    console.log('getting stream now');\n    try {\n      setStream(await navigator.mediaDevices.getUserMedia(constraints));\n    } catch (e) {\n      setError(e);\n    }\n  };\n  const cancelMedia = () => {\n    if (!stream) return;\n    console.log('streaming media is stopped');\n    if (stream !== null && stream !== void 0 && stream.getVideoTracks) {\n      stream.getVideoTracks().map(track => track.stop());\n    }\n    if (stream !== null && stream !== void 0 && stream.getAudioTracks) {\n      stream.getAudioTracks().map(track => track.stop());\n    }\n    if (stream !== null && stream !== void 0 && stream.stop) {\n      stream.stop();\n    }\n  };\n\n  // INTI ----------------------------\n  useEffect(() => {\n    if (stream) return;\n\n    // onMount   enable this if you want it to run immediately\n    // getMedia();\n\n    // willUnmount (aka cleanup)\n    return cancelMedia;\n  }, [stream, error]);\n  return {\n    stream,\n    error,\n    getMedia,\n    cancelMedia\n  };\n};\n_s(useUserMedia, \"xks7sNJeZ3JzDQx4lzUvXdlnUro=\");\nexport default useUserMedia;","map":{"version":3,"names":["useState","useEffect","useUserMedia","_s","stream","setStream","error","setError","getMedia","constraintName","constraints","video","audio","echoCancellation","noiseSuppression","autoGainControl","console","log","navigator","mediaDevices","getUserMedia","e","cancelMedia","getVideoTracks","map","track","stop","getAudioTracks"],"sources":["/var/www/gavt/react-demo/src/gavt/Wave/useUserMedia.js"],"sourcesContent":["import { useState, useEffect } from \"react\";\n\nconst useUserMedia = () => {\n\n  const [stream, setStream] = useState(null);\n  const [error, setError] = useState(null);\n\n  const getMedia = async ( constraintName ) => {\n\n    let constraints = {\n      video: (constraintName === \"video\") ? true : false,\n      audio: {\n        echoCancellation: false,\n        noiseSuppression: false,\n        autoGainControl: false,\n      }\n    }\n    \n    console.log('getting stream now')\n      try {\n          setStream(await navigator.mediaDevices.getUserMedia(constraints));\n      } catch (e) {\n          setError(e);\n      }\n  };\n\n  const cancelMedia = () => {\n      if(!stream) return;\n\n      console.log('streaming media is stopped')\n\n      if (stream?.getVideoTracks) {\n          stream.getVideoTracks().map(track => track.stop());\n      }\n      if (stream?.getAudioTracks) {\n          stream.getAudioTracks().map(track => track.stop());\n      }\n      if (stream?.stop) {\n          stream.stop();\n      }\n  };\n  \n  // INTI ----------------------------\n  useEffect(() => {\n    if (stream) return;\n\n    // onMount   enable this if you want it to run immediately\n    // getMedia();\n      \n    // willUnmount (aka cleanup)\n    return cancelMedia\n  \n  }, [stream, error]);\n\n  return { stream, error, getMedia, cancelMedia, };\n};\n\nexport default useUserMedia "],"mappings":";AAAA,SAASA,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAE3C,MAAMC,YAAY,GAAGA,CAAA,KAAM;EAAAC,EAAA;EAEzB,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGL,QAAQ,CAAC,IAAI,CAAC;EAC1C,MAAM,CAACM,KAAK,EAAEC,QAAQ,CAAC,GAAGP,QAAQ,CAAC,IAAI,CAAC;EAExC,MAAMQ,QAAQ,GAAG,MAAQC,cAAc,IAAM;IAE3C,IAAIC,WAAW,GAAG;MAChBC,KAAK,EAAGF,cAAc,KAAK,OAAO,GAAI,IAAI,GAAG,KAAK;MAClDG,KAAK,EAAE;QACLC,gBAAgB,EAAE,KAAK;QACvBC,gBAAgB,EAAE,KAAK;QACvBC,eAAe,EAAE;MACnB;IACF,CAAC;IAEDC,OAAO,CAACC,GAAG,CAAC,oBAAoB,CAAC;IAC/B,IAAI;MACAZ,SAAS,CAAC,MAAMa,SAAS,CAACC,YAAY,CAACC,YAAY,CAACV,WAAW,CAAC,CAAC;IACrE,CAAC,CAAC,OAAOW,CAAC,EAAE;MACRd,QAAQ,CAACc,CAAC,CAAC;IACf;EACJ,CAAC;EAED,MAAMC,WAAW,GAAGA,CAAA,KAAM;IACtB,IAAG,CAAClB,MAAM,EAAE;IAEZY,OAAO,CAACC,GAAG,CAAC,4BAA4B,CAAC;IAEzC,IAAIb,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEmB,cAAc,EAAE;MACxBnB,MAAM,CAACmB,cAAc,CAAC,CAAC,CAACC,GAAG,CAACC,KAAK,IAAIA,KAAK,CAACC,IAAI,CAAC,CAAC,CAAC;IACtD;IACA,IAAItB,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEuB,cAAc,EAAE;MACxBvB,MAAM,CAACuB,cAAc,CAAC,CAAC,CAACH,GAAG,CAACC,KAAK,IAAIA,KAAK,CAACC,IAAI,CAAC,CAAC,CAAC;IACtD;IACA,IAAItB,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEsB,IAAI,EAAE;MACdtB,MAAM,CAACsB,IAAI,CAAC,CAAC;IACjB;EACJ,CAAC;;EAED;EACAzB,SAAS,CAAC,MAAM;IACd,IAAIG,MAAM,EAAE;;IAEZ;IACA;;IAEA;IACA,OAAOkB,WAAW;EAEpB,CAAC,EAAE,CAAClB,MAAM,EAAEE,KAAK,CAAC,CAAC;EAEnB,OAAO;IAAEF,MAAM;IAAEE,KAAK;IAAEE,QAAQ;IAAEc;EAAa,CAAC;AAClD,CAAC;AAACnB,EAAA,CArDID,YAAY;AAuDlB,eAAeA,YAAY","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}