2014-09-05, 15:16
First I would like to thank all the people that have developed ServerWMC as this is a great tool and it works well in most cases.
I think I have found a problem with it in my environment when I try to view live tv from xbmc on Raspberry PI or windows clients, Xbmc
reports "all tuners for this channel are busy" when I know that another pc has the tuner in use.
Configuration:
3 Windows Media Center 7 Home Premium PCs running WMC (also running XMBC Gotham 13.2 at times)
2 Silicondust HDHomerun Prime (6 tuners total) running latest 20140604 stable firmware.
1 Raspberry PI running latest stable OpenElec 4.0.7
It looks like there is a problem on my system with ServerWMC showing tuners are available when they are really used by WMC.
ServerWMC correctly detects all 6 tuners and reports them in the "Tuners" tab.
When I try to view a channel from xbmc, ServerWMC tries the first available tuner (usually 13106DFF-1).
When that tuner is already used (by a WMC session from another pc) it does not recognize that the tuner is busy and fails to get the tuner for its own purpose.
In that event, it does not try to get another tuner (although all 5 remaining tuners are available).
As soon as I stop WMC on the other pc and I try again, it works as all 6 tuners were available.
I can recreate the problem.
If I start a WMC on one pc and then go to the "Tuners" tab of the ServerWMC that tuner shows up as available which is not right.
If I use Network Tuner Monitor 5.3 (a good utility to show which tuners are being used), it shows up as in-use.
Also if I use the official hdhomerun_config way of checking the status of the tuners, it reports as busy...
So, that seem to point at a bug in ServerWMC not getting the proper status of a tuner.
Here is the part of the log in question:
2014/09/05 06:10:53.016 OpenLiveStream> -----------------start------------------------
2014/09/05 06:10:53.016 OpenLiveStream> client: OpenELEC requesting live stream
2014/09/05 06:10:53.019 StreamProc> live-tv started
2014/09/05 06:10:53.043 SetChannel> Channel: 2 : KJWP - 7F8D8EF = { (2 : KJWP - 7F8D8E4) + [ 2 : KJWP - 7F8D8E7] }
2014/09/05 06:10:53.045 SetChannel> Tuners available for this channel: 6
2014/09/05 06:10:53.045 SetChannel> Attempt: 0, Tuner: HDHomeRun Prime Tuner 13106DFF-1 / 2f8f90ae-02b7-42da-bf4b-70879594a54b
2014/09/05 06:10:53.045 SetChannel> > Digital: True
2014/09/05 06:10:53.045 SetChannel> > Encrypted: False
2014/09/05 06:10:53.047 SetChannel> > RecorderInfo found: True
2014/09/05 06:10:53.047 SetChannel> > Recorder Content Protection: PROT_COPY_FREE
2014/09/05 06:10:53.049 SetChannel > busy: False, client: none
2014/09/05 06:10:53.049 SetChannel> > tuner is available => stopping search
2014/09/05 06:10:53.051 SetChannel> Recorder acquired: True
2014/09/05 06:10:53.054 SetChannel> TuneRequest set
2014/09/05 06:10:53.067 StreamProc> wtv recording started in 0.05 sec
2014/09/05 06:10:53.068 StreamProc> stream output file: LiveTV_OpenELEC_Digital Cable_2_2014_09_05_06_10_53.ts
2014/09/05 06:10:53.068 StreamProc> started remux thread: 'KJWP-2: 133748975'
2014/09/05 06:10:53.123 Remux::FindDescriptors> Scanning wtv for streams...
2014/09/05 06:10:53.275 Parse> Guid: 0 took 0.15 sec, it was attempted 75 times
2014/09/05 06:10:53.276 Parse> Next 4 Guids: 0.00 sec, 0.00 sec, 0.00 sec, 0.00 sec,
2014/09/05 06:10:53.276 GetNextGuid> end of stream is coming, next empty guid will terminate
2014/09/05 06:10:53.276 GetNextGuid> wtv file size: 524,288 (0x80000)
2014/09/05 06:10:53.278 WtvToPesDemuxer:arse> Guid header detects stream end
2014/09/05 06:10:53.278 Parse> Descriptor pass done, using 15 guids in 0.00 sec
2014/09/05 06:10:53.278 Parse> Total Descriptor parse time: 0.16 sec
2014/09/05 06:10:53.278 Pass 'Descriptor':
2014/09/05 06:10:53.278 > WtvToPesDemuxer:arse> total guid headers processed: 15
2014/09/05 06:10:53.278 > WtvToPesDemuxer:arse> total data packets processed: 0
2014/09/05 06:10:53.328 Remux::FindDescriptors> no streams descriptors were found.
2014/09/05 06:10:53.328 Remux::FindDescriptors> error: no audio or video stream found - aborting remux
2014/09/05 06:10:53.756 Remux> error: System.Exception: FindDescriptors failed
at Remuxer.Remux.Start(String clientName, String outFullFileName)
2014/09/05 06:10:53.756 Remuxer::Start> warning: no MuxFilter output in list during remux shutdown.
2014/09/05 06:10:54.789 Remux> requesting C:\Users\Public\Recorded TV\TempSWMC\LiveTV_OpenELEC_Digital Cable_2_2014_09_05_06_10_53.wtv be saved from deletion
I think I have found a problem with it in my environment when I try to view live tv from xbmc on Raspberry PI or windows clients, Xbmc
reports "all tuners for this channel are busy" when I know that another pc has the tuner in use.
Configuration:
3 Windows Media Center 7 Home Premium PCs running WMC (also running XMBC Gotham 13.2 at times)
2 Silicondust HDHomerun Prime (6 tuners total) running latest 20140604 stable firmware.
1 Raspberry PI running latest stable OpenElec 4.0.7
It looks like there is a problem on my system with ServerWMC showing tuners are available when they are really used by WMC.
ServerWMC correctly detects all 6 tuners and reports them in the "Tuners" tab.
When I try to view a channel from xbmc, ServerWMC tries the first available tuner (usually 13106DFF-1).
When that tuner is already used (by a WMC session from another pc) it does not recognize that the tuner is busy and fails to get the tuner for its own purpose.
In that event, it does not try to get another tuner (although all 5 remaining tuners are available).
As soon as I stop WMC on the other pc and I try again, it works as all 6 tuners were available.
I can recreate the problem.
If I start a WMC on one pc and then go to the "Tuners" tab of the ServerWMC that tuner shows up as available which is not right.
If I use Network Tuner Monitor 5.3 (a good utility to show which tuners are being used), it shows up as in-use.
Also if I use the official hdhomerun_config way of checking the status of the tuners, it reports as busy...
So, that seem to point at a bug in ServerWMC not getting the proper status of a tuner.
Here is the part of the log in question:
2014/09/05 06:10:53.016 OpenLiveStream> -----------------start------------------------
2014/09/05 06:10:53.016 OpenLiveStream> client: OpenELEC requesting live stream
2014/09/05 06:10:53.019 StreamProc> live-tv started
2014/09/05 06:10:53.043 SetChannel> Channel: 2 : KJWP - 7F8D8EF = { (2 : KJWP - 7F8D8E4) + [ 2 : KJWP - 7F8D8E7] }
2014/09/05 06:10:53.045 SetChannel> Tuners available for this channel: 6
2014/09/05 06:10:53.045 SetChannel> Attempt: 0, Tuner: HDHomeRun Prime Tuner 13106DFF-1 / 2f8f90ae-02b7-42da-bf4b-70879594a54b
2014/09/05 06:10:53.045 SetChannel> > Digital: True
2014/09/05 06:10:53.045 SetChannel> > Encrypted: False
2014/09/05 06:10:53.047 SetChannel> > RecorderInfo found: True
2014/09/05 06:10:53.047 SetChannel> > Recorder Content Protection: PROT_COPY_FREE
2014/09/05 06:10:53.049 SetChannel > busy: False, client: none
2014/09/05 06:10:53.049 SetChannel> > tuner is available => stopping search
2014/09/05 06:10:53.051 SetChannel> Recorder acquired: True
2014/09/05 06:10:53.054 SetChannel> TuneRequest set
2014/09/05 06:10:53.067 StreamProc> wtv recording started in 0.05 sec
2014/09/05 06:10:53.068 StreamProc> stream output file: LiveTV_OpenELEC_Digital Cable_2_2014_09_05_06_10_53.ts
2014/09/05 06:10:53.068 StreamProc> started remux thread: 'KJWP-2: 133748975'
2014/09/05 06:10:53.123 Remux::FindDescriptors> Scanning wtv for streams...
2014/09/05 06:10:53.275 Parse> Guid: 0 took 0.15 sec, it was attempted 75 times
2014/09/05 06:10:53.276 Parse> Next 4 Guids: 0.00 sec, 0.00 sec, 0.00 sec, 0.00 sec,
2014/09/05 06:10:53.276 GetNextGuid> end of stream is coming, next empty guid will terminate
2014/09/05 06:10:53.276 GetNextGuid> wtv file size: 524,288 (0x80000)
2014/09/05 06:10:53.278 WtvToPesDemuxer:arse> Guid header detects stream end
2014/09/05 06:10:53.278 Parse> Descriptor pass done, using 15 guids in 0.00 sec
2014/09/05 06:10:53.278 Parse> Total Descriptor parse time: 0.16 sec
2014/09/05 06:10:53.278 Pass 'Descriptor':
2014/09/05 06:10:53.278 > WtvToPesDemuxer:arse> total guid headers processed: 15
2014/09/05 06:10:53.278 > WtvToPesDemuxer:arse> total data packets processed: 0
2014/09/05 06:10:53.328 Remux::FindDescriptors> no streams descriptors were found.
2014/09/05 06:10:53.328 Remux::FindDescriptors> error: no audio or video stream found - aborting remux
2014/09/05 06:10:53.756 Remux> error: System.Exception: FindDescriptors failed
at Remuxer.Remux.Start(String clientName, String outFullFileName)
2014/09/05 06:10:53.756 Remuxer::Start> warning: no MuxFilter output in list during remux shutdown.
2014/09/05 06:10:54.789 Remux> requesting C:\Users\Public\Recorded TV\TempSWMC\LiveTV_OpenELEC_Digital Cable_2_2014_09_05_06_10_53.wtv be saved from deletion