mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 20:37:33 +00:00
feat(dmr): decode independent receiver slices
This commit is contained in:
+13
-1
@@ -50,6 +50,7 @@ var
|
||||
GMbeDestroy: TMbeDestroy = nil;
|
||||
GMbeReset: TMbeReset = nil;
|
||||
GMbeDecode: TMbeDecode = nil;
|
||||
GLoadRefs: Integer = 0;
|
||||
|
||||
function Symbol(const Name: PChar): Pointer;
|
||||
begin
|
||||
@@ -73,7 +74,11 @@ var
|
||||
i: Integer;
|
||||
LocalName, BuildName: string;
|
||||
begin
|
||||
if GLib <> dynlibs.NilHandle then Exit(True);
|
||||
if GLib <> dynlibs.NilHandle then
|
||||
begin
|
||||
Inc(GLoadRefs);
|
||||
Exit(True);
|
||||
end;
|
||||
GLastError := '';
|
||||
for i := Low(Names) to High(Names) do
|
||||
begin
|
||||
@@ -115,11 +120,18 @@ begin
|
||||
DMRUnload;
|
||||
Exit(False);
|
||||
end;
|
||||
GLoadRefs := 1;
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
procedure DMRUnload;
|
||||
begin
|
||||
if GLoadRefs > 1 then
|
||||
begin
|
||||
Dec(GLoadRefs);
|
||||
Exit;
|
||||
end;
|
||||
GLoadRefs := 0;
|
||||
GAbiVersion := nil;
|
||||
GMbeCreate := nil;
|
||||
GMbeDestroy := nil;
|
||||
|
||||
Reference in New Issue
Block a user