Переглянути джерело

update hd homerun udp stream

Luke Pulverenti 8 роки тому
батько
коміт
da88fbb824

+ 1 - 1
Emby.Server.Implementations/LiveTv/TunerHosts/BaseTunerHost.cs

@@ -53,7 +53,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
 
             var result = await GetChannelsInternal(tuner, cancellationToken).ConfigureAwait(false);
             var list = result.ToList();
-            Logger.Debug("Channels from {0}: {1}", tuner.Url, JsonSerializer.SerializeToString(list));
+            Logger.Info("Channels from {0}: {1}", tuner.Url, JsonSerializer.SerializeToString(list));
 
             if (!string.IsNullOrWhiteSpace(key) && list.Count > 0)
             {

+ 6 - 3
Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunUdpStream.cs

@@ -120,7 +120,8 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
                                 // send url to start streaming
                                 await hdHomerunManager.StartStreaming(remoteAddress, localAddress, localPort, _channelCommands, _numTuners, cancellationToken).ConfigureAwait(false);
 
-                                var response = await udpClient.ReceiveAsync(cancellationToken).ConfigureAwait(false);
+                                var timeoutToken = CancellationTokenSource.CreateLinkedTokenSource(new CancellationTokenSource(5000).Token, cancellationToken).Token;
+                                var response = await udpClient.ReceiveAsync(timeoutToken).ConfigureAwait(false);
                                 _logger.Info("Opened HDHR UDP stream from {0}", remoteAddress);
 
                                 if (!cancellationToken.IsCancellationRequested)
@@ -135,8 +136,10 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
                                     await _multicastStream.CopyUntilCancelled(stream, onStarted, cancellationToken).ConfigureAwait(false);
                                 }
                             }
-                            catch (OperationCanceledException)
+                            catch (OperationCanceledException ex)
                             {
+                                _logger.Info("HDHR UDP stream cancelled or timed out from {0}", remoteAddress);
+                                openTaskCompletionSource.TrySetException(ex);
                                 break;
                             }
                             catch (Exception ex)
@@ -291,4 +294,4 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
             throw new NotImplementedException();
         }
     }
-}
+}

+ 6 - 0
MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs

@@ -154,6 +154,7 @@ namespace MediaBrowser.Controller.MediaEncoding
             {
                 return "mpegts";
             }
+
             // For these need to find out the ffmpeg names
             if (string.Equals(container, "m2ts", StringComparison.OrdinalIgnoreCase))
             {
@@ -179,6 +180,11 @@ namespace MediaBrowser.Controller.MediaEncoding
             {
                 return null;
             }
+            if (string.Equals(container, "dvr-ms", StringComparison.OrdinalIgnoreCase))
+            {
+                return null;
+            }
+
             // Seeing reported failures here, not sure yet if this is related to specfying input format
             if (string.Equals(container, "m4v", StringComparison.OrdinalIgnoreCase))
             {