|
@@ -80,10 +80,11 @@ function fetchfrom(reader, seqNo, segment, cb) {
|
|
|
stream.on('end', onfail);
|
|
stream.on('end', onfail);
|
|
|
stream.on('error', onfail);
|
|
stream.on('error', onfail);
|
|
|
|
|
|
|
|
- function cleanup() {
|
|
|
|
|
|
|
+ function finish(err, res) {
|
|
|
stream.removeListener('meta', onmeta);
|
|
stream.removeListener('meta', onmeta);
|
|
|
stream.removeListener('end', onfail);
|
|
stream.removeListener('end', onfail);
|
|
|
stream.removeListener('error', onfail);
|
|
stream.removeListener('error', onfail);
|
|
|
|
|
+ cb(err, res);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function onmeta(meta) {
|
|
function onmeta(meta) {
|
|
@@ -96,15 +97,12 @@ function fetchfrom(reader, seqNo, segment, cb) {
|
|
|
return stream.emit(new Error('Unsupported segment MIME type: '+meta.mime));
|
|
return stream.emit(new Error('Unsupported segment MIME type: '+meta.mime));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- cleanup();
|
|
|
|
|
- cb(null, new HlsSegmentObject(seqNo, segment, meta, stream));
|
|
|
|
|
|
|
+ finish(null, new HlsSegmentObject(seqNo, segment, meta, stream));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function onfail(err) {
|
|
function onfail(err) {
|
|
|
if (!err) err = new Error('No metadata');
|
|
if (!err) err = new Error('No metadata');
|
|
|
-
|
|
|
|
|
- cleanup();
|
|
|
|
|
- cb(err)
|
|
|
|
|
|
|
+ finish(err);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return stream;
|
|
return stream;
|