|
15 | 15 | * @license For commercial use or closed source, contact us at license.mirotalk@gmail.com or purchase directly from CodeCanyon |
16 | 16 | * @license CodeCanyon: https://codecanyon.net/item/mirotalk-p2p-webrtc-realtime-video-conferences/38376661 |
17 | 17 | * @author Miroslav Pejic - miroslav.pejic.85@gmail.com |
18 | | - * @version 1.8.44 |
| 18 | + * @version 1.8.45 |
19 | 19 | * |
20 | 20 | */ |
21 | 21 |
|
@@ -9650,7 +9650,11 @@ function toggleVideoAudioTabs(disabled = false) { |
9650 | 9650 | * @param {object} mediaRecorder |
9651 | 9651 | */ |
9652 | 9652 | function handleMediaRecorder(mediaRecorder) { |
9653 | | - mediaRecorder.start(); |
| 9653 | + // Always pass a timeslice so the browser flushes encoded chunks into |
| 9654 | + // recordedBlobs periodically instead of buffering the entire recording |
| 9655 | + // in renderer memory. This makes long (>1h) recordings stable and |
| 9656 | + // avoids MediaRecorder auto-stops caused by memory pressure. |
| 9657 | + mediaRecorder.start(1000); |
9654 | 9658 | mediaRecorder.addEventListener('start', handleMediaRecorderStart); |
9655 | 9659 | mediaRecorder.addEventListener('dataavailable', handleMediaRecorderData); |
9656 | 9660 | mediaRecorder.addEventListener('stop', handleMediaRecorderStop); |
@@ -15850,7 +15854,7 @@ function showAbout() { |
15850 | 15854 | Swal.fire({ |
15851 | 15855 | background: swBg, |
15852 | 15856 | position: 'center', |
15853 | | - title: brand.about?.title && brand.about.title.trim() !== '' ? brand.about.title : 'WebRTC P2P v1.8.44', |
| 15857 | + title: brand.about?.title && brand.about.title.trim() !== '' ? brand.about.title : 'WebRTC P2P v1.8.45', |
15854 | 15858 | imageUrl: brand.about?.imageUrl && brand.about.imageUrl.trim() !== '' ? brand.about.imageUrl : images.about, |
15855 | 15859 | customClass: { image: 'img-about' }, |
15856 | 15860 | html: renderRoomTemplate('tpl-about-modal', { |
|
0 commit comments