id summary reporter owner description type status priority milestone component version severity resolution keywords cc mlocked 11386 Patch: Let Services API clients check MythTV's ability to transcode Bill Meek Bill Meek "This patch gives a Services API client the ability to detect backend configuration options that would prevent the client from being able to transcode recordings. The client can then tell the user where the problem(s) are and refuse to run until they've been resolved. Four items are addressed, based on the the experience of one client's users. The framework for additional checks is added. 1. Not compiling with --enable-libx264 isn't easily diagnosable. The client only knows that transcoding has started, but, if it fails, the reason can't be displayed to the user. mythbackend --version doesn't display an entry such as: using_libx264. 2. If --disable-libdns-sd was used, mDNS won't be available. This assumes that a client allows manual backend IP configuration and wants to alert the user that automatic configuration is available. 3. Add run-time logging options. This allows clients to direct their users to the location of backend log files. A new GetConfigurationInfo API command is called like and returns: {{{ http://:6544/Myth/GetConfigurationInfo true true --verbose general --logpath /var/log/mythtv }}} 4. Detect unreadable/unwritable Storage Groups. In the case of unwritable Streaming Storage Groups, the mythtranscode program will fail and the client will not know why. Granted, users __should__ see BE log info if an unwritable Storage Group is added, or when mythbackend starts. mythtranscode only logs the following when it can't write to a Streaming Storage Group: {{{ CoreContext transcode.cpp:491 (TranscodeFile) - hls->InitForWrite() failed }}} I didn't try to address the issue of the Built-In streaming group. The response to the existing GetStorageGroupDirs API command is enhanced to return DirPerms true, only if the directories are readable and writable by the user running the backend: {{{ http://:6544/Myth/GetStorageGroupDirs?GroupName=Streaming 13 Streaming mc1 /var/lib/mythtv/storage/streaming/ true <-------- New }}}" Patch - Feature closed minor 0.28 MythTV - Services API - Backend Master Head medium fixed Services API 0