Skip to content

Commit

Permalink
v17.2.0
Browse files Browse the repository at this point in the history
- Fixed the playback status on HLS streams, in some cases UI was showing as paused while loading when opening a stream on PC.
- The TCP Fast Open option is now disabled by default for higher compatibility, it can be re-enabled in Options > Advanced > Connectivity.
- P2P functionality has been removed, usage has been low and we decided to remove it to simplify app loading and avoid generating extra network usage. It was also causing error on outdated webviews on Android.
- Private list stream URLs are now replaced with dummy URLs before being sent to the statistics server.
- The section with GPU control options has been moved to Options > Advanced > Playback.
- Minor improvements and bugfixes.
  • Loading branch information
EdenwareApps committed Sep 5, 2023
1 parent dade0cb commit 2152b5c
Show file tree
Hide file tree
Showing 53 changed files with 337 additions and 39,760 deletions.
12 changes: 0 additions & 12 deletions .babelrc

This file was deleted.

15 changes: 15 additions & 0 deletions .babelrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
module.exports = {
presets: [
[
"@babel/preset-env",
{
targets: {
chrome: "41"
}
}
]
],
plugins: [
"@babel/plugin-transform-object-rest-spread"
]
};
2 changes: 1 addition & 1 deletion config.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='utf-8'?>
<widget android-versionCode="403" id="tv.megacubo.app" version="17.1.9" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<widget android-versionCode="405" id="tv.megacubo.app" version="17.2.0" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>Megacubo</name>
<description>
An intuitive, free and open source IPTV player.
Expand Down
5 changes: 4 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "tv.megacubo.app",
"displayName": "Megacubo",
"version": "17.1.9",
"version": "17.2.0",
"description": "A intuitive and multi-language IPTV player.",
"main": "index.js",
"scripts": {
Expand Down Expand Up @@ -65,6 +65,9 @@
"platforms": []
},
"devDependencies": {
"@babel/cli": "^7.22.10",
"@babel/core": "^7.22.11",
"@babel/plugin-transform-object-rest-spread": "^7.22.11",
"community-cordova-plugin-filepath": "github:EYALIN/community-cordova-plugin-filepath",
"cordova-android": "^10.1.2",
"cordova-androidx-build": "^1.0.4",
Expand Down
4 changes: 2 additions & 2 deletions www/nodejs-project/assets/css/index.css
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,7 @@ body.video.idle {
#main {
width: 100%;
height: 100%;
display: flex;
align-items: baseline;
display: flex;
justify-content: center;
background-color: transparent;
}
Expand Down Expand Up @@ -1081,6 +1080,7 @@ div#modal {
position: fixed;
width: 100vw;
height: 100vh;
left: 0;
z-index: 9;
background: var(--modal-background-color);
}
Expand Down
19 changes: 1 addition & 18 deletions www/nodejs-project/assets/js/app/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -214,24 +214,7 @@ function initApp(){
})
app.on('background-mode-unlock', name => {
if(parent.player && parent.winman) parent.winman && parent.winman.backgroundModeUnlock(name)
})
let initP2PDetails, initializedP2P, initP2P = () => {
if(!initP2PDetails || !config || initializedP2P || !config['p2p']) return
initializedP2P = true
loadJSOnIdle('./modules/download/discovery-swarm-webrtc-bundle.js', () => {
if(typeof(require) == 'function') {
loadJSOnIdle('./modules/download/download-p2p-client.js', () => {
const {addr, limit, stunServers} = initP2PDetails
window.p2p = new P2PManager(app, addr, limit, stunServers)
})
}
})
}
app.on('init-p2p', (addr, limit, stunServers) => {
initP2PDetails = {addr, limit, stunServers}
initP2P()
})
app.emit('download-p2p-init');
});
$(() => {
console.log('load app')

Expand Down
5 changes: 2 additions & 3 deletions www/nodejs-project/assets/js/app/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@ function log(msg, id){

function isES6(){
try{
new Function('() => { const a = 1 }');
new Function('class ES6Test { constructor() { const a = 1 } }; return new ES6Test()');
return true;
} catch(exception) {
return false;
}
}

function updateWebView(){
var msg;
var msg, playStoreUrl = 'market://details?id=com.google.android.webview';
switch(navigator.language.substr(0, 2)){
case 'pt':
msg = 'Oops, voce precisa atualizar o WebView de seu sistema para rodar este aplicativo.';
Expand All @@ -41,7 +41,6 @@ function updateWebView(){
}
log(msg);
alert(msg);
var playStoreUrl = 'market://details?id=com.google.android.webview';
window.open(playStoreUrl, '_system');
setTimeout(() => parent.close(), 5000);
}
Expand Down
4 changes: 2 additions & 2 deletions www/nodejs-project/assets/js/app/video.js
Original file line number Diff line number Diff line change
Expand Up @@ -425,11 +425,9 @@ class VideoControlAdapterHTML5 extends VideoControlAdapter {
this.emit('subtitleTracks', this.subtitleTracks())
});
v.on('waiting', () => {
this.isPlaying = false
this.setState('loading')
})
v.on('playing', () => {
this.isPlaying = true
this.setState('playing')
});
['abort', 'canplay', 'canplaythrough', 'durationchange', 'emptied', 'ended', 'error', 'loadeddata', 'loadedmetadata', 'loadstart', 'pause', 'play', 'seeked', 'stalled', 'suspend'].forEach(n => {
Expand Down Expand Up @@ -466,6 +464,7 @@ class VideoControlAdapterHTML5 extends VideoControlAdapter {
this.object.src = src
this.connect()
this.object.load()
this._paused = false
this.setState('loading')
this.suspendStateChangeReporting = false
this.resume()
Expand All @@ -479,6 +478,7 @@ class VideoControlAdapterHTML5 extends VideoControlAdapter {
this.disconnect()
if(this.object.currentSrc) {
this.pause()
this._paused = false
if(!silent) {
this.object.innerHTML = '<source type="video/mp4" src="" />'
this.object.removeAttribute('src')
Expand Down
Loading

0 comments on commit 2152b5c

Please sign in to comment.