I have previously successfully set up a SMB sharing scheme from my Windows 10 machine using autofs. I now have the following issue - suppose I am watching a film from the SMB share (Vero is a client). Now, in order:
I pause the movie and turn my TV off.
I switch my Windows machine, thus killing the source of the movie for Vero.
I go to sleep, come back the following day.
I turn on the Windows machine, make sure the folder is being shared correctly.
I turn the TV on and…
Vero is stuck on the ‘paused screen’ from (1). It’s not responding to the remote. I can login via SSH though - when I invoke a reboot via SSH, Vero takes a while to switch itself off: in particular it takes 3 minutes to ‘dismount’ the SMB share (I can see this output on my TV).
I have a proposed workaround to the problem - I now set my Vero to ‘suspend’ after 10 minutes of inactivity. Since this properly stops the playback (rather than pauses it), I believe it will likely solve the problem. It’s a workaround though - can we think of something more proper?
Use stop instead of pause. When you click play next day you automatically can resume from where you stopped before. Otherwise your file handle will not be released.
I have not tried it - but a ‘good’ solution to the problem cannot require logging in via SSH every time the problem occurs.
I’m not sure how changing these parameters from default will result in anything else - retrans is set to 3 by default (what’s the difference between 2 retries and 3 retries to my problem?), and timeo will only change the increment between the retries (default is 600 I think).
This is a solution - I agree, but you are esentially saying ‘do not use the pause function, just in case you dismount the SMB share’, which is not a ‘good’ solution either.
Can anyone think of a clever cron job that would release the handles when paused for too long? If I can access the time played of the file currently being played, as well as its name from terminal level, I can imagine I could run a job like this - every 10 minutes check whether you are paused at the same timestamp as the last time you checked. If so, press ‘stop’, as per your solution @fzinken. Ideas?
You could probably do a script in python that uses the Kodi JSON interface and check what is playing. After X minutes of pause then stop the play.
Seems like a lot of work when just a simple stop would do it Or even better not shutting down the file server, because file servers are there to ahem, serve files?!