Skip to content

Commit

Permalink
example app update
Browse files Browse the repository at this point in the history
  • Loading branch information
husen-hn committed Feb 1, 2025
1 parent 0d4d45e commit 953c3ea
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 24 deletions.
2 changes: 1 addition & 1 deletion example/.fvm/flutter_sdk
2 changes: 1 addition & 1 deletion example/.fvm/fvm_config.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"flutterSdkVersion": "3.16.5",
"flutterSdkVersion": "3.24.5",
"flavors": {}
}
1 change: 1 addition & 0 deletions example/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ migrate_working_dir/
.pub-cache/
.pub/
/build/
/pubspec.lock

# Symbolication related
app.*.symbols
Expand Down
69 changes: 47 additions & 22 deletions example/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -46,18 +46,28 @@ class _MyHomePageState extends State<MyHomePage> {
bool isDone = false;
bool isCanceled = false;

final TextEditingController _bitrateController = TextEditingController();
String _errorMessage = '';
final TextEditingController _audioBitrateController = TextEditingController();
final TextEditingController _videoBitrateController = TextEditingController();
String _audioErrorMessage = '';
String _videoErrorMessage = '';
void _parseBitrate() {
setState(() {
_errorMessage = '';
_audioErrorMessage = '';
_videoErrorMessage = '';
});

try {
int bitrate = int.parse(_bitrateController.text);
int.parse(_audioBitrateController.text);
} catch (e) {
setState(() {
_errorMessage = 'Please enter a valid integer for bitrate.';
_audioErrorMessage = 'Please enter a valid integer for bitrate.';
});
}
try {
int.parse(_videoBitrateController.text);
} catch (e) {
setState(() {
_videoErrorMessage = 'Please enter a valid integer for bitrate.';
});
}
}
Expand Down Expand Up @@ -113,26 +123,38 @@ class _MyHomePageState extends State<MyHomePage> {
}),
// bitrate text field
TextField(
controller: _bitrateController,
controller: _audioBitrateController,
keyboardType: TextInputType.number,
decoration: InputDecoration(
labelText: 'Enter Audio Bitrate',
errorText:
_audioErrorMessage.isNotEmpty ? _audioErrorMessage : null,
),
),
TextField(
controller: _videoBitrateController,
keyboardType: TextInputType.number,
decoration: InputDecoration(
labelText: 'Enter Bitrate',
errorText: _errorMessage.isNotEmpty ? _errorMessage : null,
labelText: 'Enter Video Bitrate',
errorText:
_videoErrorMessage.isNotEmpty ? _audioErrorMessage : null,
),
),
// convert to btn
ConvertBtn(isLoading, () {
// check bitrate validation
_parseBitrate();

if (_errorMessage.isNotEmpty) {
if (_audioErrorMessage.isEmpty && _videoErrorMessage.isEmpty) {
_startConvert(
inputFilePath,
outputPath,
container,
videoCodec,
audioCodec,
int.parse(_bitrateController.text));
inputFilePath,
outputPath,
container,
videoCodec,
audioCodec,
int.parse(_audioBitrateController.text),
int.parse(_videoBitrateController.text),
);
}
}),
// kill btn
Expand Down Expand Up @@ -188,12 +210,14 @@ class _MyHomePageState extends State<MyHomePage> {
}

_startConvert(
String? filePath,
Directory? outputPath,
NyxContainer? container,
NyxVideoCodec? vCodec,
NyxAudioCodec? aCodec,
int? bitrate) async {
String? filePath,
Directory? outputPath,
NyxContainer? container,
NyxVideoCodec? vCodec,
NyxAudioCodec? aCodec,
int? audioBitrate,
int? videoBitrate,
) async {
setState(() {
isLoading = true;
});
Expand All @@ -213,7 +237,8 @@ class _MyHomePageState extends State<MyHomePage> {
container: container,
videoCodec: vCodec,
audioCodec: aCodec,
bitrate: bitrate,
audioBitrate: audioBitrate,
videoBitrate: videoBitrate,
fileName: rfilename,
debugMode: true,
execution: (String? path, NyxStatus status, {String? errorMessage}) {
Expand Down

0 comments on commit 953c3ea

Please sign in to comment.