Video DB design broken when used as a centralized DB in a heterogenous environment
#1
I've recently moved my video library database to a centralized mysql server, which is now shared by multiple machines, some running Linux and some Windows 7.

This works fine so war, expect for the file specific settings which are stored in the settings table in the video db. Some of these settings depend solely on the media file, for example the currently selected audio and subtitle streams, which makes them suitable to be shared between multiple machines. But other settings are strongly tied to the operating system and/or hardware environment, like deinterlacing and scaling settings.

First I tried to avoid touching those file specific settings altogether, because I knew I have suitable defaults for deinterlacing and scaling in guisettings.xml, which is not shared across different platforms. On Windows 7 for example, I can't have deinterlacing because of DXVA, but on Linux with NVIDIA I would like to have deinterlacing enabled, so I've configured my defaults in guisettings.xml accordingly.

But once I switch to a specific audio or subtitle stream, the affected file get's a complete entry in the settings table, which also contains all the other defaults video settings from the involved machine. If a file is played on Windows 7 and the audio language is changed, deinterlacing is disabled for that file on Linux as well.

I think once the database is shared across multiple machines, platform specific settings need to be removed or to be made more abstract and platform agnostic in some way.

As a short term solution, it may also be sufficient to cherry-pick which columns from the settings table are considered valid when using a shared db, or even better to make this configurable via advancedsettings.xml:

Code:
<advancedsettings>
  <videodatabase>
     ....
    <validfilesettings>AudioStream,SubtitleStream,SubtitleDelay,SubtitlesOn,AudioDelay,ResumeTime</validfilesettings>
  </videodatabase>
</advancedsettings>
Reply

Logout Mark Read Team Forum Stats Members Help
Video DB design broken when used as a centralized DB in a heterogenous environment0