[gelöst]Heaptrc zeigt nicht frei gegebener Speicher bei mpv, ist es normal?

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Soner
Beiträge: 818
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

[gelöst]Heaptrc zeigt nicht frei gegebener Speicher bei mpv, ist es normal?

Beitrag von Soner »

Ich habe heute die MPV-Player URUWorks und 3nity-media ausprobiert und bei Beispielprogramm Heaptrc eingeschaltet. Wenn man die Programme startet und ohne etwas spielen beendet, dann zeigt Heaptrc kein Speicherleck, sobald man ein Musik spielt es richtig stoppt, dann das Programm beendet, dann wird Speicherleck angezeigt. Beide verwenden unterschiedliche DLLs. Die Pascal-Units verwenden auch bei beiden beim beenden "Unload_dll",
Anschließend habe ich TMplayer heruntergeladen und das beispiel mit dem MPlayer.exe von Smplayer verwendent, das zeigte kein Speicherleck.
Ich habe auch Sombys Mediaplayer(ffmepg) angeschaut, dieser Player zeigte auch Speicherleck sobald man etwas spielte.

Kann es sein, dass ein Bibliothek, oder mehrere, von Ffmpeg- und Mpv-Projekt Speicherleck hat? Mpv soll ffmpeg-code verwenden. Oder zeigt Heaptrc in diesem Fall falsche Werte?
Zuletzt geändert von Soner am So 4. Okt 2026, 16:46, insgesamt 1-mal geändert.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 7454
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Heaptrc zeigt nicht frei gegebener Speicher bei mpv, ist es normal?

Beitrag von af0815 »

Soner hat geschrieben: So 4. Okt 2026, 11:02 Kann es sein, dass ein Bibliothek, oder mehrere, von Ffmpeg- und Mpv-Projekt Speicherleck hat? Mpv soll ffmpeg-code verwenden. Oder zeigt Heaptrc in diesem Fall falsche Werte?
Ich habe es bei meinem Versuchen mit den Bibliotheken von LibGit gesehen. Du forderst Speicher aus Pascal über die Bibliothek an, wenn der nicht wieder exakt über die Bibliothek freigegeben wird, so wird dieser der Bibliothek zugerechnet, obwohl du im Pascalprogramm etwas nicht richtig gemacht hast. Weil die Speicherverwaltung nur in der Bibliothek getan wird. Du bekommst aus der Bibliothek ja nur Pointer. Damit wird an der Schnittstelle die Typenprüfung ausgehebelt, weil du kannst falsche Typen auf den Pointer casten.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Soner
Beiträge: 818
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: Heaptrc zeigt nicht frei gegebener Speicher bei mpv, ist es normal?

Beitrag von Soner »

@af0815
In diesem Fall werden die Dateien von MPV oder FFMPEG selber geladen.
Ich habe selber nötigste Header zusammen gebastelt um MPV-Simple-Beispiel zuverwenden. Heaptrc zeigt keinen Speicherleck also enthalten alle oben erwähnten Player Fehler.

Ich lade mein Beispielprogramm hoch. URUWorks-Demo enthält MPV-Dll, ihr könnt es nehmen um zu testen. Im Programm muss folgende Zeile angepasst werden:
StackArgs[1]:='c:\mymusik.mp3';
Dateianhänge
mpvsimple-pub.zip
(3.47 KiB) 1-mal heruntergeladen

Antworten