App-MHFS
view release on metacpan or search on metacpan
lib/App/MHFS.pm view on Meta::CPAN
package MHFS::BitTorrent::Metainfo {
use strict;
use warnings;
use feature 'say';
use Digest::SHA qw(sha1);
MHFS::BitTorrent::Bencoding->import();
use Data::Dumper;
sub Parse {
my ($srcdata) = @_;
my $tree = bdecode($srcdata, 0);
return undef if(! $tree);
return MHFS::BitTorrent::Metainfo->_new($tree->[0]);
}
sub mktor {
my ($evp, $params, $cb) = @_;
my $process;
my @cmd = ('mktor', @$params);
$process = MHFS::Process->new_output_process($evp, \@cmd, sub {
my ($output, $error) = @_;
share/public_html/static/hls.js view on Meta::CPAN
if (group.id === mediaGroupId) {
matchingGroup = group;
}
}
return matchingGroup;
};
M3U8Parser.convertAVC1ToAVCOTI = function convertAVC1ToAVCOTI(codec) {
var result = void 0,
avcdata = codec.split('.');
if (avcdata.length > 2) {
result = avcdata.shift() + '.';
result += parseInt(avcdata.shift()).toString(16);
result += ('000' + parseInt(avcdata.shift()).toString(16)).substr(-4);
} else {
result = codec;
}
return result;
};
M3U8Parser.resolve = function resolve(url, baseUrl) {
return url_toolkit_default.a.buildAbsoluteURL(baseUrl, url, { alwaysNormalize: true });
};
share/public_html/static/hls.js view on Meta::CPAN
this._parseVTTs(frag, decryptedData);
}
};
TimelineController.prototype.onFragParsingUserdata = function onFragParsingUserdata(data) {
// push all of the CEA-708 messages into the interpreter
// immediately. It will create the proper timestamps based on our PTS value
if (this.enabled && this.config.enableCEA708Captions) {
for (var i = 0; i < data.samples.length; i++) {
var ccdatas = this.extractCea608Data(data.samples[i].bytes);
this.cea608Parser.addData(data.samples[i].pts, ccdatas);
}
}
};
TimelineController.prototype.extractCea608Data = function extractCea608Data(byteArray) {
var count = byteArray[0] & 31;
var position = 2;
var tmpByte = void 0,
ccbyte1 = void 0,
ccbyte2 = void 0,
share/public_html/static/music_worklet_inprogress/player/mhfsplayer.js view on Meta::CPAN
// wait for there to be space
while(that.decoderdatawriter.getspace() < that.ac.sampleRate) {
if(!(await abortablesleep_status(250, mysignal)))
{
break TRACKLOOP;
}
}
// decode
let decdata;
try {
decdata = await decoder.read_pcm_frames_f32_arrs(todec, mysignal);
pbtrack.startedLoading = undefined;
if(!decdata) break SAMPLELOOP;
}
catch(error) {
console.error(error);
if(mysignal.aborted) {
break TRACKLOOP;
}
await decoder.closeCurrentTrack();
break SAMPLELOOP;
}
// We better not modify the AQ if we're cancelled
if(mysignal.aborted) break TRACKLOOP;
pbtrack.sampleCount += decdata.length;
that.decoderdatawriter.write(decdata.chanData);
// break out at end
if(decdata.length < todec) {
break SAMPLELOOP;
}
}
pbtrack.donedecode = 1;
pbtrack.queued = (pbtrack.sampleCount === 0);
}
decoder.flush();
unlock();
that.QState = that.STATES.NEED_FAQ;
}
( run in 0.345 second using v1.01-cache-2.11-cpan-454fe037f31 )