Skip to content

Commit bac30ef

Browse files
committed
Try mp4
1 parent f587992 commit bac30ef

File tree

5 files changed

+21
-10
lines changed

5 files changed

+21
-10
lines changed

src/Client/Common/Dom.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -97,4 +97,6 @@ export async function subscribe_(registration) {
9797

9898
export function isMediaTypeSupported_(mt) {
9999
return MediaRecorder.isTypeSupported(mt);
100-
}
100+
}
101+
102+

src/Client/Common/Dom.purs

+1-1
Original file line numberDiff line numberDiff line change
@@ -213,5 +213,5 @@ acceptedAudioCodec = do
213213
isIt ← EU.runEffectFn1 isMediaTypeSupported_ appleShit
214214
if isIt then pure appleShit else pure webm
215215
where
216-
appleShit = "audio/aac"
216+
appleShit = "video/mp4;codecs=avc1"
217217
webm = "audio/webm"

src/Client/Im/Record.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ let mediaRecorder,
33
chunks = [];
44

55
function st(options, handler) {
6-
return function(stream) {
6+
return function (stream) {
77
mediaRecorder = new MediaRecorder(stream, options);
88
mediaRecorder.start();
99

@@ -23,7 +23,7 @@ function st(options, handler) {
2323
}
2424

2525
export function start_(constraints, options, handler) {
26-
navigator.mediaDevices.getUserMedia(constraints).then(st(options, handler), e => console.log(e));
26+
navigator.mediaDevices.getUserMedia(constraints).then(st(options, handler), e => alert(e)).catch(a => alert(a));
2727
}
2828

2929
export function stop_() {

src/Server/File.js

+14-5
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,30 @@
11
import imageType from 'image-type';
22

3-
//webm and aac for audio files
3+
//webm and mp4 for audio files
44
function webm(buffer) {
55
return buffer[0] === 26 &&
66
buffer[1] === 69 &&
77
buffer[2] === 223 &&
88
buffer[3] === 163 ? 'webm' : '';
99
}
1010

11-
function aac(buffer) {
12-
console.log(buffer[0], buffer[1]);
13-
return buffer[0] === 255 && (buffer[1] === 241 || buffer[1] === 249) ? 'aac' : '';
11+
//apple shit
12+
function mp4(buffer) {
13+
console.log(buffer[0], buffer[1], buffer[2], buffer[3], buffer[4], buffer[5], buffer[6], buffer[7], buffer[8]);
14+
return buffer[0] === 102 &&
15+
buffer[1] === 116 &&
16+
buffer[2] === 121 &&
17+
buffer[3] === 112 &&
18+
buffer[4] === 112 &&
19+
(buffer[5] === 105 || buffer[5] === 77) &&
20+
(buffer[6] === 115 || buffer[6] === 83) &&
21+
(buffer[7] === 111 || buffer[7] === 78) &&
22+
(buffer[8] === 109 || buffer[8] === 86) ? 'mp4' : '';
1423
}
1524

1625
export function realFileExtension_(buffer) {
1726
return async function () {
1827
let r = await imageType(buffer);
19-
return r.ext || webm(buffer) || aac(buffer) || '';
28+
return r.ext || webm(buffer) || mp4(buffer) || '';
2029
}
2130
}

src/Shared/Resource.purs

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import Data.Set as DS
1212
import Environment (production)
1313

1414
allowedMediaTypes HashMap String String
15-
allowedMediaTypes = DH.fromFoldable <<< DA.zip [ "data:image/png;base64", "data:image/jpeg;base64", "data:image/tiff;base64", "data:image/bmp;base64", "data:image/gif;base64", "data:audio/webm;base64" ] $ DS.toUnfoldable allowedExtensions
15+
allowedMediaTypes = DH.fromFoldable <<< DA.zip [ "data:image/png;base64", "data:image/jpeg;base64", "data:image/tiff;base64", "data:image/bmp;base64", "data:image/gif;base64", "data:audio/webm;base64", "data:video/mp4;base64" ] $ DS.toUnfoldable allowedExtensions
1616

1717
allowedExtensions Set String
1818
allowedExtensions = DS.fromFoldable [ ".png", ".jpg", ".tiff", ".bmp", ".gif", ".webm" ]

0 commit comments

Comments
 (0)