diff --git a/README.md b/README.md
index 5c899cc5..48d85380 100644
--- a/README.md
+++ b/README.md
@@ -24,6 +24,7 @@
- [@nstudio/nativescript-plaid](packages/nativescript-plaid/README.md)
- [@nstudio/nativescript-qr](packages/nativescript-qr/README.md)
- [@nstudio/nativescript-tracking-transparency](packages/nativescript-tracking-transparency/README.md)
+- [@nstudio/nativescript-vlc-player](packages/nativescript-vlc-player/README.md)
- [@nstudio/nativescript-walletconnect](packages/nativescript-walletconnect/README.md)
- [@nstudio/nativescript-web-server](packages/nativescript-web-server/README.md)
diff --git a/apps/demo-angular/package.json b/apps/demo-angular/package.json
index f90e020d..857a18ef 100644
--- a/apps/demo-angular/package.json
+++ b/apps/demo-angular/package.json
@@ -2,7 +2,7 @@
"main": "./src/main.ts",
"dependencies": {
"@nativescript/core": "file:../../node_modules/@nativescript/core",
- "@nstudio/nativescript-loading-indicator": "file:../../dist/packages/nativescript-loading-indicator",
+ "@nstudio/nativescript-vlc-player": "file:../../dist/packages/nativescript-vlc-player",
"@nstudio/nativescript-airship": "file:../../dist/packages/nativescript-airship",
"@nstudio/nativescript-airship-adm": "file:../../dist/packages/nativescript-airship-adm",
"@nstudio/nativescript-airship-fcm": "file:../../dist/packages/nativescript-airship-fcm",
@@ -23,6 +23,7 @@
"@nstudio/nativescript-freshchat": "file:../../dist/packages/nativescript-freshchat",
"@nstudio/nativescript-input-mask": "file:../../dist/packages/nativescript-input-mask",
"@nstudio/nativescript-intercom": "file:../../dist/packages/nativescript-intercom",
+ "@nstudio/nativescript-loading-indicator": "file:../../dist/packages/nativescript-loading-indicator",
"@nstudio/nativescript-onfido": "file:../../dist/packages/nativescript-onfido",
"@nstudio/nativescript-persona": "file:../../dist/packages/nativescript-persona",
"@nstudio/nativescript-plaid": "file:../../dist/packages/nativescript-plaid",
diff --git a/apps/demo-angular/src/app-routing.module.ts b/apps/demo-angular/src/app-routing.module.ts
index c6bd5f41..44ce4f57 100644
--- a/apps/demo-angular/src/app-routing.module.ts
+++ b/apps/demo-angular/src/app-routing.module.ts
@@ -4,36 +4,37 @@ import { NativeScriptRouterModule } from '@nativescript/angular';
import { HomeComponent } from './home.component';
const routes: Routes = [
- { path: '', redirectTo: '/home', pathMatch: 'full' },
- { path: 'home', component: HomeComponent },
- { path: 'nativescript-airship', loadChildren: () => import('./plugin-demos/nativescript-airship.module').then(m => m.NativescriptAirshipModule) },
- { path: 'nativescript-airship-adm', loadChildren: () => import('./plugin-demos/nativescript-airship-adm.module').then(m => m.NativescriptAirshipAdmModule) },
- { path: 'nativescript-airship-fcm', loadChildren: () => import('./plugin-demos/nativescript-airship-fcm.module').then(m => m.NativescriptAirshipFcmModule) },
- { path: 'nativescript-airship-hms', loadChildren: () => import('./plugin-demos/nativescript-airship-hms.module').then(m => m.NativescriptAirshipHmsModule) },
- { path: 'nativescript-appcues', loadChildren: () => import('./plugin-demos/nativescript-appcues.module').then(m => m.NativescriptAppcuesModule) },
- { path: 'nativescript-aptabase', loadChildren: () => import('./plugin-demos/nativescript-aptabase.module').then(m => m.NativescriptAptabaseModule) },
- { path: 'nativescript-barcodescanner', loadChildren: () => import('./plugin-demos/nativescript-barcodescanner.module').then(m => m.NativescriptBarcodescannerModule) },
- { path: 'nativescript-blur', loadChildren: () => import('./plugin-demos/nativescript-blur.module').then(m => m.NativescriptBlurModule) },
- { path: 'nativescript-camera-plus', loadChildren: () => import('./plugin-demos/nativescript-camera-plus.module').then(m => m.NativescriptCameraPlusModule) },
- { path: 'nativescript-cardview', loadChildren: () => import('./plugin-demos/nativescript-cardview.module').then(m => m.NativescriptCardviewModule) },
- { path: 'nativescript-carousel', loadChildren: () => import('./plugin-demos/nativescript-carousel.module').then(m => m.NativescriptCarouselModule) },
- { path: 'nativescript-checkbox', loadChildren: () => import('./plugin-demos/nativescript-checkbox.module').then(m => m.NativescriptCheckboxModule) },
- { path: 'nativescript-dynatrace', loadChildren: () => import('./plugin-demos/nativescript-dynatrace.module').then(m => m.NativescriptDynatraceModule) },
- { path: 'nativescript-embrace', loadChildren: () => import('./plugin-demos/nativescript-embrace.module').then(m => m.NativescriptEmbraceModule) },
- { path: 'nativescript-exoplayer', loadChildren: () => import('./plugin-demos/nativescript-exoplayer.module').then(m => m.NativescriptExoplayerModule) },
- { path: 'nativescript-fancyalert', loadChildren: () => import('./plugin-demos/nativescript-fancyalert.module').then(m => m.NativescriptFancyalertModule) },
- { path: 'nativescript-filterable-listpicker', loadChildren: () => import('./plugin-demos/nativescript-filterable-listpicker.module').then(m => m.NativescriptFilterableListpickerModule) },
- { path: 'nativescript-freshchat', loadChildren: () => import('./plugin-demos/nativescript-freshchat.module').then(m => m.NativescriptFreshchatModule) },
- { path: 'nativescript-input-mask', loadChildren: () => import('./plugin-demos/nativescript-input-mask.module').then(m => m.NativescriptInputMaskModule) },
- { path: 'nativescript-intercom', loadChildren: () => import('./plugin-demos/nativescript-intercom.module').then(m => m.NativescriptIntercomModule) },
- { path: 'nativescript-loading-indicator', loadChildren: () => import('./plugin-demos/nativescript-loading-indicator.module').then(m => m.NativescriptLoadingIndicatorModule) },
- { path: 'nativescript-onfido', loadChildren: () => import('./plugin-demos/nativescript-onfido.module').then(m => m.NativescriptOnfidoModule) },
- { path: 'nativescript-persona', loadChildren: () => import('./plugin-demos/nativescript-persona.module').then(m => m.NativescriptPersonaModule) },
- { path: 'nativescript-plaid', loadChildren: () => import('./plugin-demos/nativescript-plaid.module').then(m => m.NativescriptPlaidModule) },
- { path: 'nativescript-qr', loadChildren: () => import('./plugin-demos/nativescript-qr.module').then(m => m.NativescriptQrModule) },
- { path: 'nativescript-tracking-transparency', loadChildren: () => import('./plugin-demos/nativescript-tracking-transparency.module').then(m => m.NativescriptTrackingTransparencyModule) },
- { path: 'nativescript-walletconnect', loadChildren: () => import('./plugin-demos/nativescript-walletconnect.module').then(m => m.NativescriptWalletconnectModule) },
- { path: 'nativescript-web-server', loadChildren: () => import('./plugin-demos/nativescript-web-server.module').then(m => m.NativescriptWebServerModule) }
+ { path: '', redirectTo: '/home', pathMatch: 'full' },
+ { path: 'home', component: HomeComponent },
+ { path: 'nativescript-airship', loadChildren: () => import('./plugin-demos/nativescript-airship.module').then((m) => m.NativescriptAirshipModule) },
+ { path: 'nativescript-airship-adm', loadChildren: () => import('./plugin-demos/nativescript-airship-adm.module').then((m) => m.NativescriptAirshipAdmModule) },
+ { path: 'nativescript-airship-fcm', loadChildren: () => import('./plugin-demos/nativescript-airship-fcm.module').then((m) => m.NativescriptAirshipFcmModule) },
+ { path: 'nativescript-airship-hms', loadChildren: () => import('./plugin-demos/nativescript-airship-hms.module').then((m) => m.NativescriptAirshipHmsModule) },
+ { path: 'nativescript-appcues', loadChildren: () => import('./plugin-demos/nativescript-appcues.module').then((m) => m.NativescriptAppcuesModule) },
+ { path: 'nativescript-aptabase', loadChildren: () => import('./plugin-demos/nativescript-aptabase.module').then((m) => m.NativescriptAptabaseModule) },
+ { path: 'nativescript-barcodescanner', loadChildren: () => import('./plugin-demos/nativescript-barcodescanner.module').then((m) => m.NativescriptBarcodescannerModule) },
+ { path: 'nativescript-blur', loadChildren: () => import('./plugin-demos/nativescript-blur.module').then((m) => m.NativescriptBlurModule) },
+ { path: 'nativescript-camera-plus', loadChildren: () => import('./plugin-demos/nativescript-camera-plus.module').then((m) => m.NativescriptCameraPlusModule) },
+ { path: 'nativescript-cardview', loadChildren: () => import('./plugin-demos/nativescript-cardview.module').then((m) => m.NativescriptCardviewModule) },
+ { path: 'nativescript-carousel', loadChildren: () => import('./plugin-demos/nativescript-carousel.module').then((m) => m.NativescriptCarouselModule) },
+ { path: 'nativescript-checkbox', loadChildren: () => import('./plugin-demos/nativescript-checkbox.module').then((m) => m.NativescriptCheckboxModule) },
+ { path: 'nativescript-dynatrace', loadChildren: () => import('./plugin-demos/nativescript-dynatrace.module').then((m) => m.NativescriptDynatraceModule) },
+ { path: 'nativescript-embrace', loadChildren: () => import('./plugin-demos/nativescript-embrace.module').then((m) => m.NativescriptEmbraceModule) },
+ { path: 'nativescript-exoplayer', loadChildren: () => import('./plugin-demos/nativescript-exoplayer.module').then((m) => m.NativescriptExoplayerModule) },
+ { path: 'nativescript-fancyalert', loadChildren: () => import('./plugin-demos/nativescript-fancyalert.module').then((m) => m.NativescriptFancyalertModule) },
+ { path: 'nativescript-filterable-listpicker', loadChildren: () => import('./plugin-demos/nativescript-filterable-listpicker.module').then((m) => m.NativescriptFilterableListpickerModule) },
+ { path: 'nativescript-freshchat', loadChildren: () => import('./plugin-demos/nativescript-freshchat.module').then((m) => m.NativescriptFreshchatModule) },
+ { path: 'nativescript-input-mask', loadChildren: () => import('./plugin-demos/nativescript-input-mask.module').then((m) => m.NativescriptInputMaskModule) },
+ { path: 'nativescript-intercom', loadChildren: () => import('./plugin-demos/nativescript-intercom.module').then((m) => m.NativescriptIntercomModule) },
+ { path: 'nativescript-loading-indicator', loadChildren: () => import('./plugin-demos/nativescript-loading-indicator.module').then((m) => m.NativescriptLoadingIndicatorModule) },
+ { path: 'nativescript-onfido', loadChildren: () => import('./plugin-demos/nativescript-onfido.module').then((m) => m.NativescriptOnfidoModule) },
+ { path: 'nativescript-persona', loadChildren: () => import('./plugin-demos/nativescript-persona.module').then((m) => m.NativescriptPersonaModule) },
+ { path: 'nativescript-plaid', loadChildren: () => import('./plugin-demos/nativescript-plaid.module').then((m) => m.NativescriptPlaidModule) },
+ { path: 'nativescript-qr', loadChildren: () => import('./plugin-demos/nativescript-qr.module').then((m) => m.NativescriptQrModule) },
+ { path: 'nativescript-tracking-transparency', loadChildren: () => import('./plugin-demos/nativescript-tracking-transparency.module').then((m) => m.NativescriptTrackingTransparencyModule) },
+ { path: 'nativescript-vlc-player', loadChildren: () => import('./plugin-demos/nativescript-vlc-player.module').then((m) => m.NativescriptVlcPlayerModule) },
+ { path: 'nativescript-walletconnect', loadChildren: () => import('./plugin-demos/nativescript-walletconnect.module').then((m) => m.NativescriptWalletconnectModule) },
+ { path: 'nativescript-web-server', loadChildren: () => import('./plugin-demos/nativescript-web-server.module').then((m) => m.NativescriptWebServerModule) },
];
@NgModule({
diff --git a/apps/demo-angular/src/home.component.ts b/apps/demo-angular/src/home.component.ts
index 0ca7b493..cff46ad5 100644
--- a/apps/demo-angular/src/home.component.ts
+++ b/apps/demo-angular/src/home.component.ts
@@ -6,89 +6,92 @@ import { Component } from '@angular/core';
})
export class HomeComponent {
demos = [
- {
- name: 'nativescript-airship'
- },
- {
- name: 'nativescript-airship-adm'
- },
- {
- name: 'nativescript-airship-fcm'
- },
- {
- name: 'nativescript-airship-hms'
- },
- {
- name: 'nativescript-appcues'
- },
- {
- name: 'nativescript-aptabase'
- },
- {
- name: 'nativescript-barcodescanner'
- },
- {
- name: 'nativescript-blur'
- },
- {
- name: 'nativescript-camera-plus'
- },
- {
- name: 'nativescript-cardview'
- },
- {
- name: 'nativescript-carousel'
- },
- {
- name: 'nativescript-checkbox'
- },
- {
- name: 'nativescript-dynatrace'
- },
- {
- name: 'nativescript-embrace'
- },
- {
- name: 'nativescript-exoplayer'
- },
- {
- name: 'nativescript-fancyalert'
- },
- {
- name: 'nativescript-filterable-listpicker'
- },
- {
- name: 'nativescript-freshchat'
- },
- {
- name: 'nativescript-input-mask'
- },
- {
- name: 'nativescript-intercom'
- },
- {
- name: 'nativescript-loading-indicator'
- },
- {
- name: 'nativescript-onfido'
- },
- {
- name: 'nativescript-persona'
- },
- {
- name: 'nativescript-plaid'
- },
- {
- name: 'nativescript-qr'
- },
- {
- name: 'nativescript-tracking-transparency'
- },
- {
- name: 'nativescript-walletconnect'
- },
- {
- name: 'nativescript-web-server'
- }
-];
-}
\ No newline at end of file
+ {
+ name: 'nativescript-airship',
+ },
+ {
+ name: 'nativescript-airship-adm',
+ },
+ {
+ name: 'nativescript-airship-fcm',
+ },
+ {
+ name: 'nativescript-airship-hms',
+ },
+ {
+ name: 'nativescript-appcues',
+ },
+ {
+ name: 'nativescript-aptabase',
+ },
+ {
+ name: 'nativescript-barcodescanner',
+ },
+ {
+ name: 'nativescript-blur',
+ },
+ {
+ name: 'nativescript-camera-plus',
+ },
+ {
+ name: 'nativescript-cardview',
+ },
+ {
+ name: 'nativescript-carousel',
+ },
+ {
+ name: 'nativescript-checkbox',
+ },
+ {
+ name: 'nativescript-dynatrace',
+ },
+ {
+ name: 'nativescript-embrace',
+ },
+ {
+ name: 'nativescript-exoplayer',
+ },
+ {
+ name: 'nativescript-fancyalert',
+ },
+ {
+ name: 'nativescript-filterable-listpicker',
+ },
+ {
+ name: 'nativescript-freshchat',
+ },
+ {
+ name: 'nativescript-input-mask',
+ },
+ {
+ name: 'nativescript-intercom',
+ },
+ {
+ name: 'nativescript-loading-indicator',
+ },
+ {
+ name: 'nativescript-onfido',
+ },
+ {
+ name: 'nativescript-persona',
+ },
+ {
+ name: 'nativescript-plaid',
+ },
+ {
+ name: 'nativescript-qr',
+ },
+ {
+ name: 'nativescript-tracking-transparency',
+ },
+ {
+ name: 'nativescript-vlc-player',
+ },
+ {
+ name: 'nativescript-walletconnect',
+ },
+ {
+ name: 'nativescript-web-server',
+ },
+ ];
+}
diff --git a/apps/demo-angular/src/plugin-demos/nativescript-vlc-player.component.html b/apps/demo-angular/src/plugin-demos/nativescript-vlc-player.component.html
new file mode 100644
index 00000000..a555f216
--- /dev/null
+++ b/apps/demo-angular/src/plugin-demos/nativescript-vlc-player.component.html
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/apps/demo-angular/src/plugin-demos/nativescript-vlc-player.component.ts b/apps/demo-angular/src/plugin-demos/nativescript-vlc-player.component.ts
new file mode 100644
index 00000000..452bd300
--- /dev/null
+++ b/apps/demo-angular/src/plugin-demos/nativescript-vlc-player.component.ts
@@ -0,0 +1,17 @@
+import { Component, NgZone } from '@angular/core';
+import { DemoSharedNativescriptVlcPlayer } from '@demo/shared';
+import {} from '@nstudio/nativescript-vlc-player';
+
+@Component({
+ selector: 'demo-nativescript-vlc-player',
+ templateUrl: 'nativescript-vlc-player.component.html',
+})
+export class NativescriptVlcPlayerComponent {
+ demoShared: DemoSharedNativescriptVlcPlayer;
+
+ constructor(private _ngZone: NgZone) {}
+
+ ngOnInit() {
+ this.demoShared = new DemoSharedNativescriptVlcPlayer();
+ }
+}
diff --git a/apps/demo-angular/src/plugin-demos/nativescript-vlc-player.module.ts b/apps/demo-angular/src/plugin-demos/nativescript-vlc-player.module.ts
new file mode 100644
index 00000000..32df13ce
--- /dev/null
+++ b/apps/demo-angular/src/plugin-demos/nativescript-vlc-player.module.ts
@@ -0,0 +1,10 @@
+import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
+import { NativeScriptCommonModule, NativeScriptRouterModule } from '@nativescript/angular';
+import { NativescriptVlcPlayerComponent } from './nativescript-vlc-player.component';
+
+@NgModule({
+ imports: [NativeScriptCommonModule, NativeScriptRouterModule.forChild([{ path: '', component: NativescriptVlcPlayerComponent }])],
+ declarations: [NativescriptVlcPlayerComponent],
+ schemas: [NO_ERRORS_SCHEMA],
+})
+export class NativescriptVlcPlayerModule {}
diff --git a/apps/demo-angular/tsconfig.json b/apps/demo-angular/tsconfig.json
index a87eb737..f24b871a 100644
--- a/apps/demo-angular/tsconfig.json
+++ b/apps/demo-angular/tsconfig.json
@@ -34,7 +34,8 @@
"@nstudio/nativescript-freshchat": ["../../packages/nativescript-freshchat/index.d.ts"],
"@nstudio/nativescript-persona": ["../../packages/nativescript-persona/index.d.ts"],
"@nstudio/nativescript-walletconnect": ["../../packages/nativescript-walletconnect/index.d.ts"],
- "@nstudio/nativescript-web-server": ["../../packages/nativescript-web-server/index.d.ts"]
+ "@nstudio/nativescript-web-server": ["../../packages/nativescript-web-server/index.d.ts"],
+ "@nstudio/nativescript-vlc-player": ["../../packages/nativescript-vlc-player/index.d.ts"]
}
},
"files": ["./references.d.ts", "./src/main.ts", "./src/polyfills.ts"],
diff --git a/apps/demo/package.json b/apps/demo/package.json
index 5d503a85..42fed1a7 100644
--- a/apps/demo/package.json
+++ b/apps/demo/package.json
@@ -3,7 +3,7 @@
"description": "NativeScript Application",
"dependencies": {
"@nativescript/core": "file:../../node_modules/@nativescript/core",
- "@nstudio/nativescript-loading-indicator": "file:../../packages/nativescript-loading-indicator",
+ "@nstudio/nativescript-vlc-player": "file:../../packages/nativescript-vlc-player",
"@nstudio/nativescript-airship": "file:../../packages/nativescript-airship",
"@nstudio/nativescript-airship-adm": "file:../../packages/nativescript-airship-adm",
"@nstudio/nativescript-airship-fcm": "file:../../packages/nativescript-airship-fcm",
@@ -24,6 +24,7 @@
"@nstudio/nativescript-freshchat": "file:../../packages/nativescript-freshchat",
"@nstudio/nativescript-input-mask": "file:../../packages/nativescript-input-mask",
"@nstudio/nativescript-intercom": "file:../../packages/nativescript-intercom",
+ "@nstudio/nativescript-loading-indicator": "file:../../packages/nativescript-loading-indicator",
"@nstudio/nativescript-onfido": "file:../../packages/nativescript-onfido",
"@nstudio/nativescript-persona": "file:../../packages/nativescript-persona",
"@nstudio/nativescript-plaid": "file:../../packages/nativescript-plaid",
diff --git a/apps/demo/src/main-page.xml b/apps/demo/src/main-page.xml
index 93e68642..e07d59c2 100644
--- a/apps/demo/src/main-page.xml
+++ b/apps/demo/src/main-page.xml
@@ -31,6 +31,7 @@
+
diff --git a/apps/demo/src/plugin-demos/nativescript-vlc-player.ts b/apps/demo/src/plugin-demos/nativescript-vlc-player.ts
new file mode 100644
index 00000000..d6a5adf8
--- /dev/null
+++ b/apps/demo/src/plugin-demos/nativescript-vlc-player.ts
@@ -0,0 +1,22 @@
+import { Observable, EventData, Page } from '@nativescript/core';
+import { DemoSharedNativescriptVlcPlayer } from '@demo/shared';
+import { VLCPlayer } from '@nstudio/nativescript-vlc-player';
+
+export function navigatingTo(args: EventData) {
+ const page = args.object;
+ page.bindingContext = new DemoModel();
+}
+
+export class DemoModel extends DemoSharedNativescriptVlcPlayer {
+ video: VLCPlayer;
+ loaded(args) {
+ this.video = args.object;
+ }
+ play() {
+ this.video.play();
+ }
+
+ pause() {
+ this.video.pause();
+ }
+}
diff --git a/apps/demo/src/plugin-demos/nativescript-vlc-player.xml b/apps/demo/src/plugin-demos/nativescript-vlc-player.xml
new file mode 100644
index 00000000..7da1211a
--- /dev/null
+++ b/apps/demo/src/plugin-demos/nativescript-vlc-player.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/demo/tsconfig.json b/apps/demo/tsconfig.json
index 4d424a40..6a29f9d3 100644
--- a/apps/demo/tsconfig.json
+++ b/apps/demo/tsconfig.json
@@ -36,7 +36,8 @@
"@nstudio/nativescript-freshchat": ["../../packages/nativescript-freshchat/index.d.ts"],
"@nstudio/nativescript-persona": ["../../packages/nativescript-persona/index.d.ts"],
"@nstudio/nativescript-walletconnect": ["../../packages/nativescript-walletconnect/index.d.ts"],
- "@nstudio/nativescript-web-server": ["../../packages/nativescript-web-server/index.d.ts"]
+ "@nstudio/nativescript-web-server": ["../../packages/nativescript-web-server/index.d.ts"],
+ "@nstudio/nativescript-vlc-player": ["../../packages/nativescript-vlc-player/index.d.ts"]
}
}
}
diff --git a/package.json b/package.json
index ad55aecd..091a7212 100644
--- a/package.json
+++ b/package.json
@@ -29,7 +29,7 @@
"@nativescript-community/perms": "~2.3.0",
"@nativescript/angular": "^19.0.0",
"@nativescript/core": "~8.8.0",
- "@nativescript/plugin-tools": "5.5.0",
+ "@nativescript/plugin-tools": "5.5.1",
"@nativescript/types": "~8.8.0",
"@nativescript/webpack": "~5.0.5",
"@ngtools/webpack": "^19.0.0",
diff --git a/packages/nativescript-airship/index.android.ts b/packages/nativescript-airship/index.android.ts
index 7b27b2ef..3b6e26eb 100644
--- a/packages/nativescript-airship/index.android.ts
+++ b/packages/nativescript-airship/index.android.ts
@@ -364,8 +364,8 @@ export class Airship implements IAirship {
const cb = () => {
if (config) {
if (onReady) {
- // @ts-ignore
com.urbanairship.UAirship.takeOff(
+ // @ts-ignore
Utils.android.getApplicationContext(),
config._native.build(),
new com.urbanairship.UAirship.OnReadyCallback({
@@ -381,8 +381,8 @@ export class Airship implements IAirship {
}
} else {
if (onReady) {
- // @ts-ignore
com.urbanairship.UAirship.takeOff(
+ // @ts-ignore
Utils.android.getApplicationContext(),
AirshipConfig.defaultConfig()._native.build(),
new com.urbanairship.UAirship.OnReadyCallback({
diff --git a/packages/nativescript-vlc-player/.eslintrc.json b/packages/nativescript-vlc-player/.eslintrc.json
new file mode 100644
index 00000000..be41074b
--- /dev/null
+++ b/packages/nativescript-vlc-player/.eslintrc.json
@@ -0,0 +1,18 @@
+{
+ "extends": ["../../.eslintrc.json"],
+ "ignorePatterns": ["!**/*", "node_modules/**/*"],
+ "overrides": [
+ {
+ "files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
+ "rules": {}
+ },
+ {
+ "files": ["*.ts", "*.tsx"],
+ "rules": {}
+ },
+ {
+ "files": ["*.js", "*.jsx"],
+ "rules": {}
+ }
+ ]
+}
diff --git a/packages/nativescript-vlc-player/README.md b/packages/nativescript-vlc-player/README.md
new file mode 100644
index 00000000..730a1944
--- /dev/null
+++ b/packages/nativescript-vlc-player/README.md
@@ -0,0 +1,46 @@
+# @nstudio/nativescript-vlc-player
+
+```javascript
+npm install @nstudio/nativescript-vlc-player
+```
+
+## Usage
+
+Register `VLCPlayer` element using any flavor for usage.
+
+```html
+
+```
+
+### API
+
+- `play`: Start playback
+- `pause`: Pause playback
+
+### Example
+
+```html
+
+```
+
+```ts
+import { EventData } from '@nativescript/core';
+import { VLCPlayer } from '@nstudio/nativescript-vlc-player';
+
+let player: VLCPlayer;
+function loaded(args: EventData) {
+ player = args.object as VLCPlayer;
+}
+
+function play() {
+ player.play();
+}
+
+function pause() {
+ player.pause();
+}
+```
+
+## License
+
+Apache License Version 2.0
diff --git a/packages/nativescript-vlc-player/common.ts b/packages/nativescript-vlc-player/common.ts
new file mode 100644
index 00000000..0bf3010c
--- /dev/null
+++ b/packages/nativescript-vlc-player/common.ts
@@ -0,0 +1,29 @@
+import { booleanConverter, Property, View } from '@nativescript/core';
+
+export const srcProperty = new Property({
+ name: 'src',
+});
+
+export const autoPlayProperty = new Property({
+ name: 'autoPlay',
+ valueConverter: booleanConverter,
+});
+
+export enum VLCPlayerEvents {
+ loadStarted = 'loadStarted',
+ loadFinished = 'loadFinished',
+ buffering = 'buffering',
+ opening = 'opening',
+ playing = 'playing',
+ paused = 'paused',
+ ended = 'ended',
+ stopped = 'stopped',
+ error = 'error',
+}
+
+export class VLCPlayerCommon extends View {
+ src: string;
+ autoPlay: boolean;
+ play() {}
+ pause() {}
+}
diff --git a/packages/nativescript-vlc-player/index.android.ts b/packages/nativescript-vlc-player/index.android.ts
new file mode 100644
index 00000000..e7c002e8
--- /dev/null
+++ b/packages/nativescript-vlc-player/index.android.ts
@@ -0,0 +1,68 @@
+import { Utils } from '@nativescript/core';
+import { srcProperty, autoPlayProperty, VLCPlayerCommon, VLCPlayerEvents } from './common';
+
+export class VLCPlayer extends VLCPlayerCommon {
+ player: org.videolan.libvlc.MediaPlayer;
+ private static libVLC_: org.videolan.libvlc.LibVLC;
+ static {
+ const list = new java.util.ArrayList();
+ list.add('--network-caching=50');
+ list.add('--rtsp-tcp');
+
+ this.libVLC_ = new org.videolan.libvlc.LibVLC(Utils.ad.getApplicationContext(), list);
+ }
+ createNativeView(): Object {
+ this.player = new org.videolan.libvlc.MediaPlayer(VLCPlayer.libVLC_);
+ this.player.setEventListener(
+ new org.videolan.libvlc.MediaPlayer.EventListener({
+ onEvent(param0: org.videolan.libvlc.MediaPlayer.Event) {
+ switch (param0.type) {
+ }
+ },
+ })
+ );
+
+ return new android.view.TextureView(this._context);
+ }
+
+ [srcProperty.setNative](value: string) {
+ try {
+ const media = new org.videolan.libvlc.Media(VLCPlayer.libVLC_, android.net.Uri.parse(value));
+
+ const out = this.player.getVLCVout();
+
+ out.setVideoView(this.nativeView as any);
+
+ out.attachViews();
+
+ this.player.setMedia(media);
+
+ if (this.autoPlay) {
+ this.player.play();
+ }
+
+ this.notify({
+ eventName: VLCPlayerEvents.loadStarted,
+ object: this,
+ });
+ } catch (error) {}
+ }
+
+ [autoPlayProperty.setNative](value: boolean) {
+ this.autoPlay = value;
+ }
+
+ play() {
+ if (this.player) {
+ this.player.play();
+ }
+ }
+
+ pause() {
+ if (this.player) {
+ this.player.pause();
+ }
+ }
+}
+
+srcProperty.register(VLCPlayer);
diff --git a/packages/nativescript-vlc-player/index.d.ts b/packages/nativescript-vlc-player/index.d.ts
new file mode 100644
index 00000000..cb694636
--- /dev/null
+++ b/packages/nativescript-vlc-player/index.d.ts
@@ -0,0 +1,5 @@
+import { VLCPlayerCommon } from './common';
+
+export { VLCPlayerEvents } from './common';
+
+export class VLCPlayer extends VLCPlayerCommon {}
diff --git a/packages/nativescript-vlc-player/index.ios.ts b/packages/nativescript-vlc-player/index.ios.ts
new file mode 100644
index 00000000..de6b0905
--- /dev/null
+++ b/packages/nativescript-vlc-player/index.ios.ts
@@ -0,0 +1,128 @@
+import { srcProperty, autoPlayProperty, VLCPlayerCommon, VLCPlayerEvents } from './common';
+
+@NativeClass()
+class VLCMediaPlayerDelegateImpl extends NSObject implements VLCMediaPlayerDelegate {
+ static ObjCProtocols = [VLCMediaPlayerDelegate];
+ owner: WeakRef;
+
+ static initWithOwner(owner: WeakRef) {
+ const delegate = VLCMediaPlayerDelegateImpl.new();
+ delegate.owner = owner;
+ return delegate;
+ }
+ mediaPlayerStateChanged(aNotification: NSNotification): void {
+ console.log('mediaPlayerStateChanged');
+ const owner = this.owner.deref();
+ if (owner) {
+ console.log('state:', owner.player.state);
+ switch (owner.player.state) {
+ case VLCMediaPlayerState.Buffering:
+ owner.notify({
+ eventName: VLCPlayerEvents.buffering,
+ object: owner,
+ });
+ break;
+ case VLCMediaPlayerState.Opening:
+ owner.notify({
+ eventName: VLCPlayerEvents.opening,
+ object: owner,
+ });
+ break;
+ case VLCMediaPlayerState.Playing:
+ owner.notify({
+ eventName: VLCPlayerEvents.playing,
+ object: owner,
+ });
+ break;
+ case VLCMediaPlayerState.Paused:
+ owner.notify({
+ eventName: VLCPlayerEvents.paused,
+ object: owner,
+ });
+ break;
+ case VLCMediaPlayerState.Ended:
+ owner.notify({
+ eventName: VLCPlayerEvents.ended,
+ object: owner,
+ });
+ break;
+ case VLCMediaPlayerState.Error:
+ owner.notify({
+ eventName: VLCPlayerEvents.error,
+ object: owner,
+ });
+ break;
+ case VLCMediaPlayerState.Stopped:
+ owner.notify({
+ eventName: VLCPlayerEvents.stopped,
+ object: owner,
+ });
+ break;
+ }
+ }
+ }
+}
+export class VLCPlayer extends VLCPlayerCommon {
+ player: VLCMediaPlayer;
+ delegate: VLCMediaPlayerDelegateImpl;
+ createNativeView() {
+ const options = NSArray.arrayWithArray(['--network-caching=50', '--rtsp-tcp'] as any);
+ console.log(options.objectAtIndex(0));
+ this.player = VLCMediaPlayer.alloc().initWithOptions(options);
+ const view = UIView.alloc().init();
+ view.backgroundColor = UIColor.redColor;
+ this.player.drawable = view;
+ return view;
+ }
+
+ initNativeView(): void {
+ this.delegate = VLCMediaPlayerDelegateImpl.initWithOwner(new WeakRef(this));
+ this.player.delegate = this.delegate;
+ }
+
+ [srcProperty.setNative](value: string) {
+ const uri = NSURL.URLWithString(value);
+ console.log('uri:', uri);
+ // int initType = [_source objectForKey:@"initType"];
+ // NSDictionary* initOptions = [_source objectForKey:@"initOptions"];
+
+ // if (initType == 1) {
+ // _player = [[VLCMediaPlayer alloc] init];
+ // } else {
+ // _player = [[VLCMediaPlayer alloc] initWithOptions:initOptions];
+ // }
+ // this.player.delegate = self;
+ // this.player.drawable = self;
+
+ this.player.media = VLCMedia.mediaWithURL(uri);
+
+ AVAudioSession.sharedInstance().setActiveWithOptionsError(false, AVAudioSessionSetActiveFlags_NotifyOthersOnDeactivation);
+
+ if (this.autoPlay) {
+ this.player.play();
+ }
+
+ this.notify({
+ eventName: VLCPlayerEvents.loadStarted,
+ object: this,
+ });
+ }
+
+ [autoPlayProperty.setNative](value: boolean) {
+ this.autoPlay = value;
+ }
+
+ play() {
+ if (this.player) {
+ this.player.play();
+ }
+ }
+
+ pause() {
+ if (this.player) {
+ this.player.pause();
+ }
+ }
+}
+
+srcProperty.register(VLCPlayer);
diff --git a/packages/nativescript-vlc-player/package.json b/packages/nativescript-vlc-player/package.json
new file mode 100644
index 00000000..f686744d
--- /dev/null
+++ b/packages/nativescript-vlc-player/package.json
@@ -0,0 +1,35 @@
+{
+ "name": "@nstudio/nativescript-vlc-player",
+ "version": "0.0.1",
+ "description": "VLC Player for NativeScript. Supports RTSP, RTMP and other protocols.",
+ "main": "index",
+ "types": "index.d.ts",
+ "nativescript": {
+ "platforms": {
+ "ios": "6.0.0",
+ "android": "6.0.0"
+ }
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/nstudio/nativescript-plugins.git"
+ },
+ "keywords": [
+ "NativeScript",
+ "JavaScript",
+ "TypeScript",
+ "iOS",
+ "Android"
+ ],
+ "author": {
+ "name": "nStudio",
+ "email": "team@nstudio.io"
+ },
+ "bugs": {
+ "url": "https://github.com/nstudio/nativescript-plugins/issues"
+ },
+ "license": "Apache-2.0",
+ "homepage": "https://github.com/nstudio/nativescript-plugins",
+ "readmeFilename": "README.md",
+ "bootstrapper": "@nativescript/plugin-seed"
+}
diff --git a/packages/nativescript-vlc-player/platforms/android/libvlc-release.aar b/packages/nativescript-vlc-player/platforms/android/libvlc-release.aar
new file mode 100644
index 00000000..439a9caa
Binary files /dev/null and b/packages/nativescript-vlc-player/platforms/android/libvlc-release.aar differ
diff --git a/packages/nativescript-vlc-player/platforms/ios/Podfile b/packages/nativescript-vlc-player/platforms/ios/Podfile
new file mode 100644
index 00000000..95f64660
--- /dev/null
+++ b/packages/nativescript-vlc-player/platforms/ios/Podfile
@@ -0,0 +1 @@
+pod 'MobileVLCKit', '~> 3.5.1'
\ No newline at end of file
diff --git a/packages/nativescript-vlc-player/project.json b/packages/nativescript-vlc-player/project.json
new file mode 100644
index 00000000..358de151
--- /dev/null
+++ b/packages/nativescript-vlc-player/project.json
@@ -0,0 +1,65 @@
+{
+ "name": "nativescript-vlc-player",
+ "$schema": "../../node_modules/nx/schemas/project-schema.json",
+ "projectType": "library",
+ "sourceRoot": "packages/nativescript-vlc-player",
+ "targets": {
+ "build": {
+ "executor": "@nx/js:tsc",
+ "options": {
+ "outputPath": "dist/packages/nativescript-vlc-player",
+ "tsConfig": "packages/nativescript-vlc-player/tsconfig.json",
+ "packageJson": "packages/nativescript-vlc-player/package.json",
+ "main": "packages/nativescript-vlc-player/index.d.ts",
+ "assets": [
+ "packages/nativescript-vlc-player/*.md",
+ "packages/nativescript-vlc-player/index.d.ts",
+ "LICENSE",
+ {
+ "glob": "**/*",
+ "input": "packages/nativescript-vlc-player/platforms/",
+ "output": "./platforms/"
+ }
+ ],
+ "dependsOn": [
+ {
+ "target": "build.all",
+ "projects": "dependencies"
+ }
+ ]
+ }
+ },
+ "build.all": {
+ "executor": "nx:run-commands",
+ "options": {
+ "commands": ["node tools/scripts/build-finish.ts nativescript-vlc-player"],
+ "parallel": false
+ },
+ "outputs": ["{workspaceRoot}/dist/packages/nativescript-vlc-player"],
+ "dependsOn": [
+ {
+ "target": "build.all",
+ "projects": "dependencies"
+ },
+ {
+ "target": "build",
+ "projects": "self"
+ }
+ ]
+ },
+ "focus": {
+ "executor": "nx:run-commands",
+ "options": {
+ "commands": ["nx g @nativescript/plugin-tools:focus-packages nativescript-vlc-player"],
+ "parallel": false
+ }
+ },
+ "lint": {
+ "executor": "@nx/eslint:eslint",
+ "options": {
+ "lintFilePatterns": ["packages/nativescript-vlc-player/**/*.ts"]
+ }
+ }
+ },
+ "tags": []
+}
diff --git a/packages/nativescript-vlc-player/references.d.ts b/packages/nativescript-vlc-player/references.d.ts
new file mode 100644
index 00000000..22bac92c
--- /dev/null
+++ b/packages/nativescript-vlc-player/references.d.ts
@@ -0,0 +1 @@
+///
diff --git a/packages/nativescript-vlc-player/tsconfig.json b/packages/nativescript-vlc-player/tsconfig.json
new file mode 100644
index 00000000..52cfe522
--- /dev/null
+++ b/packages/nativescript-vlc-player/tsconfig.json
@@ -0,0 +1,9 @@
+{
+ "extends": "../../tsconfig.base.json",
+ "compilerOptions": {
+ "outDir": "../../dist/out-tsc",
+ "rootDir": "."
+ },
+ "exclude": ["**/*.spec.ts", "**/*.test.ts", "angular"],
+ "include": ["**/*.ts", "references.d.ts"]
+}
diff --git a/packages/nativescript-vlc-player/types/android.d.ts b/packages/nativescript-vlc-player/types/android.d.ts
new file mode 100644
index 00000000..82218cfb
--- /dev/null
+++ b/packages/nativescript-vlc-player/types/android.d.ts
@@ -0,0 +1,1891 @@
+declare module org {
+ export module videolan {
+ export class BuildConfig {
+ public static class: java.lang.Class;
+ public static DEBUG: boolean = 0;
+ public static LIBRARY_PACKAGE_NAME: string = 'org.videolan';
+ public static BUILD_TYPE: string = 'release';
+ public constructor();
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export class AWindow extends org.videolan.libvlc.interfaces.IVLCVout {
+ public static class: java.lang.Class;
+ public attachViews(): void;
+ public setSubtitlesSurface(param0: globalAndroid.graphics.SurfaceTexture): void;
+ public setVideoView(videoSurfaceView: globalAndroid.view.SurfaceView): void;
+ public constructor(surfaceCallback: org.videolan.libvlc.AWindow.SurfaceCallback);
+ public setSubtitlesSurface(subtitlesSurface: globalAndroid.view.Surface, surfaceHolder: globalAndroid.view.SurfaceHolder): void;
+ public attachViews(id: org.videolan.libvlc.interfaces.IVLCVout.OnNewVideoLayoutListener): void;
+ public setSubtitlesSurface(param0: globalAndroid.view.Surface, param1: globalAndroid.view.SurfaceHolder): void;
+ public addCallback(param0: org.videolan.libvlc.interfaces.IVLCVout.Callback): void;
+ public attachViews(param0: org.videolan.libvlc.interfaces.IVLCVout.OnNewVideoLayoutListener): void;
+ public sendMouseEvent(param0: number, param1: number, param2: number, param3: number): void;
+ public setVideoSurface(videoSurface: globalAndroid.view.Surface, surfaceHolder: globalAndroid.view.SurfaceHolder): void;
+ public setVideoView(param0: globalAndroid.view.SurfaceView): void;
+ public setVideoSurface(param0: globalAndroid.graphics.SurfaceTexture): void;
+ public setWindowSize(param0: number, param1: number): void;
+ public setVideoSurface(param0: globalAndroid.view.Surface, param1: globalAndroid.view.SurfaceHolder): void;
+ public areViewsAttached(): boolean;
+ public addCallback(callback: org.videolan.libvlc.interfaces.IVLCVout.Callback): void;
+ public removeCallback(callback: org.videolan.libvlc.interfaces.IVLCVout.Callback): void;
+ public sendMouseEvent(action: number, button: number, x: number, y: number): void;
+ public setSubtitlesView(param0: globalAndroid.view.SurfaceView): void;
+ public setVideoView(videoTextureView: globalAndroid.view.TextureView): void;
+ public setSubtitlesSurface(subtitlesSurfaceTexture: globalAndroid.graphics.SurfaceTexture): void;
+ public detachViews(): void;
+ public setSubtitlesView(param0: globalAndroid.view.TextureView): void;
+ public removeCallback(param0: org.videolan.libvlc.interfaces.IVLCVout.Callback): void;
+ public setWindowSize(width: number, height: number): void;
+ public setSubtitlesView(subtitlesTextureView: globalAndroid.view.TextureView): void;
+ public setVideoSurface(videoSurfaceTexture: globalAndroid.graphics.SurfaceTexture): void;
+ public setSubtitlesView(subtitlesSurfaceView: globalAndroid.view.SurfaceView): void;
+ public setVideoView(param0: globalAndroid.view.TextureView): void;
+ }
+ export module AWindow {
+ export class NativeLock {
+ public static class: java.lang.Class;
+ }
+ export class SurfaceCallback {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.AWindow$SurfaceCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onSurfacesCreated(param0: org.videolan.libvlc.AWindow): void; onSurfacesDestroyed(param0: org.videolan.libvlc.AWindow): void });
+ public constructor();
+ public onSurfacesDestroyed(param0: org.videolan.libvlc.AWindow): void;
+ public onSurfacesCreated(param0: org.videolan.libvlc.AWindow): void;
+ }
+ export class SurfaceHelper {
+ public static class: java.lang.Class;
+ public isReady(): boolean;
+ public attach(): void;
+ public release(): void;
+ public getSurface(): globalAndroid.view.Surface;
+ }
+ export class SurfaceTextureThread {
+ public static class: java.lang.Class;
+ public run(): void;
+ public onFrameAvailable(surfaceTexture: globalAndroid.graphics.SurfaceTexture): void;
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export abstract class Dialog {
+ public static class: java.lang.Class;
+ public static TYPE_ERROR: number = 0;
+ public static TYPE_LOGIN: number = 1;
+ public static TYPE_QUESTION: number = 2;
+ public static TYPE_PROGRESS: number = 3;
+ public mType: number;
+ public mText: string;
+ public constructor(type: number, title: string, text: string);
+ public getType(): number;
+ public setContext(context: any): void;
+ public static setCallbacks(ILibVLC: org.videolan.libvlc.interfaces.ILibVLC, callbacks: org.videolan.libvlc.Dialog.Callbacks): void;
+ public dismiss(): void;
+ public getTitle(): string;
+ public getContext(): any;
+ public getText(): string;
+ }
+ export module Dialog {
+ export class Callbacks {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.Dialog$Callbacks interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onDisplay(param0: org.videolan.libvlc.Dialog.ErrorMessage): void; onDisplay(param0: org.videolan.libvlc.Dialog.LoginDialog): void; onDisplay(param0: org.videolan.libvlc.Dialog.QuestionDialog): void; onDisplay(param0: org.videolan.libvlc.Dialog.ProgressDialog): void; onCanceled(param0: org.videolan.libvlc.Dialog): void; onProgressUpdate(param0: org.videolan.libvlc.Dialog.ProgressDialog): void });
+ public constructor();
+ public onDisplay(param0: org.videolan.libvlc.Dialog.QuestionDialog): void;
+ public onDisplay(param0: org.videolan.libvlc.Dialog.ErrorMessage): void;
+ public onProgressUpdate(param0: org.videolan.libvlc.Dialog.ProgressDialog): void;
+ public onDisplay(param0: org.videolan.libvlc.Dialog.LoginDialog): void;
+ public onDisplay(param0: org.videolan.libvlc.Dialog.ProgressDialog): void;
+ public onCanceled(param0: org.videolan.libvlc.Dialog): void;
+ }
+ export class ErrorMessage extends org.videolan.libvlc.Dialog {
+ public static class: java.lang.Class;
+ }
+ export abstract class IdDialog extends org.videolan.libvlc.Dialog {
+ public static class: java.lang.Class;
+ public mId: number;
+ public constructor(id: number, type: number, title: string, text: string);
+ public dismiss(): void;
+ public constructor(type: number, title: string, text: string);
+ }
+ export class LoginDialog extends org.videolan.libvlc.Dialog.IdDialog {
+ public static class: java.lang.Class;
+ public getDefaultUsername(): string;
+ public asksStore(): boolean;
+ public postLogin(username: string, password: string, store: boolean): void;
+ }
+ export class ProgressDialog extends org.videolan.libvlc.Dialog.IdDialog {
+ public static class: java.lang.Class;
+ public getCancelText(): string;
+ public isIndeterminate(): boolean;
+ public isCancelable(): boolean;
+ public getPosition(): number;
+ }
+ export class QuestionDialog extends org.videolan.libvlc.Dialog.IdDialog {
+ public static class: java.lang.Class;
+ public static TYPE_NORMAL: number = 0;
+ public static TYPE_WARNING: number = 1;
+ public static TYPE_ERROR: number = 2;
+ public getQuestionType(): number;
+ public getAction1Text(): string;
+ public getCancelText(): string;
+ public postAction(action: number): void;
+ public getAction2Text(): string;
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export class FactoryManager {
+ public static class: java.lang.Class;
+ public static registerFactory(factoryId: string, factory: org.videolan.libvlc.interfaces.IComponentFactory): void;
+ public static getFactory(factoryId: string): org.videolan.libvlc.interfaces.IComponentFactory;
+ public constructor();
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export class LibVLC extends org.videolan.libvlc.VLCObject implements org.videolan.libvlc.interfaces.ILibVLC {
+ public static class: java.lang.Class;
+ public release(): void;
+ public static loadLibraries(): void;
+ public constructor(context: globalAndroid.content.Context);
+ public static version(): string;
+ public getAppContext(): globalAndroid.content.Context;
+ public static compiler(): string;
+ public getLibVLC(): org.videolan.libvlc.interfaces.ILibVLC;
+ public isReleased(): boolean;
+ public constructor();
+ public static majorVersion(): number;
+ public onReleaseNative(): void;
+ public static changeset(): string;
+ public retain(): boolean;
+ public setUserAgent(name: string, http: string): void;
+ public onEventNative(param0: number, param1: number, param2: number, param3: number, param4: string): any;
+ public constructor(context: globalAndroid.content.Context, options: java.util.List);
+ public constructor(libvlc: org.videolan.libvlc.interfaces.ILibVLC);
+ public constructor(parent: org.videolan.libvlc.interfaces.IVLCObject);
+ public onEventNative(eventType: number, arg1: number, arg2: number, argf1: number, args1: string): org.videolan.libvlc.interfaces.ILibVLC.Event;
+ }
+ export module LibVLC {
+ export class Event extends org.videolan.libvlc.interfaces.AbstractVLCEvent {
+ public static class: java.lang.Class;
+ public constructor(type: number, argf: number);
+ public constructor(type: number);
+ public constructor(type: number, arg1: number);
+ public constructor(type: number, arg1: number, args1: string);
+ public constructor(type: number, arg1: number, arg2: number);
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export class LibVLCFactory extends org.videolan.libvlc.interfaces.ILibVLCFactory {
+ public static class: java.lang.Class;
+ public getFromOptions(context: globalAndroid.content.Context, options: java.util.List): org.videolan.libvlc.interfaces.ILibVLC;
+ public getFromOptions(param0: globalAndroid.content.Context, param1: java.util.List): org.videolan.libvlc.interfaces.ILibVLC;
+ public getFromContext(context: globalAndroid.content.Context): org.videolan.libvlc.interfaces.ILibVLC;
+ public getFromContext(param0: globalAndroid.content.Context): org.videolan.libvlc.interfaces.ILibVLC;
+ public constructor();
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export class Media extends org.videolan.libvlc.VLCObject implements org.videolan.libvlc.interfaces.IMedia {
+ public static class: java.lang.Class;
+ public getType(): number;
+ public addOption(option: string): void;
+ public getLibVLC(): org.videolan.libvlc.interfaces.ILibVLC;
+ public onEventNative(this_: number, eventType: number, arg1: number, arg2: number, argf1: string): org.videolan.libvlc.interfaces.IMedia.Event;
+ public constructor();
+ public constructor(ILibVLC: org.videolan.libvlc.interfaces.ILibVLC, path: string);
+ public getUri(): globalAndroid.net.Uri;
+ public onEventNative(param0: number, param1: number, param2: number, param3: number, param4: string): any;
+ public parse(): boolean;
+ public constructor(libvlc: org.videolan.libvlc.interfaces.ILibVLC);
+ public constructor(parent: org.videolan.libvlc.interfaces.IVLCObject);
+ public addOption(param0: string): void;
+ public getSlaves(): androidNative.Array;
+ public clearSlaves(): void;
+ public getMeta(param0: number, param1: boolean): string;
+ public isParsed(): boolean;
+ public parseAsync(): boolean;
+ public constructor(ml: org.videolan.libvlc.interfaces.IMediaList, index: number);
+ public setHWDecoderEnabled(param0: boolean, param1: boolean): void;
+ public parse(flags: number): boolean;
+ public getMeta(id: number, force: boolean): string;
+ public setDefaultMediaPlayerOptions(): void;
+ public getMeta(id: number): string;
+ public getDuration(): number;
+ public getTracks(type: number): androidNative.Array;
+ public onReleaseNative(): void;
+ public setHWDecoderEnabled(enabled: boolean, force: boolean): void;
+ public parseAsync(flags: number): boolean;
+ public addSlave(slave: org.videolan.libvlc.interfaces.IMedia.Slave): void;
+ public setEventListener(listener: org.videolan.libvlc.interfaces.AbstractVLCEvent.Listener, handler: globalAndroid.os.Handler): void;
+ public constructor(ILibVLC: org.videolan.libvlc.interfaces.ILibVLC, uri: globalAndroid.net.Uri);
+ public constructor(ILibVLC: org.videolan.libvlc.interfaces.ILibVLC, afd: globalAndroid.content.res.AssetFileDescriptor);
+ public setEventListener(listener: org.videolan.libvlc.interfaces.IMedia.EventListener): void;
+ public subItems(): org.videolan.libvlc.interfaces.IMediaList;
+ public parse(param0: number): boolean;
+ public setEventListener(param0: org.videolan.libvlc.interfaces.IMedia.EventListener): void;
+ public release(): void;
+ public getTracks(): androidNative.Array;
+ public getTracks(param0: number): androidNative.Array;
+ public parseAsync(param0: number, param1: number): boolean;
+ public parseAsync(param0: number): boolean;
+ public isReleased(): boolean;
+ public getStats(): org.videolan.libvlc.interfaces.IMedia.Stats;
+ public constructor(ILibVLC: org.videolan.libvlc.interfaces.ILibVLC, fd: java.io.FileDescriptor);
+ public getMeta(param0: number): string;
+ public retain(): boolean;
+ public parseAsync(flags: number, timeout: number): boolean;
+ public setEventListener(listener: org.videolan.libvlc.interfaces.AbstractVLCEvent.Listener): void;
+ public addSlave(param0: org.videolan.libvlc.interfaces.IMedia.Slave): void;
+ public subItems(): org.videolan.libvlc.MediaList;
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export class MediaDiscoverer extends org.videolan.libvlc.VLCObject {
+ public static class: java.lang.Class;
+ public onEventNative(eventType: number, arg1: number, arg2: number, argf1: number, args1: string): org.videolan.libvlc.MediaDiscoverer.Event;
+ public release(): void;
+ public static list(ILibVLC: org.videolan.libvlc.interfaces.ILibVLC, category: number): androidNative.Array;
+ public getLibVLC(): org.videolan.libvlc.interfaces.ILibVLC;
+ public constructor(ILibVLC: org.videolan.libvlc.interfaces.ILibVLC, name: string);
+ public isReleased(): boolean;
+ public getMediaList(): org.videolan.libvlc.MediaList;
+ public constructor();
+ public onReleaseNative(): void;
+ public stop(): void;
+ public setEventListener(listener: org.videolan.libvlc.MediaDiscoverer.EventListener): void;
+ public retain(): boolean;
+ public start(): boolean;
+ public onEventNative(param0: number, param1: number, param2: number, param3: number, param4: string): any;
+ public setEventListener(listener: org.videolan.libvlc.interfaces.AbstractVLCEvent.Listener): void;
+ public constructor(libvlc: org.videolan.libvlc.interfaces.ILibVLC);
+ public setEventListener(listener: org.videolan.libvlc.interfaces.AbstractVLCEvent.Listener, handler: globalAndroid.os.Handler): void;
+ public constructor(parent: org.videolan.libvlc.interfaces.IVLCObject);
+ }
+ export module MediaDiscoverer {
+ export class Description {
+ public static class: java.lang.Class;
+ public name: string;
+ public longName: string;
+ public category: number;
+ }
+ export module Description {
+ export class Category {
+ public static class: java.lang.Class;
+ public static Devices: number = 0;
+ public static Lan: number = 1;
+ public static Podcasts: number = 2;
+ public static LocalDirs: number = 3;
+ public constructor();
+ }
+ }
+ export class Event extends org.videolan.libvlc.interfaces.AbstractVLCEvent {
+ public static class: java.lang.Class;
+ public static Started: number = 1280;
+ public static Ended: number = 1281;
+ public constructor(type: number, argf: number);
+ public constructor(type: number);
+ public constructor(type: number, arg1: number);
+ public constructor(type: number, arg1: number, args1: string);
+ public constructor(type: number, arg1: number, arg2: number);
+ }
+ export class EventListener extends org.videolan.libvlc.interfaces.AbstractVLCEvent.Listener {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.MediaDiscoverer$EventListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onEvent(param0: any): void });
+ public constructor();
+ public onEvent(param0: any): void;
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export class MediaFactory extends org.videolan.libvlc.interfaces.IMediaFactory {
+ public static class: java.lang.Class;
+ public getFromFileDescriptor(ILibVLC: org.videolan.libvlc.interfaces.ILibVLC, fd: java.io.FileDescriptor): org.videolan.libvlc.interfaces.IMedia;
+ public getFromLocalPath(param0: org.videolan.libvlc.interfaces.ILibVLC, param1: string): org.videolan.libvlc.interfaces.IMedia;
+ public getFromUri(ILibVLC: org.videolan.libvlc.interfaces.ILibVLC, uri: globalAndroid.net.Uri): org.videolan.libvlc.interfaces.IMedia;
+ public getFromUri(param0: org.videolan.libvlc.interfaces.ILibVLC, param1: globalAndroid.net.Uri): org.videolan.libvlc.interfaces.IMedia;
+ public getFromAssetFileDescriptor(param0: org.videolan.libvlc.interfaces.ILibVLC, param1: globalAndroid.content.res.AssetFileDescriptor): org.videolan.libvlc.interfaces.IMedia;
+ public constructor();
+ public getFromLocalPath(ILibVLC: org.videolan.libvlc.interfaces.ILibVLC, path: string): org.videolan.libvlc.interfaces.IMedia;
+ public getFromAssetFileDescriptor(ILibVLC: org.videolan.libvlc.interfaces.ILibVLC, assetFileDescriptor: globalAndroid.content.res.AssetFileDescriptor): org.videolan.libvlc.interfaces.IMedia;
+ public getFromFileDescriptor(param0: org.videolan.libvlc.interfaces.ILibVLC, param1: java.io.FileDescriptor): org.videolan.libvlc.interfaces.IMedia;
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export class MediaList extends org.videolan.libvlc.VLCObject implements org.videolan.libvlc.interfaces.IMediaList {
+ public static class: java.lang.Class;
+ public release(): void;
+ public getLibVLC(): org.videolan.libvlc.interfaces.ILibVLC;
+ public setEventListener(listener: org.videolan.libvlc.interfaces.IMediaList.EventListener, handler: globalAndroid.os.Handler): void;
+ public getCount(): number;
+ public isReleased(): boolean;
+ public constructor(ILibVLC: org.videolan.libvlc.interfaces.ILibVLC);
+ public getMediaAt(param0: number): org.videolan.libvlc.interfaces.IMedia;
+ public constructor();
+ public onReleaseNative(): void;
+ public constructor(m: org.videolan.libvlc.interfaces.IMedia);
+ public retain(): boolean;
+ public onEventNative(param0: number, param1: number, param2: number, param3: number, param4: string): any;
+ public setEventListener(listener: org.videolan.libvlc.interfaces.AbstractVLCEvent.Listener): void;
+ public onEventNative(index: number, media: number, index: number, this_: number, eventType: string): org.videolan.libvlc.interfaces.IMediaList.Event;
+ public setEventListener(listener: org.videolan.libvlc.interfaces.AbstractVLCEvent.Listener, handler: globalAndroid.os.Handler): void;
+ public constructor(parent: org.videolan.libvlc.interfaces.IVLCObject);
+ public constructor(md: org.videolan.libvlc.MediaDiscoverer);
+ public isLocked(): boolean;
+ public setEventListener(param0: org.videolan.libvlc.interfaces.IMediaList.EventListener, param1: globalAndroid.os.Handler): void;
+ public getMediaAt(index: number): org.videolan.libvlc.interfaces.IMedia;
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export class MediaPlayer extends org.videolan.libvlc.VLCObject {
+ public static class: java.lang.Class;
+ public static SURFACE_SCALES_COUNT: number;
+ public getAspectRatio(): string;
+ public hasMedia(): boolean;
+ public record(directory: string): boolean;
+ public getChapter(): number;
+ public setAudioOutput(aout: string): boolean;
+ public getLibVLC(): org.videolan.libvlc.interfaces.ILibVLC;
+ public getTrackFromID(id: string): org.videolan.libvlc.interfaces.IMedia.Track;
+ public setAspectRatio(aspect: string): void;
+ public getSelectedTracks(type: number): androidNative.Array;
+ public setVideoTrackEnabled(this_: boolean): void;
+ public getRate(): number;
+ public constructor();
+ public setMedia(media: org.videolan.libvlc.interfaces.IMedia): void;
+ public getSpuDelay(): number;
+ public setEventListener(listener: org.videolan.libvlc.MediaPlayer.EventListener): void;
+ public play(afd: globalAndroid.content.res.AssetFileDescriptor): void;
+ public navigate(param0: number): void;
+ public setNativeScale(scale: number): void;
+ public setTitle(param0: number): void;
+ public onEventNative(param0: number, param1: number, param2: number, param3: number, param4: string): any;
+ public setAudioDelay(delay: number): boolean;
+ public getTeletextTransparency(): boolean;
+ public constructor(parent: org.videolan.libvlc.interfaces.IVLCObject);
+ public selectTracks(type: number, ids: string): void;
+ public setChapter(param0: number): void;
+ public setVideoScale(type: org.videolan.libvlc.MediaPlayer.ScaleType): void;
+ public detachViews(): void;
+ public setTeletext(page: number): void;
+ public setPosition(pos: number, fast: boolean): void;
+ public playAsset(context: globalAndroid.content.Context, assetFilename: string): void;
+ public setAudioDigitalOutputEnabled(enabled: boolean): boolean;
+ public getVolume(): number;
+ public constructor(media: org.videolan.libvlc.interfaces.IMedia);
+ public setScale(scale: number): void;
+ public updateViewpoint(yaw: number, pitch: number, roll: number, fov: number, absolute: boolean): boolean;
+ public setEqualizer(equalizer: org.videolan.libvlc.MediaPlayer.Equalizer): boolean;
+ public isSeekable(): boolean;
+ public nativeSetTime(param0: number, param1: boolean): number;
+ public setRenderer(item: org.videolan.libvlc.RendererItem): number;
+ public setVideoTitleDisplay(position: number, timeout: number): void;
+ public useOrientationFromBounds(): java.lang.Boolean;
+ public getPlayerState(): number;
+ public setPosition(pos: number): void;
+ public onEventNative(eventType: number, arg1: number, arg2: number, argf1: number, args1: string): org.videolan.libvlc.MediaPlayer.Event;
+ public getTitle(): number;
+ public getMedia(): org.videolan.libvlc.interfaces.IMedia;
+ public setTime(time: number, fast: boolean): number;
+ public setTime(time: number): number;
+ public getScale(): number;
+ public getChapters(title: number): androidNative.Array;
+ public getTracks(type: number): androidNative.Array;
+ public getPosition(): number;
+ public setRate(param0: number): void;
+ public setTeletextTransparency(transparent: boolean): void;
+ public play(uri: globalAndroid.net.Uri): void;
+ public onReleaseNative(): void;
+ public unselectTrackType(type: number): void;
+ public getVideoScale(): org.videolan.libvlc.MediaPlayer.ScaleType;
+ public play(path: string): void;
+ public setUseOrientationFromBounds(mUseOrientationFromBounds: java.lang.Boolean): void;
+ public getSelectedTrack(type: number): org.videolan.libvlc.interfaces.IMedia.Track;
+ public getAudioDelay(): number;
+ public addSlave(type: number, path: string, select: boolean): boolean;
+ public getTitles(): androidNative.Array;
+ public setSpuDelay(delay: number): boolean;
+ public setEventListener(listener: org.videolan.libvlc.interfaces.AbstractVLCEvent.Listener, handler: globalAndroid.os.Handler): void;
+ public addSlave(type: number, uri: globalAndroid.net.Uri, select: boolean): boolean;
+ public getVLCVout(): org.videolan.libvlc.interfaces.IVLCVout;
+ public release(): void;
+ public play(): void;
+ public isPlaying(): boolean;
+ public pause(): void;
+ public forceAudioDigitalEncodings(this_: androidNative.Array): boolean;
+ public nextChapter(): number;
+ public nativeSetPosition(param0: number, param1: boolean): void;
+ public isReleased(): boolean;
+ public constructor(ILibVLC: org.videolan.libvlc.interfaces.ILibVLC);
+ public attachViews(surfaceFrame: org.videolan.libvlc.util.VLCVideoLayout, dm: org.videolan.libvlc.util.DisplayManager, subtitles: boolean, textureView: boolean): void;
+ public getTime(): number;
+ public getLength(): number;
+ public play(media: org.videolan.libvlc.interfaces.IMedia): void;
+ public previousChapter(): number;
+ public stop(): void;
+ public selectTrack(id: string): boolean;
+ public retain(): boolean;
+ public getTeletext(): number;
+ public setVolume(param0: number): number;
+ public canDoPassthrough(): boolean;
+ public setEventListener(listener: org.videolan.libvlc.interfaces.AbstractVLCEvent.Listener): void;
+ public updateVideoSurfaces(): void;
+ public setAudioOutputDevice(id: string): boolean;
+ }
+ export module MediaPlayer {
+ export class Chapter {
+ public static class: java.lang.Class;
+ public timeOffset: number;
+ public duration: number;
+ public name: string;
+ }
+ export class Equalizer {
+ public static class: java.lang.Class;
+ public setAmp(index: number, amp: number): boolean;
+ public static getPresetName(index: number): string;
+ public static getBandFrequency(index: number): number;
+ public finalize(): void;
+ public static create(): org.videolan.libvlc.MediaPlayer.Equalizer;
+ public static getPresetCount(): number;
+ public setPreAmp(preamp: number): boolean;
+ public static createFromPreset(index: number): org.videolan.libvlc.MediaPlayer.Equalizer;
+ public static getBandCount(): number;
+ public getPreAmp(): number;
+ public getAmp(index: number): number;
+ }
+ export class Event extends org.videolan.libvlc.interfaces.AbstractVLCEvent {
+ public static class: java.lang.Class;
+ public static MediaChanged: number = 256;
+ public static Opening: number = 258;
+ public static Buffering: number = 259;
+ public static Playing: number = 260;
+ public static Paused: number = 261;
+ public static Stopped: number = 262;
+ public static EndReached: number = 265;
+ public static EncounteredError: number = 266;
+ public static TimeChanged: number = 267;
+ public static PositionChanged: number = 268;
+ public static SeekableChanged: number = 269;
+ public static PausableChanged: number = 270;
+ public static LengthChanged: number = 273;
+ public static Vout: number = 274;
+ public static ESAdded: number = 276;
+ public static ESDeleted: number = 277;
+ public static ESSelected: number = 278;
+ public static RecordChanged: number = 286;
+ public getBuffering(): number;
+ public getEsChangedID(): number;
+ public getRecordPath(): string;
+ public getPausable(): boolean;
+ public constructor(type: number, arg1: number, args1: string);
+ public getRecording(): boolean;
+ public constructor(type: number, arg1: number, arg2: number);
+ public constructor(type: number, argf: number);
+ public constructor(type: number);
+ public getPositionChanged(): number;
+ public getEsChangedType(): number;
+ public constructor(type: number, arg1: number);
+ public getTimeChanged(): number;
+ public getSeekable(): boolean;
+ public getLengthChanged(): number;
+ public getVoutCount(): number;
+ }
+ export class EventListener extends org.videolan.libvlc.interfaces.AbstractVLCEvent.Listener {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.MediaPlayer$EventListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onEvent(param0: any): void });
+ public constructor();
+ public onEvent(param0: any): void;
+ }
+ export class Navigate {
+ public static class: java.lang.Class;
+ public static Activate: number = 0;
+ public static Up: number = 1;
+ public static Down: number = 2;
+ public static Left: number = 3;
+ public static Right: number = 4;
+ public constructor();
+ }
+ export class Position {
+ public static class: java.lang.Class;
+ public static Disable: number = -1;
+ public static Center: number = 0;
+ public static Left: number = 1;
+ public static Right: number = 2;
+ public static Top: number = 3;
+ public static TopLeft: number = 4;
+ public static TopRight: number = 5;
+ public static Bottom: number = 6;
+ public static BottomLeft: number = 7;
+ public static BottomRight: number = 8;
+ public constructor();
+ }
+ export class ScaleType {
+ public static class: java.lang.Class;
+ public static SURFACE_BEST_FIT: org.videolan.libvlc.MediaPlayer.ScaleType;
+ public static SURFACE_FIT_SCREEN: org.videolan.libvlc.MediaPlayer.ScaleType;
+ public static SURFACE_FILL: org.videolan.libvlc.MediaPlayer.ScaleType;
+ public static SURFACE_16_9: org.videolan.libvlc.MediaPlayer.ScaleType;
+ public static SURFACE_4_3: org.videolan.libvlc.MediaPlayer.ScaleType;
+ public static SURFACE_16_10: org.videolan.libvlc.MediaPlayer.ScaleType;
+ public static SURFACE_221_1: org.videolan.libvlc.MediaPlayer.ScaleType;
+ public static SURFACE_235_1: org.videolan.libvlc.MediaPlayer.ScaleType;
+ public static SURFACE_239_1: org.videolan.libvlc.MediaPlayer.ScaleType;
+ public static SURFACE_5_4: org.videolan.libvlc.MediaPlayer.ScaleType;
+ public static SURFACE_ORIGINAL: org.videolan.libvlc.MediaPlayer.ScaleType;
+ public static values(): androidNative.Array;
+ public static valueOf(name: string): org.videolan.libvlc.MediaPlayer.ScaleType;
+ public getRatio(): java.lang.Float;
+ public static getMainScaleTypes(): androidNative.Array;
+ }
+ export class Title {
+ public static class: java.lang.Class;
+ public duration: number;
+ public name: string;
+ public isInteractive(): boolean;
+ public constructor(duration: number, name: string, flags: number);
+ public isMenu(): boolean;
+ }
+ export module Title {
+ export class Flags {
+ public static class: java.lang.Class;
+ public static MENU: number = 1;
+ public static INTERACTIVE: number = 2;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export class RendererDiscoverer extends org.videolan.libvlc.VLCObject {
+ public static class: java.lang.Class;
+ public release(): void;
+ public getLibVLC(): org.videolan.libvlc.interfaces.ILibVLC;
+ public constructor(ILibVLC: org.videolan.libvlc.interfaces.ILibVLC, name: string);
+ public isReleased(): boolean;
+ public static list(ILibVlc: org.videolan.libvlc.interfaces.ILibVLC): androidNative.Array;
+ public constructor();
+ public setEventListener(listener: org.videolan.libvlc.RendererDiscoverer.EventListener): void;
+ public onReleaseNative(): void;
+ public stop(): void;
+ public retain(): boolean;
+ public start(): boolean;
+ public onEventNative(eventType: number, arg1: number, arg2: number, argf1: number, args1: string): org.videolan.libvlc.RendererDiscoverer.Event;
+ public onEventNative(param0: number, param1: number, param2: number, param3: number, param4: string): any;
+ public setEventListener(listener: org.videolan.libvlc.interfaces.AbstractVLCEvent.Listener): void;
+ public constructor(libvlc: org.videolan.libvlc.interfaces.ILibVLC);
+ public setEventListener(listener: org.videolan.libvlc.interfaces.AbstractVLCEvent.Listener, handler: globalAndroid.os.Handler): void;
+ public constructor(parent: org.videolan.libvlc.interfaces.IVLCObject);
+ }
+ export module RendererDiscoverer {
+ export class Description {
+ public static class: java.lang.Class;
+ public name: string;
+ }
+ export class Event extends org.videolan.libvlc.interfaces.AbstractVLCEvent {
+ public static class: java.lang.Class;
+ public static ItemAdded: number = 1282;
+ public static ItemDeleted: number = 1283;
+ public constructor(type: number, argf: number);
+ public constructor(type: number);
+ public constructor(type: number, arg1: number);
+ public constructor(type: number, arg1: number, args1: string);
+ public constructor(type: number, nativeHolder: number, item: org.videolan.libvlc.RendererItem);
+ public getItem(): org.videolan.libvlc.RendererItem;
+ public release(): void;
+ public constructor(type: number, arg1: number, arg2: number);
+ }
+ export class EventListener extends org.videolan.libvlc.interfaces.AbstractVLCEvent.Listener {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.RendererDiscoverer$EventListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onEvent(param0: any): void });
+ public constructor();
+ public onEvent(param0: any): void;
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export class RendererItem extends org.videolan.libvlc.VLCObject {
+ public static class: java.lang.Class;
+ public static LIBVLC_RENDERER_CAN_AUDIO: number = 1;
+ public static LIBVLC_RENDERER_CAN_VIDEO: number = 2;
+ public name: string;
+ public displayName: string;
+ public type: string;
+ public onReleaseNative(): void;
+ public onEventNative(eventType: number, arg1: number, arg2: number, argf1: number, args1: string): org.videolan.libvlc.RendererItem.Event;
+ public equals(obj: any): boolean;
+ public retain(): boolean;
+ public release(): void;
+ public onEventNative(param0: number, param1: number, param2: number, param3: number, param4: string): any;
+ public getLibVLC(): org.videolan.libvlc.interfaces.ILibVLC;
+ public isReleased(): boolean;
+ }
+ export module RendererItem {
+ export class Event extends org.videolan.libvlc.interfaces.AbstractVLCEvent {
+ public static class: java.lang.Class;
+ public constructor(type: number, argf: number);
+ public constructor(type: number);
+ public constructor(type: number, arg1: number);
+ public constructor(type: number, arg1: number, args1: string);
+ public constructor(type: number, arg1: number, arg2: number);
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export abstract class VLCObject extends org.videolan.libvlc.interfaces.IVLCObject {
+ public static class: java.lang.Class>;
+ public release(): void;
+ public getLibVLC(): org.videolan.libvlc.interfaces.ILibVLC;
+ public finalize(): void;
+ public isReleased(): boolean;
+ public getInstance(): number;
+ public constructor();
+ public onReleaseNative(): void;
+ public retain(): boolean;
+ public onEventNative(param0: number, param1: number, param2: number, param3: number, param4: string): any;
+ public setEventListener(listener: org.videolan.libvlc.interfaces.AbstractVLCEvent.Listener): void;
+ public constructor(libvlc: org.videolan.libvlc.interfaces.ILibVLC);
+ public setEventListener(listener: org.videolan.libvlc.interfaces.AbstractVLCEvent.Listener, handler: globalAndroid.os.Handler): void;
+ public constructor(parent: org.videolan.libvlc.interfaces.IVLCObject);
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export class VideoHelper extends org.videolan.libvlc.interfaces.IVLCVout.OnNewVideoLayoutListener {
+ public static class: java.lang.Class;
+ public onNewVideoLayout(param0: org.videolan.libvlc.interfaces.IVLCVout, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number): void;
+ public onNewVideoLayout(vlcVout: org.videolan.libvlc.interfaces.IVLCVout, width: number, height: number, visibleWidth: number, visibleHeight: number, sarNum: number, sarDen: number): void;
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module interfaces {
+ export abstract class AbstractVLCEvent {
+ public static class: java.lang.Class;
+ public type: number;
+ public arg1: number;
+ public arg2: number;
+ public argf1: number;
+ public args1: string;
+ public constructor(type: number, argf: number);
+ public constructor(type: number);
+ public constructor(type: number, arg1: number);
+ public constructor(type: number, arg1: number, args1: string);
+ public release(): void;
+ public constructor(type: number, arg1: number, arg2: number);
+ }
+ export module AbstractVLCEvent {
+ export class Listener extends java.lang.Object {
+ public static class: java.lang.Class>;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.interfaces.AbstractVLCEvent$Listener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onEvent(param0: T): void });
+ public constructor();
+ public onEvent(param0: T): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module interfaces {
+ export class IComponentFactory {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.interfaces.IComponentFactory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: {});
+ public constructor();
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module interfaces {
+ export class ILibVLC extends org.videolan.libvlc.interfaces.IVLCObject {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.interfaces.ILibVLC interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { getAppContext(): globalAndroid.content.Context; retain(): boolean; release(): void; isReleased(): boolean; getLibVLC(): org.videolan.libvlc.interfaces.ILibVLC });
+ public constructor();
+ public getAppContext(): globalAndroid.content.Context;
+ public getLibVLC(): org.videolan.libvlc.interfaces.ILibVLC;
+ public retain(): boolean;
+ public release(): void;
+ public isReleased(): boolean;
+ }
+ export module ILibVLC {
+ export class Event extends org.videolan.libvlc.interfaces.AbstractVLCEvent {
+ public static class: java.lang.Class;
+ public constructor(type: number, arg1: number, arg2: number);
+ public constructor(type: number, arg1: number, args1: string);
+ public constructor(type: number, arg1: number);
+ public constructor(type: number);
+ public constructor(type: number, argf: number);
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module interfaces {
+ export class ILibVLCFactory extends org.videolan.libvlc.interfaces.IComponentFactory {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.interfaces.ILibVLCFactory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { getFromOptions(param0: globalAndroid.content.Context, param1: java.util.List): org.videolan.libvlc.interfaces.ILibVLC; getFromContext(param0: globalAndroid.content.Context): org.videolan.libvlc.interfaces.ILibVLC; ''(): void });
+ public constructor();
+ public static factoryId: string;
+ public getFromOptions(param0: globalAndroid.content.Context, param1: java.util.List): org.videolan.libvlc.interfaces.ILibVLC;
+ public getFromContext(param0: globalAndroid.content.Context): org.videolan.libvlc.interfaces.ILibVLC;
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module interfaces {
+ export class IMedia extends org.videolan.libvlc.interfaces.IVLCObject {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.interfaces.IMedia interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: {
+ getDuration(): number;
+ subItems(): org.videolan.libvlc.interfaces.IMediaList;
+ parse(param0: number): boolean;
+ parse(): boolean;
+ parseAsync(param0: number, param1: number): boolean;
+ parseAsync(param0: number): boolean;
+ parseAsync(): boolean;
+ getType(): number;
+ getTracks(param0: number): androidNative.Array;
+ getTracks(): androidNative.Array;
+ getMeta(param0: number): string;
+ getMeta(param0: number, param1: boolean): string;
+ setHWDecoderEnabled(param0: boolean, param1: boolean): void;
+ setEventListener(param0: org.videolan.libvlc.interfaces.IMedia.EventListener): void;
+ addOption(param0: string): void;
+ addSlave(param0: org.videolan.libvlc.interfaces.IMedia.Slave): void;
+ clearSlaves(): void;
+ getSlaves(): androidNative.Array;
+ getUri(): globalAndroid.net.Uri;
+ isParsed(): boolean;
+ getStats(): org.videolan.libvlc.interfaces.IMedia.Stats;
+ setDefaultMediaPlayerOptions(): void;
+ retain(): boolean;
+ release(): void;
+ isReleased(): boolean;
+ getLibVLC(): org.videolan.libvlc.interfaces.ILibVLC;
+ });
+ public constructor();
+ public getType(): number;
+ public getTracks(): androidNative.Array;
+ public parseAsync(param0: number, param1: number): boolean;
+ public parse(): boolean;
+ public getTracks(param0: number): androidNative.Array;
+ public getDuration(): number;
+ public getMeta(param0: number, param1: boolean): string;
+ public getStats(): org.videolan.libvlc.interfaces.IMedia.Stats;
+ public getLibVLC(): org.videolan.libvlc.interfaces.ILibVLC;
+ public getMeta(param0: number): string;
+ public retain(): boolean;
+ public parseAsync(param0: number): boolean;
+ public addSlave(param0: org.videolan.libvlc.interfaces.IMedia.Slave): void;
+ public parseAsync(): boolean;
+ public release(): void;
+ public setHWDecoderEnabled(param0: boolean, param1: boolean): void;
+ public isParsed(): boolean;
+ public subItems(): org.videolan.libvlc.interfaces.IMediaList;
+ public getUri(): globalAndroid.net.Uri;
+ public setEventListener(param0: org.videolan.libvlc.interfaces.IMedia.EventListener): void;
+ public addOption(param0: string): void;
+ public clearSlaves(): void;
+ public getSlaves(): androidNative.Array;
+ public setDefaultMediaPlayerOptions(): void;
+ public parse(param0: number): boolean;
+ public isReleased(): boolean;
+ }
+ export module IMedia {
+ export class AudioTrack extends org.videolan.libvlc.interfaces.IMedia.Track {
+ public static class: java.lang.Class;
+ public channels: number;
+ public rate: number;
+ public constructor(type: number, id: string, name: string, selected: boolean, codec: string, originalCodec: string, fourcc: number, profile: number, level: number, bitrate: number, language: string, description: string);
+ public constructor(id: string, name: string, selected: boolean, codec: string, originalCodec: string, fourcc: number, profile: number, level: number, bitrate: number, language: string, description: string, channels: number, rate: number);
+ }
+ export class Event extends org.videolan.libvlc.interfaces.AbstractVLCEvent {
+ public static class: java.lang.Class;
+ public static MetaChanged: number = 0;
+ public static SubItemAdded: number = 1;
+ public static DurationChanged: number = 2;
+ public static ParsedChanged: number = 3;
+ public static SubItemTreeAdded: number = 6;
+ public constructor(type: number, arg1: number, arg2: number);
+ public constructor(type: number, arg1: number, args1: string);
+ public constructor(type: number, arg1: number);
+ public constructor(type: number);
+ public getMetaId(): number;
+ public getParsedStatus(): number;
+ public constructor(type: number, argf: number);
+ }
+ export class EventListener extends org.videolan.libvlc.interfaces.AbstractVLCEvent.Listener {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.interfaces.IMedia$EventListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onEvent(param0: any): void });
+ public constructor();
+ public onEvent(param0: any): void;
+ }
+ export class Meta {
+ public static class: java.lang.Class;
+ public static Title: number = 0;
+ public static Artist: number = 1;
+ public static Genre: number = 2;
+ public static Copyright: number = 3;
+ public static Album: number = 4;
+ public static TrackNumber: number = 5;
+ public static Description: number = 6;
+ public static Rating: number = 7;
+ public static Date: number = 8;
+ public static Setting: number = 9;
+ public static URL: number = 10;
+ public static Language: number = 11;
+ public static NowPlaying: number = 12;
+ public static Publisher: number = 13;
+ public static EncodedBy: number = 14;
+ public static ArtworkURL: number = 15;
+ public static TrackID: number = 16;
+ public static TrackTotal: number = 17;
+ public static Director: number = 18;
+ public static Season: number = 19;
+ public static Episode: number = 20;
+ public static ShowName: number = 21;
+ public static Actors: number = 22;
+ public static AlbumArtist: number = 23;
+ public static DiscNumber: number = 24;
+ public static MAX: number = 25;
+ public constructor();
+ }
+ export class Parse {
+ public static class: java.lang.Class;
+ public static ParseLocal: number = 1;
+ public static ParseNetwork: number = 2;
+ public static FetchLocal: number = 4;
+ public static FetchNetwork: number = 8;
+ public static DoInteract: number = 16;
+ public constructor();
+ }
+ export class ParsedStatus {
+ public static class: java.lang.Class;
+ public static Skipped: number = 1;
+ public static Failed: number = 2;
+ public static Timeout: number = 3;
+ public static Done: number = 4;
+ public constructor();
+ }
+ export class Slave {
+ public static class: java.lang.Class;
+ public type: number;
+ public priority: number;
+ public uri: string;
+ public constructor(type: number, priority: number, uri: string);
+ }
+ export module Slave {
+ export class Type {
+ public static class: java.lang.Class;
+ public static Subtitle: number = 0;
+ public static Audio: number = 1;
+ public constructor();
+ }
+ }
+ export class State {
+ public static class: java.lang.Class;
+ public static NothingSpecial: number = 0;
+ public static Opening: number = 1;
+ public static Playing: number = 3;
+ public static Paused: number = 4;
+ public static Stopped: number = 5;
+ public static Ended: number = 6;
+ public static Error: number = 7;
+ public static MAX: number = 8;
+ public constructor();
+ }
+ export class Stats {
+ public static class: java.lang.Class;
+ public readBytes: number;
+ public inputBitrate: number;
+ public demuxReadBytes: number;
+ public demuxBitrate: number;
+ public demuxCorrupted: number;
+ public demuxDiscontinuity: number;
+ public decodedVideo: number;
+ public decodedAudio: number;
+ public displayedPictures: number;
+ public lostPictures: number;
+ public playedAbuffers: number;
+ public lostAbuffers: number;
+ public sentPackets: number;
+ public sentBytes: number;
+ public sendBitrate: number;
+ public constructor(readBytes: number, inputBitrate: number, demuxReadBytes: number, demuxBitrate: number, demuxCorrupted: number, demuxDiscontinuity: number, decodedVideo: number, decodedAudio: number, displayedPictures: number, lostPictures: number, playedAbuffers: number, lostAbuffers: number, sentPackets: number, sentBytes: number, sendBitrate: number);
+ }
+ export class SubtitleTrack extends org.videolan.libvlc.interfaces.IMedia.Track {
+ public static class: java.lang.Class;
+ public encoding: string;
+ public constructor(id: string, name: string, selected: boolean, codec: string, originalCodec: string, fourcc: number, profile: number, level: number, bitrate: number, language: string, description: string, encoding: string);
+ public constructor(type: number, id: string, name: string, selected: boolean, codec: string, originalCodec: string, fourcc: number, profile: number, level: number, bitrate: number, language: string, description: string);
+ }
+ export abstract class Track {
+ public static class: java.lang.Class;
+ public type: number;
+ public id: string;
+ public name: string;
+ public selected: boolean;
+ public codec: string;
+ public originalCodec: string;
+ public fourcc: number;
+ public profile: number;
+ public level: number;
+ public bitrate: number;
+ public language: string;
+ public description: string;
+ public constructor(type: number, id: string, name: string, selected: boolean, codec: string, originalCodec: string, fourcc: number, profile: number, level: number, bitrate: number, language: string, description: string);
+ }
+ export module Track {
+ export class Type {
+ public static class: java.lang.Class;
+ public static Unknown: number = -1;
+ public static Audio: number = 0;
+ public static Video: number = 1;
+ public static Text: number = 2;
+ public constructor();
+ }
+ }
+ export class Type {
+ public static class: java.lang.Class;
+ public static Unknown: number = 0;
+ public static File: number = 1;
+ public static Directory: number = 2;
+ public static Disc: number = 3;
+ public static Stream: number = 4;
+ public static Playlist: number = 5;
+ public constructor();
+ }
+ export class UnknownTrack extends org.videolan.libvlc.interfaces.IMedia.Track {
+ public static class: java.lang.Class;
+ public constructor(type: number, id: string, name: string, selected: boolean, codec: string, originalCodec: string, fourcc: number, profile: number, level: number, bitrate: number, language: string, description: string);
+ public constructor(id: string, name: string, selected: boolean, codec: string, originalCodec: string, fourcc: number, profile: number, level: number, bitrate: number, language: string, description: string);
+ }
+ export class VideoTrack extends org.videolan.libvlc.interfaces.IMedia.Track {
+ public static class: java.lang.Class;
+ public height: number;
+ public width: number;
+ public sarNum: number;
+ public sarDen: number;
+ public frameRateNum: number;
+ public frameRateDen: number;
+ public orientation: number;
+ public projection: number;
+ public constructor(type: number, id: string, name: string, selected: boolean, codec: string, originalCodec: string, fourcc: number, profile: number, level: number, bitrate: number, language: string, description: string);
+ public constructor(id: string, name: string, selected: boolean, codec: string, originalCodec: string, fourcc: number, profile: number, level: number, bitrate: number, language: string, description: string, height: number, width: number, sarNum: number, sarDen: number, frameRateNum: number, frameRateDen: number, orientation: number, projection: number);
+ }
+ export module VideoTrack {
+ export class Orientation {
+ public static class: java.lang.Class;
+ public static TopLeft: number = 0;
+ public static TopRight: number = 1;
+ public static BottomLeft: number = 2;
+ public static BottomRight: number = 3;
+ public static LeftTop: number = 4;
+ public static LeftBottom: number = 5;
+ public static RightTop: number = 6;
+ public static RightBottom: number = 7;
+ public constructor();
+ }
+ export class Projection {
+ public static class: java.lang.Class;
+ public static Rectangular: number = 0;
+ public static EquiRectangular: number = 1;
+ public static CubemapLayoutStandard: number = 256;
+ public constructor();
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module interfaces {
+ export class IMediaFactory extends org.videolan.libvlc.interfaces.IComponentFactory {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.interfaces.IMediaFactory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: {
+ getFromLocalPath(param0: org.videolan.libvlc.interfaces.ILibVLC, param1: string): org.videolan.libvlc.interfaces.IMedia;
+ getFromUri(param0: org.videolan.libvlc.interfaces.ILibVLC, param1: globalAndroid.net.Uri): org.videolan.libvlc.interfaces.IMedia;
+ getFromFileDescriptor(param0: org.videolan.libvlc.interfaces.ILibVLC, param1: java.io.FileDescriptor): org.videolan.libvlc.interfaces.IMedia;
+ getFromAssetFileDescriptor(param0: org.videolan.libvlc.interfaces.ILibVLC, param1: globalAndroid.content.res.AssetFileDescriptor): org.videolan.libvlc.interfaces.IMedia;
+ ''(): void;
+ });
+ public constructor();
+ public static factoryId: string;
+ public getFromLocalPath(param0: org.videolan.libvlc.interfaces.ILibVLC, param1: string): org.videolan.libvlc.interfaces.IMedia;
+ public getFromAssetFileDescriptor(param0: org.videolan.libvlc.interfaces.ILibVLC, param1: globalAndroid.content.res.AssetFileDescriptor): org.videolan.libvlc.interfaces.IMedia;
+ public getFromFileDescriptor(param0: org.videolan.libvlc.interfaces.ILibVLC, param1: java.io.FileDescriptor): org.videolan.libvlc.interfaces.IMedia;
+ public getFromUri(param0: org.videolan.libvlc.interfaces.ILibVLC, param1: globalAndroid.net.Uri): org.videolan.libvlc.interfaces.IMedia;
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module interfaces {
+ export class IMediaList extends org.videolan.libvlc.interfaces.IVLCObject {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.interfaces.IMediaList interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { setEventListener(param0: org.videolan.libvlc.interfaces.IMediaList.EventListener, param1: globalAndroid.os.Handler): void; getCount(): number; getMediaAt(param0: number): org.videolan.libvlc.interfaces.IMedia; isLocked(): boolean; retain(): boolean; release(): void; isReleased(): boolean; getLibVLC(): org.videolan.libvlc.interfaces.ILibVLC });
+ public constructor();
+ public getMediaAt(param0: number): org.videolan.libvlc.interfaces.IMedia;
+ public isLocked(): boolean;
+ public getCount(): number;
+ public getLibVLC(): org.videolan.libvlc.interfaces.ILibVLC;
+ public setEventListener(param0: org.videolan.libvlc.interfaces.IMediaList.EventListener, param1: globalAndroid.os.Handler): void;
+ public retain(): boolean;
+ public release(): void;
+ public isReleased(): boolean;
+ }
+ export module IMediaList {
+ export class Event extends org.videolan.libvlc.interfaces.AbstractVLCEvent {
+ public static class: java.lang.Class;
+ public static ItemAdded: number = 512;
+ public static ItemDeleted: number = 514;
+ public static EndReached: number = 516;
+ public media: org.videolan.libvlc.interfaces.IMedia;
+ public index: number;
+ public constructor(type: number, arg1: number, arg2: number);
+ public constructor(type: number, arg1: number, args1: string);
+ public release(): void;
+ public constructor(type: number);
+ public constructor(type: number, arg1: number);
+ public constructor(type: number, argf: number);
+ public constructor(type: number, media: org.videolan.libvlc.interfaces.IMedia, retain: boolean, index: number);
+ }
+ export class EventListener extends org.videolan.libvlc.interfaces.AbstractVLCEvent.Listener {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.interfaces.IMediaList$EventListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onEvent(param0: any): void });
+ public constructor();
+ public onEvent(param0: any): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module interfaces {
+ export class IVLCObject extends java.lang.Object {
+ public static class: java.lang.Class>;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.interfaces.IVLCObject interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { retain(): boolean; release(): void; isReleased(): boolean; getLibVLC(): org.videolan.libvlc.interfaces.ILibVLC });
+ public constructor();
+ public getLibVLC(): org.videolan.libvlc.interfaces.ILibVLC;
+ public retain(): boolean;
+ public release(): void;
+ public isReleased(): boolean;
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module interfaces {
+ export class IVLCVout {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.interfaces.IVLCVout interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: {
+ setVideoView(param0: globalAndroid.view.SurfaceView): void;
+ setVideoView(param0: globalAndroid.view.TextureView): void;
+ setVideoSurface(param0: globalAndroid.view.Surface, param1: globalAndroid.view.SurfaceHolder): void;
+ setVideoSurface(param0: globalAndroid.graphics.SurfaceTexture): void;
+ setSubtitlesView(param0: globalAndroid.view.SurfaceView): void;
+ setSubtitlesView(param0: globalAndroid.view.TextureView): void;
+ setSubtitlesSurface(param0: globalAndroid.view.Surface, param1: globalAndroid.view.SurfaceHolder): void;
+ setSubtitlesSurface(param0: globalAndroid.graphics.SurfaceTexture): void;
+ attachViews(param0: org.videolan.libvlc.interfaces.IVLCVout.OnNewVideoLayoutListener): void;
+ attachViews(): void;
+ detachViews(): void;
+ areViewsAttached(): boolean;
+ addCallback(param0: org.videolan.libvlc.interfaces.IVLCVout.Callback): void;
+ removeCallback(param0: org.videolan.libvlc.interfaces.IVLCVout.Callback): void;
+ sendMouseEvent(param0: number, param1: number, param2: number, param3: number): void;
+ setWindowSize(param0: number, param1: number): void;
+ });
+ public constructor();
+ public attachViews(param0: org.videolan.libvlc.interfaces.IVLCVout.OnNewVideoLayoutListener): void;
+ public setWindowSize(param0: number, param1: number): void;
+ public areViewsAttached(): boolean;
+ public setSubtitlesView(param0: globalAndroid.view.SurfaceView): void;
+ public setVideoView(param0: globalAndroid.view.TextureView): void;
+ public setSubtitlesSurface(param0: globalAndroid.view.Surface, param1: globalAndroid.view.SurfaceHolder): void;
+ public setSubtitlesView(param0: globalAndroid.view.TextureView): void;
+ public addCallback(param0: org.videolan.libvlc.interfaces.IVLCVout.Callback): void;
+ public sendMouseEvent(param0: number, param1: number, param2: number, param3: number): void;
+ public removeCallback(param0: org.videolan.libvlc.interfaces.IVLCVout.Callback): void;
+ public setVideoSurface(param0: globalAndroid.graphics.SurfaceTexture): void;
+ public setVideoSurface(param0: globalAndroid.view.Surface, param1: globalAndroid.view.SurfaceHolder): void;
+ public attachViews(): void;
+ public detachViews(): void;
+ public setSubtitlesSurface(param0: globalAndroid.graphics.SurfaceTexture): void;
+ public setVideoView(param0: globalAndroid.view.SurfaceView): void;
+ }
+ export module IVLCVout {
+ export class Callback {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.interfaces.IVLCVout$Callback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onSurfacesCreated(param0: org.videolan.libvlc.interfaces.IVLCVout): void; onSurfacesDestroyed(param0: org.videolan.libvlc.interfaces.IVLCVout): void });
+ public constructor();
+ public onSurfacesCreated(param0: org.videolan.libvlc.interfaces.IVLCVout): void;
+ public onSurfacesDestroyed(param0: org.videolan.libvlc.interfaces.IVLCVout): void;
+ }
+ export class OnNewVideoLayoutListener {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.interfaces.IVLCVout$OnNewVideoLayoutListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onNewVideoLayout(param0: org.videolan.libvlc.interfaces.IVLCVout, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number): void });
+ public constructor();
+ public onNewVideoLayout(param0: org.videolan.libvlc.interfaces.IVLCVout, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module media {
+ export class MediaPlayer {
+ public static class: java.lang.Class;
+ public static MEDIA_ERROR_UNKNOWN: number = 1;
+ public static MEDIA_ERROR_SERVER_DIED: number = 100;
+ public static MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK: number = 200;
+ public static MEDIA_ERROR_IO: number = -1004;
+ public static MEDIA_ERROR_MALFORMED: number = -1007;
+ public static MEDIA_ERROR_UNSUPPORTED: number = -1010;
+ public static MEDIA_ERROR_TIMED_OUT: number = -110;
+ public static MEDIA_INFO_UNKNOWN: number = 1;
+ public static MEDIA_INFO_STARTED_AS_NEXT: number = 2;
+ public static MEDIA_INFO_VIDEO_RENDERING_START: number = 3;
+ public static MEDIA_INFO_VIDEO_TRACK_LAGGING: number = 700;
+ public static MEDIA_INFO_BUFFERING_START: number = 701;
+ public static MEDIA_INFO_BUFFERING_END: number = 702;
+ public static MEDIA_INFO_BAD_INTERLEAVING: number = 800;
+ public static MEDIA_INFO_NOT_SEEKABLE: number = 801;
+ public static MEDIA_INFO_METADATA_UPDATE: number = 802;
+ public static MEDIA_INFO_EXTERNAL_METADATA_UPDATE: number = 803;
+ public static MEDIA_INFO_TIMED_TEXT_ERROR: number = 900;
+ public static MEDIA_INFO_UNSUPPORTED_SUBTITLE: number = 901;
+ public static MEDIA_INFO_SUBTITLE_TIMED_OUT: number = 902;
+ public static VIDEO_SCALING_MODE_SCALE_TO_FIT: number = 1;
+ public static VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING: number = 2;
+ public static MEDIA_MIMETYPE_TEXT_SUBRIP: string = 'application/x-subrip';
+ public setDataSource(path: string): void;
+ public finalize(): void;
+ public getVideoWidth(): number;
+ public setAudioStreamType(streamtype: number): void;
+ public setVolume(leftVolume: number, rightVolume: number): void;
+ public static create(context: globalAndroid.content.Context, uri: globalAndroid.net.Uri, holder: globalAndroid.view.SurfaceHolder, audioAttributes: any, audioSessionId: number): org.videolan.libvlc.media.MediaPlayer;
+ public constructor();
+ public pause(): void;
+ public setDataSource(context: globalAndroid.content.Context, uri: globalAndroid.net.Uri): void;
+ public addTimedTextSource(fd: java.io.FileDescriptor, offset: number, length: number, mime: string): void;
+ public selectTrack(index: number): void;
+ public setAudioAttributes(attributes: any): void;
+ public setWakeMode(context: globalAndroid.content.Context, mode: number): void;
+ public prepare(): void;
+ public setScreenOnWhilePlaying(screenOn: boolean): void;
+ public getTrackInfo(): androidNative.Array;
+ public getAudioSessionId(): number;
+ public setOnBufferingUpdateListener(listener: org.videolan.libvlc.media.MediaPlayer.OnBufferingUpdateListener): void;
+ public setDataSource(context: globalAndroid.content.Context, uri: globalAndroid.net.Uri, headers: java.util.Map): void;
+ public setNextMediaPlayer(next: org.videolan.libvlc.media.MediaPlayer): void;
+ public setLooping(looping: boolean): void;
+ public release(): void;
+ public addTimedTextSource(path: string, mimeType: string): void;
+ public setOnTimedTextListener(listener: org.videolan.libvlc.media.MediaPlayer.OnTimedTextListener): void;
+ public setDisplay(sh: globalAndroid.view.SurfaceHolder): void;
+ public getSelectedTrack(trackType: number): number;
+ public setVideoScalingMode(mode: number): void;
+ public stop(): void;
+ public static create(context: globalAndroid.content.Context, resid: number): org.videolan.libvlc.media.MediaPlayer;
+ public prepareAsync(): void;
+ public setSurface(surface: globalAndroid.view.Surface): void;
+ public setOnSeekCompleteListener(listener: org.videolan.libvlc.media.MediaPlayer.OnSeekCompleteListener): void;
+ public setOnInfoListener(listener: org.videolan.libvlc.media.MediaPlayer.OnInfoListener): void;
+ public static create(context: globalAndroid.content.Context, resid: number, audioAttributes: any, audioSessionId: number): org.videolan.libvlc.media.MediaPlayer;
+ public setOnCompletionListener(listener: org.videolan.libvlc.media.MediaPlayer.OnCompletionListener): void;
+ public start(): void;
+ public seekTo(msec: number): void;
+ public deselectTrack(index: number): void;
+ public getDuration(): number;
+ public isPlaying(): boolean;
+ public addTimedTextSource(context: globalAndroid.content.Context, uri: globalAndroid.net.Uri, mimeType: string): void;
+ public getCurrentPosition(): number;
+ public isLooping(): boolean;
+ public setDataSource(fd: java.io.FileDescriptor): void;
+ public getVideoHeight(): number;
+ public setOnErrorListener(listener: org.videolan.libvlc.media.MediaPlayer.OnErrorListener): void;
+ public reset(): void;
+ public static create(context: globalAndroid.content.Context, uri: globalAndroid.net.Uri): org.videolan.libvlc.media.MediaPlayer;
+ public setOnVideoSizeChangedListener(listener: org.videolan.libvlc.media.MediaPlayer.OnVideoSizeChangedListener): void;
+ public setDataSource(fd: java.io.FileDescriptor, offset: number, length: number): void;
+ public attachAuxEffect(effectId: number): void;
+ public setAudioSessionId(sessionId: number): void;
+ public setAuxEffectSendLevel(level: number): void;
+ public static create(context: globalAndroid.content.Context, uri: globalAndroid.net.Uri, holder: globalAndroid.view.SurfaceHolder): org.videolan.libvlc.media.MediaPlayer;
+ public addTimedTextSource(fd: java.io.FileDescriptor, mimeType: string): void;
+ public setOnPreparedListener(listener: org.videolan.libvlc.media.MediaPlayer.OnPreparedListener): void;
+ }
+ export module MediaPlayer {
+ export class OnBufferingUpdateListener {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.media.MediaPlayer$OnBufferingUpdateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onBufferingUpdate(param0: org.videolan.libvlc.media.MediaPlayer, param1: number): void });
+ public constructor();
+ public onBufferingUpdate(param0: org.videolan.libvlc.media.MediaPlayer, param1: number): void;
+ }
+ export class OnCompletionListener {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.media.MediaPlayer$OnCompletionListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onCompletion(param0: org.videolan.libvlc.media.MediaPlayer): void });
+ public constructor();
+ public onCompletion(param0: org.videolan.libvlc.media.MediaPlayer): void;
+ }
+ export class OnErrorListener {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.media.MediaPlayer$OnErrorListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onError(param0: org.videolan.libvlc.media.MediaPlayer, param1: number, param2: number): boolean });
+ public constructor();
+ public onError(param0: org.videolan.libvlc.media.MediaPlayer, param1: number, param2: number): boolean;
+ }
+ export class OnInfoListener {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.media.MediaPlayer$OnInfoListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onInfo(param0: org.videolan.libvlc.media.MediaPlayer, param1: number, param2: number): boolean });
+ public constructor();
+ public onInfo(param0: org.videolan.libvlc.media.MediaPlayer, param1: number, param2: number): boolean;
+ }
+ export class OnPreparedListener {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.media.MediaPlayer$OnPreparedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onPrepared(param0: org.videolan.libvlc.media.MediaPlayer): void });
+ public constructor();
+ public onPrepared(param0: org.videolan.libvlc.media.MediaPlayer): void;
+ }
+ export class OnSeekCompleteListener {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.media.MediaPlayer$OnSeekCompleteListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onSeekComplete(param0: org.videolan.libvlc.media.MediaPlayer): void });
+ public constructor();
+ public onSeekComplete(param0: org.videolan.libvlc.media.MediaPlayer): void;
+ }
+ export class OnTimedTextListener {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.media.MediaPlayer$OnTimedTextListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onTimedText(param0: org.videolan.libvlc.media.MediaPlayer, param1: globalAndroid.media.TimedText): void });
+ public constructor();
+ public onTimedText(param0: org.videolan.libvlc.media.MediaPlayer, param1: globalAndroid.media.TimedText): void;
+ }
+ export class OnVideoSizeChangedListener {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.media.MediaPlayer$OnVideoSizeChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onVideoSizeChanged(param0: org.videolan.libvlc.media.MediaPlayer, param1: number, param2: number): void });
+ public constructor();
+ public onVideoSizeChanged(param0: org.videolan.libvlc.media.MediaPlayer, param1: number, param2: number): void;
+ }
+ export class TrackInfo {
+ public static class: java.lang.Class;
+ public static MEDIA_TRACK_TYPE_UNKNOWN: number = 0;
+ public static MEDIA_TRACK_TYPE_VIDEO: number = 1;
+ public static MEDIA_TRACK_TYPE_AUDIO: number = 2;
+ public static MEDIA_TRACK_TYPE_TIMEDTEXT: number = 3;
+ public static MEDIA_TRACK_TYPE_SUBTITLE: number = 4;
+ public describeContents(): number;
+ public getLanguage(): string;
+ public getFormat(): globalAndroid.media.MediaFormat;
+ public getTrackType(): number;
+ public writeToParcel(dest: globalAndroid.os.Parcel, flags: number): void;
+ public toString(): string;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module media {
+ export class VideoView {
+ public static class: java.lang.Class;
+ public onInitializeAccessibilityNodeInfo(info: globalAndroid.view.accessibility.AccessibilityNodeInfo): void;
+ public onLayout(changed: boolean, left: number, top: number, right: number, bottom: number): void;
+ public onKeyDown(keyCode: number, event: globalAndroid.view.KeyEvent): boolean;
+ public setVideoPath(path: string): void;
+ public addSubtitleSource(is: java.io.InputStream, format: globalAndroid.media.MediaFormat): void;
+ public canPause(): boolean;
+ public setVideoURI(uri: globalAndroid.net.Uri, headers: java.util.Map): void;
+ public constructor(context: globalAndroid.content.Context, attrs: globalAndroid.util.AttributeSet);
+ public stopPlayback(): void;
+ public draw(canvas: globalAndroid.graphics.Canvas): void;
+ public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
+ public start(): void;
+ public onAttachedToWindow(): void;
+ public setOnErrorListener(l: globalAndroid.media.MediaPlayer.OnErrorListener): void;
+ public seekTo(msec: number): void;
+ public constructor(context: globalAndroid.content.Context, attrs: globalAndroid.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
+ public canSeekBackward(): boolean;
+ public getDuration(): number;
+ public constructor(context: globalAndroid.content.Context, attrs: globalAndroid.util.AttributeSet, defStyleAttr: number);
+ public pause(): void;
+ public isPlaying(): boolean;
+ public onTrackballEvent(ev: globalAndroid.view.MotionEvent): boolean;
+ public getCurrentPosition(): number;
+ public setOnCompletionListener(l: globalAndroid.media.MediaPlayer.OnCompletionListener): void;
+ public suspend(): void;
+ public onInitializeAccessibilityEvent(event: globalAndroid.view.accessibility.AccessibilityEvent): void;
+ public setVideoURI(uri: globalAndroid.net.Uri): void;
+ public getBufferPercentage(): number;
+ public onDetachedFromWindow(): void;
+ public resolveAdjustedSize(desiredSize: number, measureSpec: number): number;
+ public setOnPreparedListener(l: globalAndroid.media.MediaPlayer.OnPreparedListener): void;
+ public canSeekForward(): boolean;
+ public getAudioSessionId(): number;
+ public setOnInfoListener(l: globalAndroid.media.MediaPlayer.OnInfoListener): void;
+ public onTouchEvent(ev: globalAndroid.view.MotionEvent): boolean;
+ public resume(): void;
+ public constructor(context: globalAndroid.content.Context);
+ public setMediaController(controller: globalAndroid.widget.MediaController): void;
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module stubs {
+ export class StubLibVLC extends org.videolan.libvlc.stubs.StubVLCObject implements org.videolan.libvlc.interfaces.ILibVLC {
+ public static class: java.lang.Class;
+ public constructor();
+ public constructor(context: globalAndroid.content.Context, options: java.util.List);
+ public getAppContext(): globalAndroid.content.Context;
+ public getLibVLC(): org.videolan.libvlc.interfaces.ILibVLC;
+ public constructor(context: globalAndroid.content.Context);
+ public retain(): boolean;
+ public release(): void;
+ public isReleased(): boolean;
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module stubs {
+ export class StubLibVLCFactory extends org.videolan.libvlc.interfaces.ILibVLCFactory {
+ public static class: java.lang.Class;
+ public getFromContext(context: globalAndroid.content.Context): org.videolan.libvlc.interfaces.ILibVLC;
+ public getFromOptions(context: globalAndroid.content.Context, options: java.util.List): org.videolan.libvlc.interfaces.ILibVLC;
+ public constructor();
+ public getFromOptions(param0: globalAndroid.content.Context, param1: java.util.List): org.videolan.libvlc.interfaces.ILibVLC;
+ public getFromContext(param0: globalAndroid.content.Context): org.videolan.libvlc.interfaces.ILibVLC;
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module stubs {
+ export class StubMedia extends org.videolan.libvlc.stubs.StubVLCObject implements org.videolan.libvlc.interfaces.IMedia {
+ public static class: java.lang.Class;
+ public getType(): number;
+ public setType(type: number): void;
+ public constructor(ILibVLC: org.videolan.libvlc.interfaces.ILibVLC, uri: globalAndroid.net.Uri);
+ public getTracks(): androidNative.Array;
+ public setHWDecoderEnabled(enabled: boolean, force: boolean): void;
+ public parseAsync(param0: number, param1: number): boolean;
+ public setEventListener(listener: org.videolan.libvlc.interfaces.IMedia.EventListener): void;
+ public parse(): boolean;
+ public getTracks(type: number): androidNative.Array;
+ public constructor(ILibVLC: org.videolan.libvlc.interfaces.ILibVLC, fd: java.io.FileDescriptor);
+ public getTracks(param0: number): androidNative.Array;
+ public getDuration(): number;
+ public addSlave(slave: org.videolan.libvlc.interfaces.IMedia.Slave): void;
+ public getMeta(param0: number, param1: boolean): string;
+ public getStats(): org.videolan.libvlc.interfaces.IMedia.Stats;
+ public constructor();
+ public parseAsync(flags: number): boolean;
+ public getLibVLC(): org.videolan.libvlc.interfaces.ILibVLC;
+ public retain(): boolean;
+ public getMeta(param0: number): string;
+ public constructor(ILibVLC: org.videolan.libvlc.interfaces.ILibVLC, path: string);
+ public parseAsync(param0: number): boolean;
+ public addSlave(param0: org.videolan.libvlc.interfaces.IMedia.Slave): void;
+ public parse(flags: number): boolean;
+ public parseAsync(): boolean;
+ public parseAsync(flags: number, timeout: number): boolean;
+ public release(): void;
+ public setHWDecoderEnabled(param0: boolean, param1: boolean): void;
+ public isParsed(): boolean;
+ public getMeta(id: number): string;
+ public subItems(): org.videolan.libvlc.interfaces.IMediaList;
+ public getUri(): globalAndroid.net.Uri;
+ public constructor(ILibVLC: org.videolan.libvlc.interfaces.ILibVLC, assetFileDescriptor: globalAndroid.content.res.AssetFileDescriptor);
+ public setEventListener(param0: org.videolan.libvlc.interfaces.IMedia.EventListener): void;
+ public clearSlaves(): void;
+ public getSlaves(): androidNative.Array;
+ public addOption(param0: string): void;
+ public getMeta(id: number, force: boolean): string;
+ public addOption(option: string): void;
+ public setDefaultMediaPlayerOptions(): void;
+ public isReleased(): boolean;
+ public parse(param0: number): boolean;
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module stubs {
+ export class StubMediaFactory extends org.videolan.libvlc.interfaces.IMediaFactory {
+ public static class: java.lang.Class;
+ public getFromFileDescriptor(ILibVLC: org.videolan.libvlc.interfaces.ILibVLC, fd: java.io.FileDescriptor): org.videolan.libvlc.interfaces.IMedia;
+ public getFromLocalPath(ILibVLC: org.videolan.libvlc.interfaces.ILibVLC, path: string): org.videolan.libvlc.interfaces.IMedia;
+ public getFromUri(ILibVLC: org.videolan.libvlc.interfaces.ILibVLC, uri: globalAndroid.net.Uri): org.videolan.libvlc.interfaces.IMedia;
+ public constructor();
+ public getFromLocalPath(param0: org.videolan.libvlc.interfaces.ILibVLC, param1: string): org.videolan.libvlc.interfaces.IMedia;
+ public getFromAssetFileDescriptor(param0: org.videolan.libvlc.interfaces.ILibVLC, param1: globalAndroid.content.res.AssetFileDescriptor): org.videolan.libvlc.interfaces.IMedia;
+ public getFromFileDescriptor(param0: org.videolan.libvlc.interfaces.ILibVLC, param1: java.io.FileDescriptor): org.videolan.libvlc.interfaces.IMedia;
+ public getFromUri(param0: org.videolan.libvlc.interfaces.ILibVLC, param1: globalAndroid.net.Uri): org.videolan.libvlc.interfaces.IMedia;
+ public getFromAssetFileDescriptor(ILibVLC: org.videolan.libvlc.interfaces.ILibVLC, assetFileDescriptor: globalAndroid.content.res.AssetFileDescriptor): org.videolan.libvlc.interfaces.IMedia;
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module stubs {
+ export class StubMediaList extends org.videolan.libvlc.stubs.StubVLCObject implements org.videolan.libvlc.interfaces.IMediaList {
+ public static class: java.lang.Class;
+ public isLocked(): boolean;
+ public getMediaAt(param0: number): org.videolan.libvlc.interfaces.IMedia;
+ public getCount(): number;
+ public getMediaAt(index: number): org.videolan.libvlc.interfaces.IMedia;
+ public constructor();
+ public getLibVLC(): org.videolan.libvlc.interfaces.ILibVLC;
+ public setEventListener(param0: org.videolan.libvlc.interfaces.IMediaList.EventListener, param1: globalAndroid.os.Handler): void;
+ public retain(): boolean;
+ public release(): void;
+ public setEventListener(listener: org.videolan.libvlc.interfaces.IMediaList.EventListener, handler: globalAndroid.os.Handler): void;
+ public isReleased(): boolean;
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module stubs {
+ export class StubVLCObject extends org.videolan.libvlc.interfaces.IVLCObject {
+ public static class: java.lang.Class>;
+ public constructor();
+ public getLibVLC(): org.videolan.libvlc.interfaces.ILibVLC;
+ public retain(): boolean;
+ public release(): void;
+ public isReleased(): boolean;
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module util {
+ export class AndroidUtil {
+ public static class: java.lang.Class;
+ public static isROrLater: boolean;
+ public static isPOrLater: boolean;
+ public static isOOrLater: boolean;
+ public static isNougatMR1OrLater: boolean;
+ public static isNougatOrLater: boolean;
+ public static isMarshMallowOrLater: boolean;
+ public constructor();
+ public static PathToUri(path: string): globalAndroid.net.Uri;
+ public static UriToFile(uri: globalAndroid.net.Uri): java.io.File;
+ public static FileToUri(file: java.io.File): globalAndroid.net.Uri;
+ public static LocationToUri(location: string): globalAndroid.net.Uri;
+ public static resolveActivity(context: globalAndroid.content.Context): globalAndroid.app.Activity;
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module util {
+ export class DisplayManager {
+ public static class: java.lang.Class;
+ public isSecondary(): boolean;
+ public getPresentation(): org.videolan.libvlc.util.DisplayManager.SecondaryDisplay;
+ public isOnRenderer(): boolean;
+ public getDisplayType(): org.videolan.libvlc.util.DisplayManager.DisplayType;
+ public release(): void;
+ public setMediaRouterCallback(): boolean;
+ public removeMediaRouterCallback(): void;
+ public constructor(activity: globalAndroid.app.Activity, selectedRender: androidx.lifecycle.LiveData, textureView: boolean, cloneMode: boolean, benchmark: boolean);
+ public isPrimary(): boolean;
+ }
+ export module DisplayManager {
+ export class DisplayType {
+ public static class: java.lang.Class;
+ public static PRIMARY: org.videolan.libvlc.util.DisplayManager.DisplayType;
+ public static PRESENTATION: org.videolan.libvlc.util.DisplayManager.DisplayType;
+ public static RENDERER: org.videolan.libvlc.util.DisplayManager.DisplayType;
+ public static values(): androidNative.Array;
+ public static valueOf(name: string): org.videolan.libvlc.util.DisplayManager.DisplayType;
+ }
+ export class SecondaryDisplay {
+ public static class: java.lang.Class;
+ public static TAG: string = 'VLC/SecondaryDisplay';
+ public constructor(this$0: org.videolan.libvlc.util.DisplayManager, outerContext: globalAndroid.content.Context, display: globalAndroid.view.Display);
+ public getSurfaceFrame(): globalAndroid.widget.FrameLayout;
+ public onCreate(savedInstanceState: globalAndroid.os.Bundle): void;
+ public constructor(this$0: org.videolan.libvlc.util.DisplayManager, outerContext: globalAndroid.content.Context, display: globalAndroid.view.Display, theme: number);
+ public getSurfaceView(): globalAndroid.view.SurfaceView;
+ public getSubtitlesSurfaceView(): globalAndroid.view.SurfaceView;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module util {
+ export class Dumper {
+ public static class: java.lang.Class;
+ public constructor(uri: globalAndroid.net.Uri, filepath: string, listener: org.videolan.libvlc.util.Dumper.Listener);
+ public cancel(): void;
+ public start(): void;
+ }
+ export module Dumper {
+ export class Listener {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.util.Dumper$Listener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onFinish(param0: boolean): void; onProgress(param0: number): void });
+ public constructor();
+ public onProgress(param0: number): void;
+ public onFinish(param0: boolean): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module util {
+ export class Extensions {
+ public static class: java.lang.Class;
+ public static VIDEO: java.util.HashSet;
+ public static AUDIO: java.util.HashSet;
+ public static SUBTITLES: java.util.HashSet;
+ public static PLAYLIST: java.util.HashSet;
+ public constructor();
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module util {
+ export class MediaBrowser {
+ public static class: java.lang.Class;
+ public discoverNetworkShares(): void;
+ public browse(path: string, flags: number): void;
+ public getMediaAt(index: number): org.videolan.libvlc.interfaces.IMedia;
+ public constructor(libvlc: org.videolan.libvlc.interfaces.ILibVLC, listener: org.videolan.libvlc.util.MediaBrowser.EventListener, handler: globalAndroid.os.Handler);
+ public getMediaCount(): number;
+ public constructor(libvlc: org.videolan.libvlc.interfaces.ILibVLC, listener: org.videolan.libvlc.util.MediaBrowser.EventListener);
+ public changeEventListener(eventListener: org.videolan.libvlc.util.MediaBrowser.EventListener): void;
+ public release(): void;
+ public browse(uri: globalAndroid.net.Uri, flags: number): void;
+ public browse(media: org.videolan.libvlc.interfaces.IMedia, flags: number): void;
+ public discoverNetworkShares(serviceName: string): void;
+ public setIgnoreFileTypes(list: string): void;
+ }
+ export module MediaBrowser {
+ export class EventListener {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the org.videolan.libvlc.util.MediaBrowser$EventListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onMediaAdded(param0: number, param1: org.videolan.libvlc.interfaces.IMedia): void; onMediaRemoved(param0: number, param1: org.videolan.libvlc.interfaces.IMedia): void; onBrowseEnd(): void });
+ public constructor();
+ public onBrowseEnd(): void;
+ public onMediaAdded(param0: number, param1: org.videolan.libvlc.interfaces.IMedia): void;
+ public onMediaRemoved(param0: number, param1: org.videolan.libvlc.interfaces.IMedia): void;
+ }
+ export class Flag {
+ public static class: java.lang.Class;
+ public static Interact: number = 1;
+ public static NoSlavesAutodetect: number = 2;
+ public static ShowHiddenFiles: number = 4;
+ public constructor();
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module util {
+ export class VLCUtil {
+ public static class: java.lang.Class;
+ public static TAG: string = 'VLC/LibVLC/Util';
+ public static getErrorMsg(): string;
+ public static encodeVLCUri(uri: globalAndroid.net.Uri): string;
+ public static encodeVLCString(c: string): string;
+ public constructor();
+ public static UriFromMrl(hex: string): globalAndroid.net.Uri;
+ public static getABIList21(): androidNative.Array;
+ public static getABIList(): androidNative.Array;
+ public static getMachineSpecs(): org.videolan.libvlc.util.VLCUtil.MachineSpecs;
+ public static hasCompatibleCPU(abi: globalAndroid.content.Context): boolean;
+ }
+ export module VLCUtil {
+ export class ElfData {
+ public static class: java.lang.Class;
+ }
+ export class MachineSpecs {
+ public static class: java.lang.Class;
+ public hasNeon: boolean;
+ public hasFpu: boolean;
+ public hasArmV6: boolean;
+ public hasArmV7: boolean;
+ public hasMips: boolean;
+ public hasX86: boolean;
+ public is64bits: boolean;
+ public bogoMIPS: number;
+ public processors: number;
+ public frequency: number;
+ public constructor();
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module org {
+ export module videolan {
+ export module libvlc {
+ export module util {
+ export class VLCVideoLayout {
+ public static class: java.lang.Class;
+ public constructor(context: globalAndroid.content.Context, attrs: globalAndroid.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
+ public constructor(context: globalAndroid.content.Context, attrs: globalAndroid.util.AttributeSet, defStyleAttr: number);
+ public constructor(context: globalAndroid.content.Context, attrs: globalAndroid.util.AttributeSet);
+ public constructor(context: globalAndroid.content.Context);
+ public onAttachedToWindow(): void;
+ }
+ }
+ }
+ }
+}
+
+//Generics information:
+//org.videolan.libvlc.VLCObject:1
+//org.videolan.libvlc.interfaces.AbstractVLCEvent.Listener:1
+//org.videolan.libvlc.interfaces.IVLCObject:1
+//org.videolan.libvlc.stubs.StubVLCObject:1
diff --git a/packages/nativescript-vlc-player/types/objc!MobileVLCKit.d.ts b/packages/nativescript-vlc-player/types/objc!MobileVLCKit.d.ts
new file mode 100644
index 00000000..ae53c6e6
--- /dev/null
+++ b/packages/nativescript-vlc-player/types/objc!MobileVLCKit.d.ts
@@ -0,0 +1,1409 @@
+declare class VLCAdjustFilter extends NSObject implements VLCFilter {
+ static alloc(): VLCAdjustFilter; // inherited from NSObject
+
+ static createWithVLCMediaPlayer(mediaPlayer: VLCMediaPlayer): VLCAdjustFilter;
+
+ static new(): VLCAdjustFilter; // inherited from NSObject
+
+ readonly brightness: VLCFilterParameter;
+
+ readonly contrast: VLCFilterParameter;
+
+ readonly gamma: VLCFilterParameter;
+
+ readonly hue: VLCFilterParameter;
+
+ readonly saturation: VLCFilterParameter;
+
+ readonly debugDescription: string; // inherited from NSObjectProtocol
+
+ readonly description: string; // inherited from NSObjectProtocol
+
+ enabled: boolean; // inherited from VLCFilter
+
+ readonly hash: number; // inherited from NSObjectProtocol
+
+ readonly isProxy: boolean; // inherited from NSObjectProtocol
+
+ readonly mediaPlayer: VLCMediaPlayer; // inherited from VLCFilter
+
+ readonly parameters: NSDictionary; // inherited from VLCFilter
+
+ readonly superclass: typeof NSObject; // inherited from NSObjectProtocol
+
+ readonly; // inherited from NSObjectProtocol
+
+ constructor(o: { VLCMediaPlayer: VLCMediaPlayer });
+
+ applyParametersFrom(otherFilter: VLCFilter): void;
+
+ class(): typeof NSObject;
+
+ conformsToProtocol(aProtocol: any /* Protocol */): boolean;
+
+ initWithVLCMediaPlayer(mediaPlayer: VLCMediaPlayer): this;
+
+ isEqual(object: any): boolean;
+
+ isKindOfClass(aClass: typeof NSObject): boolean;
+
+ isMemberOfClass(aClass: typeof NSObject): boolean;
+
+ performSelector(aSelector: string): any;
+
+ performSelectorWithObject(aSelector: string, object: any): any;
+
+ performSelectorWithObjectWithObject(aSelector: string, object1: any, object2: any): any;
+
+ resetParametersIfNeeded(): boolean;
+
+ respondsToSelector(aSelector: string): boolean;
+
+ retainCount(): number;
+
+ self(): this;
+}
+
+declare class VLCAudio extends NSObject {
+ static alloc(): VLCAudio; // inherited from NSObject
+
+ static new(): VLCAudio; // inherited from NSObject
+
+ muted: boolean;
+
+ passthrough: boolean;
+
+ volume: number;
+
+ setMute(value: boolean): void;
+
+ volumeDown(): void;
+
+ volumeUp(): void;
+}
+
+declare var VLCChapterDescriptionDuration: string;
+
+declare var VLCChapterDescriptionName: string;
+
+declare var VLCChapterDescriptionTimeOffset: string;
+
+declare class VLCConsoleLogger extends NSObject implements VLCFormattedMessageLogging {
+ static alloc(): VLCConsoleLogger; // inherited from NSObject
+
+ static new(): VLCConsoleLogger; // inherited from NSObject
+
+ readonly debugDescription: string; // inherited from NSObjectProtocol
+
+ readonly description: string; // inherited from NSObjectProtocol
+
+ formatter: VLCLogMessageFormatting; // inherited from VLCFormattedMessageLogging
+
+ readonly hash: number; // inherited from NSObjectProtocol
+
+ readonly isProxy: boolean; // inherited from NSObjectProtocol
+
+ level: VLCLogLevel; // inherited from VLCLogging
+
+ readonly superclass: typeof NSObject; // inherited from NSObjectProtocol
+
+ readonly; // inherited from NSObjectProtocol
+
+ class(): typeof NSObject;
+
+ conformsToProtocol(aProtocol: any /* Protocol */): boolean;
+
+ handleMessageLogLevelContext(message: string, level: VLCLogLevel, context: VLCLogContext): void;
+
+ isEqual(object: any): boolean;
+
+ isKindOfClass(aClass: typeof NSObject): boolean;
+
+ isMemberOfClass(aClass: typeof NSObject): boolean;
+
+ performSelector(aSelector: string): any;
+
+ performSelectorWithObject(aSelector: string, object: any): any;
+
+ performSelectorWithObjectWithObject(aSelector: string, object1: any, object2: any): any;
+
+ respondsToSelector(aSelector: string): boolean;
+
+ retainCount(): number;
+
+ self(): this;
+}
+
+interface VLCCustomDialogRendererProtocol extends NSObjectProtocol {
+ cancelDialogWithReference(reference: NSValue): void;
+
+ showErrorWithTitleMessage(error: string, message: string): void;
+
+ showLoginWithTitleMessageDefaultUsernameAskingForStorageWithReference(title: string, message: string, username: string, askingForStorage: boolean, reference: NSValue): void;
+
+ showProgressWithTitleMessageIsIndeterminatePositionCancelStringWithReference(title: string, message: string, isIndeterminate: boolean, position: number, cancelString: string, reference: NSValue): void;
+
+ showQuestionWithTitleMessageTypeCancelStringAction1StringAction2StringWithReference(title: string, message: string, questionType: VLCDialogQuestionType, cancelString: string, action1String: string, action2String: string, reference: NSValue): void;
+
+ updateProgressWithReferenceMessagePosition(reference: NSValue, message: string, position: number): void;
+}
+declare var VLCCustomDialogRendererProtocol: {
+ prototype: VLCCustomDialogRendererProtocol;
+};
+
+declare const enum VLCDeinterlace {
+ Auto = -1,
+
+ On = 1,
+
+ Off = 0,
+}
+
+declare class VLCDialogProvider extends NSObject {
+ static alloc(): VLCDialogProvider; // inherited from NSObject
+
+ static new(): VLCDialogProvider; // inherited from NSObject
+
+ customRenderer: VLCCustomDialogRendererProtocol;
+
+ constructor(o: { library: VLCLibrary; customUI: boolean });
+
+ dismissDialogWithReference(dialogReference: NSValue): void;
+
+ initWithLibraryCustomUI(library: VLCLibrary, customUI: boolean): this;
+
+ postActionForDialogReference(buttonNumber: number, dialogReference: NSValue): void;
+
+ postUsernameAndPasswordForDialogReferenceStore(username: string, password: string, dialogReference: NSValue, store: boolean): void;
+}
+
+declare const enum VLCDialogQuestionType {
+ Normal = 0,
+
+ Warning = 1,
+
+ Critical = 2,
+}
+
+declare class VLCFileLogger extends NSObject implements VLCFormattedMessageLogging {
+ static alloc(): VLCFileLogger; // inherited from NSObject
+
+ static createWithFileHandle(fileHandle: NSFileHandle): VLCFileLogger;
+
+ static new(): VLCFileLogger; // inherited from NSObject
+
+ readonly fileHandle: NSFileHandle;
+
+ readonly debugDescription: string; // inherited from NSObjectProtocol
+
+ readonly description: string; // inherited from NSObjectProtocol
+
+ formatter: VLCLogMessageFormatting; // inherited from VLCFormattedMessageLogging
+
+ readonly hash: number; // inherited from NSObjectProtocol
+
+ readonly isProxy: boolean; // inherited from NSObjectProtocol
+
+ level: VLCLogLevel; // inherited from VLCLogging
+
+ readonly superclass: typeof NSObject; // inherited from NSObjectProtocol
+
+ readonly; // inherited from NSObjectProtocol
+
+ constructor(o: { fileHandle: NSFileHandle });
+
+ class(): typeof NSObject;
+
+ conformsToProtocol(aProtocol: any /* Protocol */): boolean;
+
+ handleMessageLogLevelContext(message: string, level: VLCLogLevel, context: VLCLogContext): void;
+
+ initWithFileHandle(fileHandle: NSFileHandle): this;
+
+ isEqual(object: any): boolean;
+
+ isKindOfClass(aClass: typeof NSObject): boolean;
+
+ isMemberOfClass(aClass: typeof NSObject): boolean;
+
+ performSelector(aSelector: string): any;
+
+ performSelectorWithObject(aSelector: string, object: any): any;
+
+ performSelectorWithObjectWithObject(aSelector: string, object1: any, object2: any): any;
+
+ respondsToSelector(aSelector: string): boolean;
+
+ retainCount(): number;
+
+ self(): this;
+}
+
+interface VLCFilter extends NSObjectProtocol {
+ enabled: boolean;
+
+ mediaPlayer: VLCMediaPlayer;
+
+ parameters: NSDictionary;
+
+ applyParametersFrom(otherFilter: VLCFilter): void;
+
+ resetParametersIfNeeded(): boolean;
+}
+declare var VLCFilter: {
+ prototype: VLCFilter;
+};
+
+interface VLCFilterParameter extends NSObjectProtocol {
+ defaultValue: any;
+
+ maxValue: any;
+
+ minValue: any;
+
+ value: any;
+
+ isValueSetToDefault(): boolean;
+}
+declare var VLCFilterParameter: {
+ prototype: VLCFilterParameter;
+};
+
+interface VLCFormattedMessageLogging extends VLCLogging {
+ formatter: VLCLogMessageFormatting;
+}
+declare var VLCFormattedMessageLogging: {
+ prototype: VLCFormattedMessageLogging;
+};
+
+declare class VLCLibrary extends NSObject {
+ static alloc(): VLCLibrary; // inherited from NSObject
+
+ static new(): VLCLibrary; // inherited from NSObject
+
+ static sharedLibrary(): VLCLibrary;
+
+ readonly changeset: string;
+
+ readonly compiler: string;
+
+ debugLogging: boolean;
+
+ debugLoggingLevel: number;
+
+ debugLoggingTarget: VLCLibraryLogReceiverProtocol;
+
+ instance: interop.Pointer | interop.Reference;
+
+ loggers: NSArray;
+
+ readonly version: string;
+
+ constructor(o: { options: NSArray | any[] });
+
+ initWithOptions(options: NSArray | any[]): this;
+
+ setApplicationIdentifierWithVersionAndApplicationIconName(identifier: string, version: string, icon: string): void;
+
+ setDebugLoggingToFile(filePath: string): boolean;
+
+ setHumanReadableNameWithHTTPUserAgent(readableName: string, userAgent: string): void;
+}
+
+interface VLCLibraryLogReceiverProtocol extends NSObjectProtocol {
+ handleMessageDebugLevel?(message: string, level: number): void;
+}
+declare var VLCLibraryLogReceiverProtocol: {
+ prototype: VLCLibraryLogReceiverProtocol;
+};
+
+declare class VLCLogContext extends NSObject {
+ static alloc(): VLCLogContext; // inherited from NSObject
+
+ static new(): VLCLogContext; // inherited from NSObject
+
+ readonly file: string;
+
+ readonly function: string;
+
+ readonly header: string;
+
+ readonly line: number;
+
+ readonly module: string;
+
+ readonly objectId: number;
+
+ readonly objectType: string;
+
+ readonly threadId: number;
+}
+
+declare const enum VLCLogContextFlag {
+ kVLCLogLevelContextNone = 0,
+
+ kVLCLogLevelContextModule = 1,
+
+ kVLCLogLevelContextFileLocation = 2,
+
+ kVLCLogLevelContextCallingFunction = 4,
+
+ kVLCLogLevelContextCustom = 8,
+
+ kVLCLogLevelContextAll = 15,
+}
+
+declare const enum VLCLogLevel {
+ kVLCLogLevelError = 0,
+
+ kVLCLogLevelWarning = 1,
+
+ kVLCLogLevelInfo = 2,
+
+ kVLCLogLevelDebug = 3,
+}
+
+declare class VLCLogMessageFormatter extends NSObject implements VLCLogMessageFormatting {
+ static alloc(): VLCLogMessageFormatter; // inherited from NSObject
+
+ static new(): VLCLogMessageFormatter; // inherited from NSObject
+
+ contextFlags: VLCLogContextFlag; // inherited from VLCLogMessageFormatting
+
+ customContext: any; // inherited from VLCLogMessageFormatting
+
+ readonly debugDescription: string; // inherited from NSObjectProtocol
+
+ readonly description: string; // inherited from NSObjectProtocol
+
+ readonly hash: number; // inherited from NSObjectProtocol
+
+ readonly isProxy: boolean; // inherited from NSObjectProtocol
+
+ readonly superclass: typeof NSObject; // inherited from NSObjectProtocol
+
+ readonly; // inherited from NSObjectProtocol
+
+ class(): typeof NSObject;
+
+ conformsToProtocol(aProtocol: any /* Protocol */): boolean;
+
+ formatWithMessageLogLevelContext(message: string, level: VLCLogLevel, context: VLCLogContext): string;
+
+ isEqual(object: any): boolean;
+
+ isKindOfClass(aClass: typeof NSObject): boolean;
+
+ isMemberOfClass(aClass: typeof NSObject): boolean;
+
+ performSelector(aSelector: string): any;
+
+ performSelectorWithObject(aSelector: string, object: any): any;
+
+ performSelectorWithObjectWithObject(aSelector: string, object1: any, object2: any): any;
+
+ respondsToSelector(aSelector: string): boolean;
+
+ retainCount(): number;
+
+ self(): this;
+}
+
+interface VLCLogMessageFormatting extends NSObjectProtocol {
+ contextFlags: VLCLogContextFlag;
+
+ customContext: any;
+
+ formatWithMessageLogLevelContext(message: string, level: VLCLogLevel, context: VLCLogContext): string;
+}
+declare var VLCLogMessageFormatting: {
+ prototype: VLCLogMessageFormatting;
+};
+
+interface VLCLogging extends NSObjectProtocol {
+ level: VLCLogLevel;
+
+ handleMessageLogLevelContext(message: string, level: VLCLogLevel, context: VLCLogContext): void;
+}
+declare var VLCLogging: {
+ prototype: VLCLogging;
+};
+
+declare class VLCMedia extends NSObject {
+ static alloc(): VLCMedia; // inherited from NSObject
+
+ static codecNameForFourCCTrackType(fourcc: number, trackType: string): string;
+
+ static mediaAsNodeWithName(aName: string): VLCMedia;
+
+ static mediaWithPath(aPath: string): VLCMedia;
+
+ static mediaWithURL(anURL: NSURL): VLCMedia;
+
+ static new(): VLCMedia; // inherited from NSObject
+
+ delegate: VLCMediaDelegate;
+
+ readonly demuxBitrate: number;
+
+ readonly inputBitrate: number;
+
+ readonly isParsed: boolean;
+
+ length: VLCTime;
+
+ readonly mediaSizeSuitableForDevice: boolean;
+
+ readonly mediaType: VLCMediaType;
+
+ readonly metaData: VLCMediaMetaData;
+
+ readonly metaDictionary: NSDictionary;
+
+ readonly numberOfCorruptedDataPackets: number;
+
+ readonly numberOfDecodedAudioBlocks: number;
+
+ readonly numberOfDecodedVideoBlocks: number;
+
+ readonly numberOfDiscontinuties: number;
+
+ readonly numberOfDisplayedPictures: number;
+
+ readonly numberOfLostAudioBuffers: number;
+
+ readonly numberOfLostPictures: number;
+
+ readonly numberOfPlayedAudioBuffers: number;
+
+ readonly numberOfReadBytesOnDemux: number;
+
+ readonly numberOfReadBytesOnInput: number;
+
+ readonly numberOfSentBytes: number;
+
+ readonly numberOfSentPackets: number;
+
+ readonly parsedStatus: VLCMediaParsedStatus;
+
+ readonly saveMetadata: boolean;
+
+ readonly state: VLCMediaState;
+
+ readonly stats: NSDictionary;
+
+ readonly streamOutputBitrate: number;
+
+ readonly subitems: VLCMediaList;
+
+ readonly tracksInformation: NSArray;
+
+ readonly url: NSURL;
+
+ userData: any;
+
+ constructor(o: { asNodeWithName: string });
+
+ constructor(o: { path: string });
+
+ constructor(o: { stream: NSInputStream });
+
+ constructor(o: { URL: NSURL });
+
+ addOption(option: string): void;
+
+ addOptions(options: NSDictionary): void;
+
+ clearStoredCookies(): void;
+
+ compare(media: VLCMedia): NSComparisonResult;
+
+ initAsNodeWithName(aName: string): this;
+
+ initWithPath(aPath: string): this;
+
+ initWithStream(stream: NSInputStream): this;
+
+ initWithURL(anURL: NSURL): this;
+
+ lengthWaitUntilDate(aDate: Date): VLCTime;
+
+ metadataForKey(key: string): string;
+
+ parse(): void;
+
+ parseStop(): void;
+
+ parseWithOptions(options: VLCMediaParsingOptions): number;
+
+ parseWithOptionsTimeout(options: VLCMediaParsingOptions, timeoutValue: number): number;
+
+ setMetadataForKey(data: string, key: string): void;
+
+ storeCookieForHostPath(cookie: string, host: string, path: string): number;
+
+ synchronousParse(): void;
+}
+
+interface VLCMediaDelegate extends NSObjectProtocol {
+ mediaDidFinishParsing?(aMedia: VLCMedia): void;
+
+ mediaMetaDataDidChange?(aMedia: VLCMedia): void;
+}
+declare var VLCMediaDelegate: {
+ prototype: VLCMediaDelegate;
+};
+
+declare class VLCMediaDiscoverer extends NSObject {
+ static alloc(): VLCMediaDiscoverer; // inherited from NSObject
+
+ static availableMediaDiscoverer(): NSArray;
+
+ static availableMediaDiscovererForCategoryType(categoryType: VLCMediaDiscovererCategoryType): NSArray;
+
+ static new(): VLCMediaDiscoverer; // inherited from NSObject
+
+ readonly discoveredMedia: VLCMediaList;
+
+ readonly isRunning: boolean;
+
+ readonly libraryInstance: VLCLibrary;
+
+ readonly localizedName: string;
+
+ constructor(o: { name: string });
+
+ constructor(o: { name: string; libraryInstance: VLCLibrary });
+
+ initWithName(aServiceName: string): this;
+
+ initWithNameLibraryInstance(aServiceName: string, libraryInstance: VLCLibrary): this;
+
+ startDiscoverer(): number;
+
+ stopDiscoverer(): void;
+}
+
+declare var VLCMediaDiscovererCategory: string;
+
+declare const enum VLCMediaDiscovererCategoryType {
+ Devices = 0,
+
+ LAN = 1,
+
+ Podcasts = 2,
+
+ LocalDirectories = 3,
+}
+
+declare var VLCMediaDiscovererLongName: string;
+
+declare var VLCMediaDiscovererName: string;
+
+declare class VLCMediaList extends NSObject {
+ static alloc(): VLCMediaList; // inherited from NSObject
+
+ static new(): VLCMediaList; // inherited from NSObject
+
+ readonly count: number;
+
+ delegate: VLCMediaListDelegate;
+
+ readonly isReadOnly: boolean;
+
+ constructor(o: { array: NSArray | VLCMedia[] });
+
+ addMedia(media: VLCMedia): number;
+
+ indexOfMedia(media: VLCMedia): number;
+
+ initWithArray(array: NSArray | VLCMedia[]): this;
+
+ insertMediaAtIndex(media: VLCMedia, index: number): void;
+
+ lock(): void;
+
+ mediaAtIndex(index: number): VLCMedia;
+
+ removeMediaAtIndex(index: number): boolean;
+
+ unlock(): void;
+}
+
+interface VLCMediaListDelegate extends NSObjectProtocol {
+ mediaListMediaAddedAtIndex?(aMediaList: VLCMediaList, media: VLCMedia, index: number): void;
+
+ mediaListMediaRemovedAtIndex?(aMediaList: VLCMediaList, index: number): void;
+}
+declare var VLCMediaListDelegate: {
+ prototype: VLCMediaListDelegate;
+};
+
+declare var VLCMediaListItemAdded: string;
+
+declare var VLCMediaListItemDeleted: string;
+
+declare class VLCMediaListPlayer extends NSObject {
+ static alloc(): VLCMediaListPlayer; // inherited from NSObject
+
+ static new(): VLCMediaListPlayer; // inherited from NSObject
+
+ delegate: VLCMediaListPlayerDelegate;
+
+ mediaList: VLCMediaList;
+
+ readonly mediaPlayer: VLCMediaPlayer;
+
+ readonly next: boolean;
+
+ readonly previous: boolean;
+
+ repeatMode: VLCRepeatMode;
+
+ rootMedia: VLCMedia;
+
+ constructor(o: { drawable: any });
+
+ constructor(o: { options: NSArray | any[] });
+
+ constructor(o: { options: NSArray | any[]; andDrawable: any });
+
+ initWithDrawable(drawable: any): this;
+
+ initWithOptions(options: NSArray | any[]): this;
+
+ initWithOptionsAndDrawable(options: NSArray | any[], drawable: any): this;
+
+ pause(): void;
+
+ play(): void;
+
+ playItemAtIndex(index: number): boolean;
+
+ playItemAtNumber(index: number): void;
+
+ playMedia(media: VLCMedia): void;
+
+ stop(): void;
+}
+
+interface VLCMediaListPlayerDelegate extends NSObjectProtocol {
+ mediaListPlayerFinishedPlayback?(player: VLCMediaListPlayer): void;
+
+ mediaListPlayerNextMedia?(player: VLCMediaListPlayer, media: VLCMedia): void;
+
+ mediaListPlayerStopped?(player: VLCMediaListPlayer): void;
+}
+declare var VLCMediaListPlayerDelegate: {
+ prototype: VLCMediaListPlayerDelegate;
+};
+
+declare class VLCMediaLoudness extends NSObject {
+ static alloc(): VLCMediaLoudness; // inherited from NSObject
+
+ static new(): VLCMediaLoudness; // inherited from NSObject
+
+ readonly date: number;
+
+ readonly loudnessValue: number;
+}
+
+declare var VLCMediaMetaChanged: string;
+
+declare class VLCMediaMetaData extends NSObject {
+ static alloc(): VLCMediaMetaData; // inherited from NSObject
+
+ static new(): VLCMediaMetaData; // inherited from NSObject
+
+ actors: string;
+
+ album: string;
+
+ albumArtist: string;
+
+ artist: string;
+
+ readonly artwork: UIImage;
+
+ artworkURL: NSURL;
+
+ copyright: string;
+
+ date: string;
+
+ director: string;
+
+ discNumber: number;
+
+ discTotal: number;
+
+ encodedBy: string;
+
+ episode: number;
+
+ genre: string;
+
+ language: string;
+
+ metaDescription: string;
+
+ nowPlaying: string;
+
+ publisher: string;
+
+ rating: string;
+
+ season: number;
+
+ setting: string;
+
+ showName: string;
+
+ title: string;
+
+ trackID: number;
+
+ trackNumber: number;
+
+ trackTotal: number;
+
+ url: NSURL;
+
+ clearCache(): void;
+
+ prefetch(): void;
+
+ save(): boolean;
+}
+
+declare const enum VLCMediaOrientation {
+ TopLeft = 0,
+
+ TopRight = 1,
+
+ BottomLeft = 2,
+
+ BottomRight = 3,
+
+ LeftTop = 4,
+
+ LeftBottom = 5,
+
+ RightTop = 6,
+
+ RightBottom = 7,
+}
+
+declare const enum VLCMediaParsedStatus {
+ Init = 0,
+
+ Skipped = 1,
+
+ Failed = 2,
+
+ Timeout = 3,
+
+ Done = 4,
+}
+
+declare const enum VLCMediaParsingOptions {
+ ParseLocal = 0,
+
+ ParseNetwork = 1,
+
+ FetchLocal = 2,
+
+ FetchNetwork = 4,
+
+ DoInteract = 8,
+}
+
+declare const enum VLCMediaPlaybackNavigationAction {
+ Activate = 0,
+
+ Up = 1,
+
+ Down = 2,
+
+ Left = 3,
+
+ Right = 4,
+}
+
+declare const enum VLCMediaPlaybackSlaveType {
+ Subtitle = 0,
+
+ Audio = 1,
+}
+
+declare class VLCMediaPlayer extends NSObject {
+ static alloc(): VLCMediaPlayer; // inherited from NSObject
+
+ static new(): VLCMediaPlayer; // inherited from NSObject
+
+ readonly adjustFilter: VLCAdjustFilter;
+
+ adjustFilterEnabled: boolean;
+
+ readonly audio: VLCAudio;
+
+ audioChannel: number;
+
+ readonly audioTrackIndexes: NSArray;
+
+ readonly audioTrackNames: NSArray;
+
+ brightness: number;
+
+ readonly canPause: boolean;
+
+ contrast: number;
+
+ readonly countOfTitles: number;
+
+ currentAudioPlaybackDelay: number;
+
+ currentAudioTrackIndex: number;
+
+ currentChapterIndex: number;
+
+ currentTitleIndex: number;
+
+ currentVideoSubTitleDelay: number;
+
+ currentVideoSubTitleIndex: number;
+
+ currentVideoTrackIndex: number;
+
+ delegate: VLCMediaPlayerDelegate;
+
+ drawable: any;
+
+ equalizerEnabled: boolean;
+
+ readonly equalizerProfiles: NSArray;
+
+ fov: number;
+
+ readonly framesPerSecond: number;
+
+ gamma: number;
+
+ readonly hasVideoOut: boolean;
+
+ hue: number;
+
+ readonly indexOfLongestTitle: number;
+
+ readonly lastSnapshot: UIImage;
+
+ readonly libraryInstance: VLCLibrary;
+
+ media: VLCMedia;
+
+ readonly momentaryLoudness: VLCMediaLoudness;
+
+ readonly numberOfAudioTracks: number;
+
+ readonly numberOfBands: number;
+
+ readonly numberOfSubtitlesTracks: number;
+
+ readonly numberOfTitles: number;
+
+ readonly numberOfVideoTracks: number;
+
+ pitch: number;
+
+ readonly playing: boolean;
+
+ position: number;
+
+ preAmplification: number;
+
+ rate: number;
+
+ readonly remainingTime: VLCTime;
+
+ roll: number;
+
+ saturation: number;
+
+ scaleFactor: number;
+
+ readonly seekable: boolean;
+
+ readonly snapshots: NSArray;
+
+ readonly state: VLCMediaPlayerState;
+
+ time: VLCTime;
+
+ readonly titleDescriptions: NSArray;
+
+ readonly titles: NSArray;
+
+ videoAspectRatio: interop.Pointer | interop.Reference;
+
+ videoCropGeometry: interop.Pointer | interop.Reference;
+
+ readonly videoSize: CGSize;
+
+ readonly videoSubTitlesIndexes: NSArray;
+
+ readonly videoSubTitlesNames: NSArray;
+
+ readonly videoTrackIndexes: NSArray;
+
+ readonly videoTrackNames: NSArray;
+
+ readonly willPlay: boolean;
+
+ yaw: number;
+
+ constructor(o: { libVLCInstance: interop.Pointer | interop.Reference; andLibrary: VLCLibrary });
+
+ constructor(o: { library: VLCLibrary });
+
+ constructor(o: { options: NSArray | any[] });
+
+ addPlaybackSlaveTypeEnforce(slaveURL: NSURL, slaveType: VLCMediaPlaybackSlaveType, enforceSelection: boolean): number;
+
+ amplificationOfBand(index: number): number;
+
+ chapterDescriptionsOfTitle(titleIndex: number): NSArray;
+
+ chaptersForTitleIndex(titleIndex: number): NSArray;
+
+ extraShortJumpBackward(): void;
+
+ extraShortJumpForward(): void;
+
+ fastForward(): void;
+
+ fastForwardAtRate(rate: number): void;
+
+ frequencyOfBandAtIndex(index: number): number;
+
+ gotoNextFrame(): void;
+
+ initWithLibVLCInstanceAndLibrary(playerInstance: interop.Pointer | interop.Reference, library: VLCLibrary): this;
+
+ initWithLibrary(library: VLCLibrary): this;
+
+ initWithOptions(options: NSArray | any[]): this;
+
+ jumpBackward(interval: number): void;
+
+ jumpForward(interval: number): void;
+
+ longJumpBackward(): void;
+
+ longJumpForward(): void;
+
+ mediumJumpBackward(): void;
+
+ mediumJumpForward(): void;
+
+ nextChapter(): void;
+
+ numberOfChaptersForTitle(titleIndex: number): number;
+
+ openVideoSubTitlesFromFile(path: string): boolean;
+
+ pause(): void;
+
+ performNavigationAction(action: VLCMediaPlaybackNavigationAction): void;
+
+ play(): void;
+
+ previousChapter(): void;
+
+ resetEqualizerFromProfile(profile: number): void;
+
+ rewind(): void;
+
+ rewindAtRate(rate: number): void;
+
+ saveVideoSnapshotAtWithWidthAndHeight(path: string, width: number, height: number): void;
+
+ setAmplificationForBand(amplification: number, index: number): void;
+
+ setDeinterlaceFilter(name: string): void;
+
+ setDeinterlaceWithFilter(deinterlace: VLCDeinterlace, name: string): void;
+
+ setRendererItem(item: VLCRendererItem): boolean;
+
+ shortJumpBackward(): void;
+
+ shortJumpForward(): void;
+
+ startRecordingAtPath(path: string): boolean;
+
+ stop(): void;
+
+ stopRecording(): boolean;
+
+ updateViewpointPitchRollFovAbsolute(yaw: number, pitch: number, roll: number, fov: number, absolute: boolean): boolean;
+}
+
+declare var VLCMediaPlayerChapterChanged: string;
+
+interface VLCMediaPlayerDelegate extends NSObjectProtocol {
+ mediaPlayerChapterChanged?(aNotification: NSNotification): void;
+
+ mediaPlayerLoudnessChanged?(aNotification: NSNotification): void;
+
+ mediaPlayerRecordingStoppedAtPath?(player: VLCMediaPlayer, path: string): void;
+
+ mediaPlayerSnapshot?(aNotification: NSNotification): void;
+
+ mediaPlayerStartedRecording?(player: VLCMediaPlayer): void;
+
+ mediaPlayerStateChanged?(aNotification: NSNotification): void;
+
+ mediaPlayerTimeChanged?(aNotification: NSNotification): void;
+
+ mediaPlayerTitleChanged?(aNotification: NSNotification): void;
+}
+declare var VLCMediaPlayerDelegate: {
+ prototype: VLCMediaPlayerDelegate;
+};
+
+declare var VLCMediaPlayerLoudnessChanged: string;
+
+declare const enum VLCMediaPlayerState {
+ Stopped = 0,
+
+ Opening = 1,
+
+ Buffering = 2,
+
+ Ended = 3,
+
+ Error = 4,
+
+ Playing = 5,
+
+ Paused = 6,
+
+ ESAdded = 7,
+}
+
+declare var VLCMediaPlayerStateChanged: string;
+
+declare function VLCMediaPlayerStateToString(state: VLCMediaPlayerState): string;
+
+declare var VLCMediaPlayerTimeChanged: string;
+
+declare var VLCMediaPlayerTitleChanged: string;
+
+declare var VLCMediaPlayerVolumeChanged: string;
+
+declare const enum VLCMediaProjection {
+ Rectangular = 0,
+
+ EquiRectangular = 1,
+
+ CubemapLayoutStandard = 256,
+}
+
+declare const enum VLCMediaState {
+ NothingSpecial = 0,
+
+ Buffering = 1,
+
+ Playing = 2,
+
+ Error = 3,
+}
+
+declare class VLCMediaThumbnailer extends NSObject {
+ static alloc(): VLCMediaThumbnailer; // inherited from NSObject
+
+ static new(): VLCMediaThumbnailer; // inherited from NSObject
+
+ static thumbnailerWithMediaAndDelegate(media: VLCMedia, delegate: VLCMediaThumbnailerDelegate): VLCMediaThumbnailer;
+
+ static thumbnailerWithMediaDelegateAndVLCLibrary(media: VLCMedia, delegate: VLCMediaThumbnailerDelegate, library: VLCLibrary): VLCMediaThumbnailer;
+
+ delegate: VLCMediaThumbnailerDelegate;
+
+ libVLCinstance: interop.Pointer | interop.Reference;
+
+ media: VLCMedia;
+
+ snapshotPosition: number;
+
+ thumbnail: any;
+
+ thumbnailHeight: number;
+
+ thumbnailWidth: number;
+
+ fetchThumbnail(): void;
+}
+
+interface VLCMediaThumbnailerDelegate {
+ mediaThumbnailerDidFinishThumbnail(mediaThumbnailer: VLCMediaThumbnailer, thumbnail: any): void;
+
+ mediaThumbnailerDidTimeOut(mediaThumbnailer: VLCMediaThumbnailer): void;
+}
+declare var VLCMediaThumbnailerDelegate: {
+ prototype: VLCMediaThumbnailerDelegate;
+};
+
+declare var VLCMediaTracksInformationAudioChannelsNumber: string;
+
+declare var VLCMediaTracksInformationAudioRate: string;
+
+declare var VLCMediaTracksInformationBitrate: string;
+
+declare var VLCMediaTracksInformationCodec: string;
+
+declare var VLCMediaTracksInformationCodecLevel: string;
+
+declare var VLCMediaTracksInformationCodecProfile: string;
+
+declare var VLCMediaTracksInformationDescription: string;
+
+declare var VLCMediaTracksInformationFrameRate: string;
+
+declare var VLCMediaTracksInformationFrameRateDenominator: string;
+
+declare var VLCMediaTracksInformationId: string;
+
+declare var VLCMediaTracksInformationLanguage: string;
+
+declare var VLCMediaTracksInformationSourceAspectRatio: string;
+
+declare var VLCMediaTracksInformationSourceAspectRatioDenominator: string;
+
+declare var VLCMediaTracksInformationTextEncoding: string;
+
+declare var VLCMediaTracksInformationType: string;
+
+declare var VLCMediaTracksInformationTypeAudio: string;
+
+declare var VLCMediaTracksInformationTypeText: string;
+
+declare var VLCMediaTracksInformationTypeUnknown: string;
+
+declare var VLCMediaTracksInformationTypeVideo: string;
+
+declare var VLCMediaTracksInformationVideoHeight: string;
+
+declare var VLCMediaTracksInformationVideoOrientation: string;
+
+declare var VLCMediaTracksInformationVideoProjection: string;
+
+declare var VLCMediaTracksInformationVideoWidth: string;
+
+declare const enum VLCMediaType {
+ Unknown = 0,
+
+ File = 1,
+
+ Directory = 2,
+
+ Disc = 3,
+
+ Stream = 4,
+
+ Playlist = 5,
+}
+
+declare var VLCMetaInformationActors: string;
+
+declare var VLCMetaInformationAlbum: string;
+
+declare var VLCMetaInformationAlbumArtist: string;
+
+declare var VLCMetaInformationArtist: string;
+
+declare var VLCMetaInformationArtwork: string;
+
+declare var VLCMetaInformationArtworkURL: string;
+
+declare var VLCMetaInformationCopyright: string;
+
+declare var VLCMetaInformationDate: string;
+
+declare var VLCMetaInformationDescription: string;
+
+declare var VLCMetaInformationDirector: string;
+
+declare var VLCMetaInformationDiscNumber: string;
+
+declare var VLCMetaInformationEncodedBy: string;
+
+declare var VLCMetaInformationEpisode: string;
+
+declare var VLCMetaInformationGenre: string;
+
+declare var VLCMetaInformationLanguage: string;
+
+declare var VLCMetaInformationNowPlaying: string;
+
+declare var VLCMetaInformationPublisher: string;
+
+declare var VLCMetaInformationRating: string;
+
+declare var VLCMetaInformationSeason: string;
+
+declare var VLCMetaInformationSetting: string;
+
+declare var VLCMetaInformationShowName: string;
+
+declare var VLCMetaInformationTitle: string;
+
+declare var VLCMetaInformationTrackID: string;
+
+declare var VLCMetaInformationTrackNumber: string;
+
+declare var VLCMetaInformationTrackTotal: string;
+
+declare var VLCMetaInformationURL: string;
+
+declare class VLCRendererDiscoverer extends NSObject {
+ static alloc(): VLCRendererDiscoverer; // inherited from NSObject
+
+ static list(): NSArray;
+
+ static new(): VLCRendererDiscoverer; // inherited from NSObject
+
+ delegate: VLCRendererDiscovererDelegate;
+
+ readonly name: string;
+
+ readonly renderers: NSArray;
+
+ constructor(o: { name: string });
+
+ initWithName(name: string): this;
+
+ start(): boolean;
+
+ stop(): void;
+}
+
+interface VLCRendererDiscovererDelegate extends NSObjectProtocol {
+ rendererDiscovererItemAddedItem(rendererDiscoverer: VLCRendererDiscoverer, item: VLCRendererItem): void;
+
+ rendererDiscovererItemDeletedItem(rendererDiscoverer: VLCRendererDiscoverer, item: VLCRendererItem): void;
+}
+declare var VLCRendererDiscovererDelegate: {
+ prototype: VLCRendererDiscovererDelegate;
+};
+
+declare class VLCRendererDiscovererDescription extends NSObject {
+ static alloc(): VLCRendererDiscovererDescription; // inherited from NSObject
+
+ static new(): VLCRendererDiscovererDescription; // inherited from NSObject
+
+ readonly longName: string;
+
+ readonly name: string;
+
+ constructor(o: { name: string; longName: string });
+
+ initWithNameLongName(name: string, longName: string): this;
+}
+
+declare class VLCRendererItem extends NSObject {
+ static alloc(): VLCRendererItem; // inherited from NSObject
+
+ static new(): VLCRendererItem; // inherited from NSObject
+
+ readonly flags: number;
+
+ readonly iconURI: string;
+
+ readonly name: string;
+
+ readonly type: string;
+}
+
+declare const enum VLCRendererPlay {
+ sAudio = 1,
+
+ sVideo = 2,
+}
+
+declare const enum VLCRepeatMode {
+ DoNotRepeat = 0,
+
+ RepeatCurrentItem = 1,
+
+ RepeatAllItems = 2,
+}
+
+declare class VLCTime extends NSObject {
+ static alloc(): VLCTime; // inherited from NSObject
+
+ static new(): VLCTime; // inherited from NSObject
+
+ static nullTime(): VLCTime;
+
+ static timeWithInt(aInt: number): VLCTime;
+
+ static timeWithNumber(aNumber: number): VLCTime;
+
+ readonly intValue: number;
+
+ readonly minuteStringValue: string;
+
+ readonly numberValue: number;
+
+ readonly stringValue: string;
+
+ readonly value: number;
+
+ readonly verboseStringValue: string;
+
+ constructor(o: { int: number });
+
+ constructor(o: { number: number });
+
+ compare(aTime: VLCTime): NSComparisonResult;
+
+ hash(): number;
+
+ initWithInt(aInt: number): this;
+
+ initWithNumber(aNumber: number): this;
+}
+
+declare var VLCTitleDescriptionDuration: string;
+
+declare var VLCTitleDescriptionIsMenu: string;
+
+declare var VLCTitleDescriptionName: string;
+
+declare class VLCTranscoder extends NSObject {
+ static alloc(): VLCTranscoder; // inherited from NSObject
+
+ static new(): VLCTranscoder; // inherited from NSObject
+
+ delegate: VLCTranscoderDelegate;
+
+ reencodeAndMuxSRTFileToMP4FileOutputPath(srtPath: string, mp4Path: string, outPath: string): boolean;
+}
+
+interface VLCTranscoderDelegate extends NSObjectProtocol {
+ transcodeFinishedSucessfully?(transcoder: VLCTranscoder, success: boolean): void;
+}
+declare var VLCTranscoderDelegate: {
+ prototype: VLCTranscoderDelegate;
+};
+
+declare var kVLCAdjustFilterBrightnessParameterKey: string;
+
+declare var kVLCAdjustFilterContrastParameterKey: string;
+
+declare var kVLCAdjustFilterGammaParameterKey: string;
+
+declare var kVLCAdjustFilterHueParameterKey: string;
+
+declare var kVLCAdjustFilterSaturationParameterKey: string;
diff --git a/tools/demo/index.ts b/tools/demo/index.ts
index 3d9389ed..3ad932f4 100644
--- a/tools/demo/index.ts
+++ b/tools/demo/index.ts
@@ -25,5 +25,6 @@ export * from './nativescript-persona';
export * from './nativescript-plaid';
export * from './nativescript-qr';
export * from './nativescript-tracking-transparency';
+export * from './nativescript-vlc-player';
export * from './nativescript-walletconnect';
export * from './nativescript-web-server';
diff --git a/tools/demo/nativescript-vlc-player/index.ts b/tools/demo/nativescript-vlc-player/index.ts
new file mode 100644
index 00000000..fc8e8ee1
--- /dev/null
+++ b/tools/demo/nativescript-vlc-player/index.ts
@@ -0,0 +1,8 @@
+import { DemoSharedBase } from '../utils';
+import {} from '@nstudio/nativescript-vlc-player';
+
+export class DemoSharedNativescriptVlcPlayer extends DemoSharedBase {
+ testIt() {
+ console.log('test nativescript-vlc-player!');
+ }
+}
diff --git a/tsconfig.base.json b/tsconfig.base.json
index be841b8b..42fe80e6 100644
--- a/tsconfig.base.json
+++ b/tsconfig.base.json
@@ -52,7 +52,8 @@
"@nstudio/nativescript-qr": ["packages/nativescript-qr/index.d.ts"],
"@nstudio/nativescript-tracking-transparency": ["packages/nativescript-tracking-transparency/index.d.ts"],
"@nstudio/nativescript-walletconnect": ["packages/nativescript-walletconnect/index.d.ts"],
- "@nstudio/nativescript-web-server": ["packages/nativescript-web-server/index.d.ts"]
+ "@nstudio/nativescript-web-server": ["packages/nativescript-web-server/index.d.ts"],
+ "@nstudio/nativescript-vlc-player": ["packages/nativescript-vlc-player/index.d.ts"]
}
},
"exclude": ["node_modules", "tmp"]