Skip to content

Commit 03d4bdb

Browse files
committed
[ffi] Fixed incorrect Devices.all list
1 parent 5da5141 commit 03d4bdb

File tree

4 files changed

+11
-8
lines changed

4 files changed

+11
-8
lines changed

ffi/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.0.4
2+
3+
- Fixed incorrect `Devices.all` list.
4+
15
## 0.0.3
26

37
- Fixed video frame callbacks.

ffi/lib/src/device.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ class Devices {
2121
Pointer<Pointer<Utf8>> devicesPtr = DevicesFFI.all();
2222
int count = int.parse(devicesPtr.elementAt(0).value.toDartString());
2323
for (int i = 1; i < 2 * count; i += 2) {
24-
devices.add(Device(devicesPtr.elementAt(1).value.toDartString(),
25-
devicesPtr.elementAt(2).value.toDartString()));
24+
devices.add(Device(devicesPtr.elementAt(i).value.toDartString(),
25+
devicesPtr.elementAt(i + 1).value.toDartString()));
2626
}
2727
return devices;
2828
}

ffi/native/dart_vlc.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -293,15 +293,14 @@ EXPORT char** Devices_all() {
293293
char** _devices = new char*[(devices->all.size() * 2) + 1];
294294
_devices[0] = new char[200];
295295
strncpy(_devices[0], std::to_string(devices->all.size()).data(), 200);
296-
int index = 1;
296+
int index = 0;
297297
for (Device* device: devices->all) {
298-
_devices[index] = new char[200];
299-
strncpy(_devices[index], device->id.data(), 200);
300298
_devices[index + 1] = new char[200];
301-
strncpy(_devices[index + 1], device->name.data(), 200);
299+
strncpy(_devices[index + 1], device->id.data(), 200);
300+
_devices[index + 2] = new char[200];
301+
strncpy(_devices[index + 2], device->name.data(), 200);
302302
index += 2;
303303
}
304-
devices->all.size();
305304
return _devices;
306305
}
307306

ffi/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: dart_vlc_ffi
22
description: FFI based binding to dart_vlc wrapper (Based on libVLC & libVLC++).
3-
version: 0.0.3
3+
version: 0.0.4
44
homepage: https://github.com/alexmercerind/dart_vlc
55
repository: https://github.com/alexmercerind/dart_vlc
66
documentation: https://github.com/alexmercerind/dart_vlc/blob/master/README.md

0 commit comments

Comments
 (0)