Skip to content

Commit 28c69f8

Browse files
reyesmfabianzatovagul
authored andcommitted
feat(vlc_android): update vlc android lib to support 16k PAGE_SIZE (solid-software#539)
* feat(vlc_android): update vlc android lib to support 16k PAGE_SIZE * Update flutter_vlc_player/CHANGELOG.md Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Update flutter_vlc_player/CHANGELOG.md Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Update pubspec.yaml --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> (cherry picked from commit 988a7e6)
1 parent 757bcdf commit 28c69f8

9 files changed

Lines changed: 168 additions & 54 deletions

File tree

flutter_vlc_player/CHANGELOG.md

Lines changed: 84 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,31 @@
1+
## 7.4.4
2+
3+
* [Android] Updated libvlc to support 16k PAGE_SIZE devices
4+
15
## 7.4.3
2-
* Bumped minimum Flutter SDK requirement to 3.22.0 and Dart SDK requirement to 3.4.0. The minimum supported Android version is now 5.0 (API level 21)
6+
7+
* Bumped minimum Flutter SDK requirement to 3.22.0 and Dart SDK requirement to 3.7.0. The minimum supported Android version is now 5.0 (API level 21)
38
* [Android] updated libvlc
49
* [Android] set Java compatibility to 11 instead of 8
510
* [ios] updated MobileVLCKit
611
* updated exmaple
712

813
## 7.4.2
14+
915
* fixed getVolume #486
1016
Credits to pinpong (https://github.com/pinpong)
1117
* updated MobileVLCKit & libvlc
1218
Credits to pinpong (https://github.com/pinpong)
1319
* Fix: Unable to replay when status is stopped #449
14-
Credits to Virczz (https://github.com/Virczz)
20+
Credits to Virczz (https://github.com/Virczz)
1521

1622
## 7.4.1
23+
1724
* Add support for Flutter 3.16
1825
Credits to thearaks (https://github.com/thearaks)
1926

2027
## 7.4.0
28+
2129
* Important change: Removed [AutomaticKeepAliveClientMixin](https://api.flutter.dev/flutter/widgets/AutomaticKeepAliveClientMixin-mixin.html) from plugin widget
2230
* Mobile VLC update to 3.6.0-eap9
2331
* Allow background playback
@@ -26,165 +34,203 @@
2634
Credits to Luiz Fernando Baldo Marques (https://github.com/luizbaldo)
2735

2836
## 7.3.1
37+
2938
* Restore Flutter 3.3-3.7 compatibility
3039
Credits to Yang Fang (https://github.com/yangsfang)
3140

3241
## 7.3.0
42+
3343
* Fix http-user-agent & reuse options on iOS
3444
Credits to Afriza N. Arief (https://github.com/afriza)
3545
* Update to Dart 3 and Flutter 3.13
3646
Credits to romain.gyh (https://github.com/romaingyh)
3747

3848
## 7.2.0
49+
3950
* Update to latest VLCKit sdks
40-
Credits to Mitch Ross (https://github.com/mitchross)
51+
Credits to Mitch Ross (https://github.com/mitchross)
4152

4253
## 7.1.5
54+
4355
* Fix plugin destructor (https://github.com/solid-software/flutter_vlc_player/issues/237)
4456

4557
## 7.1.4
58+
4659
* Interim release to fix Flutter 3 issues
4760

4861
## 7.1.3
62+
4963
* Added support for multi-window mode in Android.
50-
Credits to Andy Chentsov (https://github.com/andyduke).
64+
Credits to Andy Chentsov (https://github.com/andyduke).
5165

5266
## 7.1.2
67+
5368
* Add Hybrid composition support for Android.
5469

5570
## 7.1.1
71+
5672
* Fixed to work on Android 6-.
57-
Credits to Yury Kostov (https://github.com/kostov).
73+
Credits to Yury Kostov (https://github.com/kostov).
5874

5975
## 7.1.0
76+
6077
* Upgrade iOS and Android Lib VLC libraries to address performance issues. https://code.videolan.org/videolan/vlc-ios/-/issues/1240
61-
Credits to Mitch Ross (https://github.com/mitchross)
78+
Credits to Mitch Ross (https://github.com/mitchross)
6279

6380
## 7.0.1
81+
6482
* Improve formatting
6583
* Modify LICENSE to use template so it parsed automatically.
6684

6785
## 7.0.0
68-
* **Breaking Change**: Refactored enum parameters to follow dart naming convention
86+
87+
* **Breaking Change**: Refactored enum parameters to follow dart naming convention
6988
* Fixed control overlay issue after upgrading to Flutter 2.8
7089
* Fixed Dart analysis warnings
7190
* Removed unnecessary initialization delay
72-
Credits to Alireza Setayesh (https://github.com/alr2413), Mitch Ross (https://github.com/mitchross), Illia Romanenko (https://github.com/illia-romanenko) and Yurii Prykhodko (https://github.com/solid-yuriiprykhodko).
91+
Credits to Alireza Setayesh (https://github.com/alr2413), Mitch Ross (https://github.com/mitchross), Illia Romanenko (https://github.com/illia-romanenko) and Yurii Prykhodko (https://github.com/solid-yuriiprykhodko).
7392

7493
## 6.0.5
94+
7595
* Fix issue with options applying (Android)
7696
* Update VLCKit for iOS and Android
77-
Credits to Vladislav Murashko (https://github.com/mrvancor).
97+
Credits to Vladislav Murashko (https://github.com/mrvancor).
7898

7999
## 6.0.4
100+
80101
* Added VLC http options
81-
Credits to Alireza Setayesh (https://github.com/alr2413).
102+
Credits to Alireza Setayesh (https://github.com/alr2413).
82103

83104
## 6.0.3
105+
84106
* Added VLC recording feature
85-
Credits to Alireza Setayesh (https://github.com/alr2413).
107+
Credits to Alireza Setayesh (https://github.com/alr2413).
86108

87109
## 6.0.2
110+
88111
* Fix issue with VLC error event
89112
* Added onInit & onRenderer listeners
90-
Credits to Alireza Setayesh (https://github.com/alr2413) and solid-vovabeloded (https://github.com/solid-vovabeloded).
113+
Credits to Alireza Setayesh (https://github.com/alr2413) and solid-vovabeloded (https://github.com/solid-vovabeloded).
91114

92115
## 6.0.1
116+
93117
* Fix issue with black screen / offstage
94-
Credits to Mitch Ross (https://github.com/mitchross)
118+
Credits to Mitch Ross (https://github.com/mitchross)
95119

96120
## 6.0.0
121+
97122
* Support Flutter V2 Null Safety
98-
Credits to Mitch Ross (https://github.com/mitchross)
99-
123+
Credits to Mitch Ross (https://github.com/mitchross)
124+
100125
## 5.0.5
101-
* Added VLC Subtitle Styling.
126+
127+
* Added VLC Subtitle Styling.
102128
* Split ios swift code into multiple files for better readability.
103-
Credits to Alireza Setayesh (https://github.com/alr2413) and Yurii Prykhodko (https://github.com/solid-yuriiprykhodko).
129+
Credits to Alireza Setayesh (https://github.com/alr2413) and Yurii Prykhodko (https://github.com/solid-yuriiprykhodko).
104130

105131
## 5.0.4
132+
106133
* Added isSeekable method
107-
Credits to Alireza Setayesh (https://github.com/alr2413), Mitch Ross (https://github.com/mitchross).
134+
Credits to Alireza Setayesh (https://github.com/alr2413), Mitch Ross (https://github.com/mitchross).
108135

109136
## 5.0.3
110-
* Fix memory leak.
111-
Credits to Alireza Setayesh (https://github.com/alr2413), Mitch Ross (https://github.com/mitchross).
137+
138+
* Fix memory leak.
139+
Credits to Alireza Setayesh (https://github.com/alr2413), Mitch Ross (https://github.com/mitchross).
112140

113141
## 5.0.2
142+
114143
* Fix homepage link.
115144

116145
## 5.0.1
146+
117147
* Fix pub.dev image links.
118148

119149
## 5.0.0
150+
120151
* Entire rewrite of Flutter VLC Player.
121152
* Updates to Android v2 plugin.
122153
* Adds Platform interface.
123-
* Adds Pigeon for type safe method calls.
124-
Credits to Alireza Setayesh (https://github.com/alr2413), Mitch Ross (https://github.com/mitchross) and Yurii Prykhodko (https://github.com/solid-yuriiprykhodko).
154+
* Adds Pigeon for type safe method calls.
155+
Credits to Alireza Setayesh (https://github.com/alr2413), Mitch Ross (https://github.com/mitchross) and Yurii Prykhodko (https://github.com/solid-yuriiprykhodko).
125156

126157
## 4.0.3
127-
* Update VLCKit for iOS and Android. Cleanup example Pod file. Clean up example gradle.
158+
159+
* Update VLCKit for iOS and Android. Cleanup example Pod file. Clean up example gradle.
128160
* Removed dispose calls on VlcPlayerController from VlcPlayer.
129161
* Fix argument-less functions throwing FlutterMethodNotImplemented.
130-
Credits to Mitch Ross (https://github.com/mitchross).
162+
Credits to Mitch Ross (https://github.com/mitchross).
131163

132164
## 4.0.2
165+
133166
* Update Cocoapods version for VLCkit on iOS. This fixes issues with iOS 12 and Simulators.
134-
Credits to Mitch Ross (https://github.com/mitchross).
167+
Credits to Mitch Ross (https://github.com/mitchross).
135168

136169
## 4.0.1
170+
137171
* Improved documentation.
138172

139173
## 4.0.0
174+
140175
* Improved structure (see example for breaking changes). Example code updated also.
141176
* Fix android black screen issue
142177
* Support playing local media/subtitle file
143178
* Support casting media to external device
144179
* Updated changing audio/subtitle method
145180
* Support audio/subtitle delay
146-
credits to Alireza Setayesh (https://github.com/alr2413) and Mitch Ross (https://github.com/mitchross)
181+
Credits to Alireza Setayesh (https://github.com/alr2413) and Mitch Ross (https://github.com/mitchross)
147182

148183
## 3.0.7
149-
* Updates MobileVLC to allow for changing of subtitles and adding subtiles .
150-
credits to @rikaweb(https://github.com/rikaweb) and Mitch Ross (https://github.com/mitchross)
184+
185+
* Updates MobileVLC to allow for changing of subtitles and adding subtiles .
186+
credits to @rikaweb(https://github.com/rikaweb) and Mitch Ross (https://github.com/mitchross)
151187

152188
## 3.0.6
189+
153190
* Updates MobileVLC to allow for handling of vlc error.
154-
credits to Alireza Setayesh (https://github.com/alr2413)
191+
credits to Alireza Setayesh (https://github.com/alr2413)
155192

156193
## 3.0.5
194+
157195
* Updates MobileVLC to allow for changing of volume. Example Updated Also.
158-
credits to Mitch Ross (https://github.com/mitchross)
196+
Credits to Mitch Ross (https://github.com/mitchross)
159197

160198
## 3.0.4
199+
161200
* Updates MobileVLC to allow for options as flags and hardware acceleration/
162-
credits to pharshdev (https://github.com/pharshdev) and Mitch Ross (https://github.com/mitchross)
201+
credits to pharshdev (https://github.com/pharshdev) and Mitch Ross (https://github.com/mitchross)
163202

164203
## 3.0.3
204+
165205
* Updates MobileVLC to fix a bug on iOS with Seek Time. See (https://github.com/solid-software/flutter_vlc_player/issues/72). Also adds seek bar to example player for demonstration purposes.
166-
credits to Mitch Ross (https://github.com/mitchross)
206+
credits to Mitch Ross (https://github.com/mitchross)
167207

168208
## 3.0.2
209+
169210
* Updates MobileVLC to fix a bug on iOS with HLS Streaming on VLCKit itself. See (https://code.videolan.org/videolan/VLCKit/-/issues/368),
170-
credits to Mitch Ross (https://github.com/mitchross)
211+
credits to Mitch Ross (https://github.com/mitchross)
171212

172213
## 3.0.1
214+
173215
* Fix a bug on Android with URL parsing. See (https://github.com/solid-software/flutter_vlc_player/issues/52),
174-
credits to pharshdev (https://github.com/pharshdev) and Mitch Ross (https://github.com/mitchross)
216+
credits to pharshdev (https://github.com/pharshdev) and Mitch Ross (https://github.com/mitchross)
175217

176218
## 3.0.0
177-
* Migrated to Swift, thanks to Mitch Ross (https://github.com/mitchross),
178-
Amadeu Cavalcante (https://github.com/amadeu01) and pharshdev (https://github.com/pharshdev).
219+
220+
* Migrated to Swift, thanks to Mitch Ross (https://github.com/mitchross),
221+
Amadeu Cavalcante (https://github.com/amadeu01) and pharshdev (https://github.com/pharshdev).
179222

180223
## 2.0.0
181-
* Improved structure (see example for braking changes), add aspect ratio and payback controls
182-
support thanks to John Harker (https://github.com/NBTX) and Mitch Ross (https://github.com/mitchross).
224+
225+
* Improved structure (see example for braking changes), add aspect ratio and payback controls
226+
support thanks to John Harker (https://github.com/NBTX) and Mitch Ross (https://github.com/mitchross).
183227

184228
## 1.0.0
229+
185230
* Added multiple players support thanks to Kraig Spear (https://github.com/kraigspear)
186231

187232
## 0.0.2
233+
188234
* Android X support added thanks to Javi Hurtado (https://github.com/ja2375)
189235

190236
## 0.0.1

flutter_vlc_player/android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ android {
5050
dependencies {
5151
testImplementation("org.jetbrains.kotlin:kotlin-test")
5252
testImplementation("org.mockito:mockito-core:5.0.0")
53-
implementation 'org.videolan.android:libvlc-all:3.6.0-eap14'
53+
implementation 'org.videolan.android:libvlc-all:3.6.3'
5454
implementation 'androidx.appcompat:appcompat:1.7.0'
5555
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
5656
implementation 'androidx.annotation:annotation:1.9.1'
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#
2+
# Generated file, do not edit.
3+
#
4+
5+
import lldb
6+
7+
def handle_new_rx_page(frame: lldb.SBFrame, bp_loc, extra_args, intern_dict):
8+
"""Intercept NOTIFY_DEBUGGER_ABOUT_RX_PAGES and touch the pages."""
9+
base = frame.register["x0"].GetValueAsAddress()
10+
page_len = frame.register["x1"].GetValueAsUnsigned()
11+
12+
# Note: NOTIFY_DEBUGGER_ABOUT_RX_PAGES will check contents of the
13+
# first page to see if handled it correctly. This makes diagnosing
14+
# misconfiguration (e.g. missing breakpoint) easier.
15+
data = bytearray(page_len)
16+
data[0:8] = b'IHELPED!'
17+
18+
error = lldb.SBError()
19+
frame.GetThread().GetProcess().WriteMemory(base, data, error)
20+
if not error.Success():
21+
print(f'Failed to write into {base}[+{page_len}]', error)
22+
return
23+
24+
def __lldb_init_module(debugger: lldb.SBDebugger, _):
25+
target = debugger.GetDummyTarget()
26+
# Caveat: must use BreakpointCreateByRegEx here and not
27+
# BreakpointCreateByName. For some reasons callback function does not
28+
# get carried over from dummy target for the later.
29+
bp = target.BreakpointCreateByRegex("^NOTIFY_DEBUGGER_ABOUT_RX_PAGES$")
30+
bp.SetScriptCallbackFunction('{}.handle_new_rx_page'.format(__name__))
31+
bp.SetAutoContinue(True)
32+
print("-- LLDB integration loaded --")
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#
2+
# Generated file, do not edit.
3+
#
4+
5+
command script import --relative-to-command-file flutter_lldb_helper.py

flutter_vlc_player/example/lib/app.dart

Lines changed: 38 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import 'package:flutter/material.dart';
2+
import 'package:flutter_vlc_player/flutter_vlc_player.dart';
23
import 'package:flutter_vlc_player_example/multiple_tab.dart';
34
import 'package:flutter_vlc_player_example/single_tab.dart';
45

@@ -25,14 +26,44 @@ class _AppState extends State<App> {
2526
],
2627
),
2728
),
28-
body: TabBarView(
29-
physics: const NeverScrollableScrollPhysics(),
30-
children: [
31-
SingleTab(),
32-
MultipleTab(),
33-
],
34-
),
29+
body: PlayerView(),
30+
// body: TabBarView(
31+
// physics: const NeverScrollableScrollPhysics(),
32+
// children: [
33+
// SingleTab(),
34+
// MultipleTab(),
35+
// ],
36+
// ),
3537
),
3638
);
3739
}
3840
}
41+
42+
class PlayerView extends StatefulWidget {
43+
const PlayerView({super.key});
44+
45+
@override
46+
State<PlayerView> createState() => _PlayerViewState();
47+
}
48+
49+
class _PlayerViewState extends State<PlayerView> {
50+
VlcPlayerController? controller;
51+
52+
@override
53+
void initState() {
54+
super.initState();
55+
controller = VlcPlayerController.network(
56+
'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4',
57+
58+
);
59+
}
60+
61+
@override
62+
Widget build(BuildContext context) {
63+
if (controller == null) return Text('qwe');
64+
return VlcPlayer(
65+
controller: controller!,
66+
aspectRatio: 1,
67+
);
68+
}
69+
}

flutter_vlc_player/example/lib/multiple_tab.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ class _MultipleTabState extends State<MultipleTab> {
1515
List<VlcPlayerController> controllers = <VlcPlayerController>[];
1616

1717
List<String> urls = [
18-
'https://www.tomandjerryonline.com/Videos/Ford%20Mondeo%20-%20Tom%20and%20Jerry.mov',
19-
'https://www.tomandjerryonline.com/Videos/TomAndJerryTales_HQ.wmv',
20-
'https://www.tomandjerryonline.com/Videos/tjpb1.mov',
18+
'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4',
19+
'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4',
20+
'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4',
2121
];
2222

2323
bool showPlayerControls = true;

0 commit comments

Comments
 (0)