mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-04-20 03:06:59 +08:00
refa player (#1848)
* tweak
* Reapply "opt: audio uri" (#1833)
This reverts commit 8e726f49b2.
* opt: player
* opt: player
* refa: create player
* refa: player
* opt: UaType
* fix: sb seek preview
* opt: setSub
* fix: screenshot
* opt: unnecessary final player state
* opt: player track
* opt FileSource constructor [skip ci]
* fixes
* fix: dispose player
* fix: quote
* update
* fix: multi ua & remove unused loop
* remove unneeded check [skip ci]
---------
Co-authored-by: dom <githubaccount56556@proton.me>
This commit is contained in:
committed by
GitHub
parent
6782bee11a
commit
7276cde48a
@@ -3,6 +3,7 @@
|
||||
import 'dart:async';
|
||||
import 'dart:ffi';
|
||||
|
||||
import 'package:PiliPlus/http/browser_ua.dart';
|
||||
import 'package:PiliPlus/http/constants.dart';
|
||||
import 'package:PiliPlus/utils/storage_pref.dart';
|
||||
import 'package:flutter/foundation.dart' show kDebugMode;
|
||||
@@ -13,10 +14,9 @@ import 'package:media_kit/ffi/src/utf8.dart';
|
||||
import 'package:media_kit/generated/libmpv/bindings.dart' as generated;
|
||||
import 'package:media_kit/media_kit.dart';
|
||||
import 'package:media_kit/src/player/native/core/initializer.dart';
|
||||
import 'package:media_kit/src/player/native/core/native_library.dart';
|
||||
|
||||
class MpvConvertWebp {
|
||||
final _mpv = generated.MPV(DynamicLibrary.open(NativeLibrary.path));
|
||||
final _mpv = NativePlayer.mpv;
|
||||
late final Pointer<generated.mpv_handle> _ctx;
|
||||
final _completer = Completer<bool>();
|
||||
|
||||
@@ -41,7 +41,7 @@ class MpvConvertWebp {
|
||||
Future<void> _init() async {
|
||||
final enableHA = Pref.enableHA;
|
||||
_ctx = await Initializer.create(
|
||||
NativeLibrary.path,
|
||||
_mpv,
|
||||
_onEvent,
|
||||
options: {
|
||||
'o': outFile,
|
||||
@@ -58,13 +58,10 @@ class MpvConvertWebp {
|
||||
},
|
||||
);
|
||||
NativePlayer.setHeader(
|
||||
const {
|
||||
'user-agent':
|
||||
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',
|
||||
'referer': HttpString.baseUrl,
|
||||
},
|
||||
_mpv,
|
||||
_ctx,
|
||||
userAgent: BrowserUa.pc,
|
||||
referer: HttpString.baseUrl,
|
||||
);
|
||||
if (progress != null) {
|
||||
_observeProperty('time-pos');
|
||||
@@ -86,7 +83,7 @@ class MpvConvertWebp {
|
||||
return _completer.future;
|
||||
}
|
||||
|
||||
Future<void> _onEvent(Pointer<generated.mpv_event> event) async {
|
||||
Future<void>? _onEvent(Pointer<generated.mpv_event> event) {
|
||||
switch (event.ref.event_id) {
|
||||
case generated.mpv_event_id.MPV_EVENT_PROPERTY_CHANGE:
|
||||
final prop = event.ref.data.cast<generated.mpv_event_property>().ref;
|
||||
@@ -117,11 +114,12 @@ class MpvConvertWebp {
|
||||
dispose();
|
||||
break;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
void _command(List<String> args) {
|
||||
final pointers = args.map((e) => e.toNativeUtf8()).toList();
|
||||
final arr = calloc<Pointer<Uint8>>(128);
|
||||
final arr = calloc<Pointer<Uint8>>(pointers.length + 1);
|
||||
for (int i = 0; i < args.length; i++) {
|
||||
arr[i] = pointers[i];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user