zillevdr / vdr-plugin-softhddevice-drm

drm fork
7 stars 6 forks source link

Mediaplayer, support symbolic links #9

Closed MarkusEh closed 2 years ago

MarkusEh commented 2 years ago

Hi,

Can you please change line 563 in mediaplayer.cpp? Old (current) if (DirList[i]->d_type == DT_DIR && DirList[i]->d_name[0] != '.') { New: if ((DirList[i]->d_type == DT_DIR || DirList[i]->d_type == DT_LNK) && DirList[i]->d_name[0] != '.') {

Thanks, Markus

zillevdr commented 2 years ago

I think about it. A media file could be also a symlink. Why you don't use the real path?

MarkusEh commented 2 years ago

I see your point. Better would be to first check if the file behind the symlink is a folder.

Why you don't use the real path?

This is a client, and I want to play files on a server. The real path looks like /media/rpi4s/sda2/Filme/pictures/pics/mov/ It just takes too long to select this all the time ... Can I make /media/rpi4s/sda2/Filme/pictures/pics/mov/ the default for mediaplayer, and keep /video the folder for VDR recordings?

zillevdr commented 2 years ago

And if support symlink folder, then also should support symlink file. It's a lot to change.

Are "mount -o bind /media/rpi4s/sda2/Filme/pictures/pics/mov/ /mov" a solution?

MarkusEh commented 2 years ago

Hi,

Ich dachte an eine kleine Änderung, die zu einer kleinen Verbesserung führt. Warum Symlinks zu Dateien unterstützt werden müssen, nur weil Symlinks zu Verzeichnissen unterstützt werden, ist mir unklar. Aber sicher wäre es sinnvoll, erst noch mit stat((SearchPath + "/" + DirList[i]->d_name).c_str(), ...) zu prüfen, ob es ein Verzeichnis ist.

Ist aber für mich nicht wirklich wichtig, ich kann ja einfach patchen. Oder Kodi nehmen. Oder manuell mount -o bind machen. Oder ein Script schreiben, das bei Verfügbarkeit von "/media/rpi4s/sda2/Filme/pictures/pics/mov/" den mount -o bind macht.

Aus meiner Sicht ist MMAL wichtiger (https://www.vdr-portal.de/forum/index.php?thread/135086-vdr-plugin-softhddevice-drm-rpi3-mmal-instabil/). Aber Du hast ja schon geschrieben, dass das obsolet ist. Ist für mich auch OK. Ist ja Dein Hobby, und natürlich kannst Du entscheiden, was Du machst ...

~ Markus

zillevdr commented 2 years ago

Wenn dann ganz. Nur bissel symlink mag ich nicht. Der nächste will dann genau das. Die Variante Startpath steht auf der Todo Liste.

MarkusEh commented 2 years ago

Hi,

mit diesem Patch werden Symlinks unterstützt, für Verzeichnisse und Dateien: symlinks.patch.txt Außerdem ein bug fix. Ohne den Patch kann der Fehler repruduziert werden, indem eine Datei zum Abspielen ausgewählt wird, die der Player nicht unterstützt. Und danach eine Datei, die der Player unterstützt. Diese (und weitere gewählte Dateien) werden dann nicht abgespielt.

~ Markus

zillevdr commented 2 years ago

Der Patch ist integriert. Thank's zille