prismcast 1.5.1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/README.md +44 -28
  2. package/dist/app.d.ts +5 -0
  3. package/dist/app.js +63 -5
  4. package/dist/app.js.map +1 -1
  5. package/dist/browser/channelSelection.js +14 -2
  6. package/dist/browser/channelSelection.js.map +1 -1
  7. package/dist/browser/index.d.ts +23 -9
  8. package/dist/browser/index.js +205 -88
  9. package/dist/browser/index.js.map +1 -1
  10. package/dist/browser/precaching.js +3 -3
  11. package/dist/browser/precaching.js.map +1 -1
  12. package/dist/browser/tuning/directv.js +13 -0
  13. package/dist/browser/tuning/directv.js.map +1 -1
  14. package/dist/browser/tuning/fox.js +12 -0
  15. package/dist/browser/tuning/fox.js.map +1 -1
  16. package/dist/browser/tuning/hbo.js +11 -0
  17. package/dist/browser/tuning/hbo.js.map +1 -1
  18. package/dist/browser/tuning/hulu.js +23 -0
  19. package/dist/browser/tuning/hulu.js.map +1 -1
  20. package/dist/browser/tuning/sling.js +34 -4
  21. package/dist/browser/tuning/sling.js.map +1 -1
  22. package/dist/browser/tuning/spectrum.js +12 -0
  23. package/dist/browser/tuning/spectrum.js.map +1 -1
  24. package/dist/browser/tuning/xfinity.d.ts +2 -0
  25. package/dist/browser/tuning/xfinity.js +607 -0
  26. package/dist/browser/tuning/xfinity.js.map +1 -0
  27. package/dist/browser/tuning/youtubeTv.js +14 -0
  28. package/dist/browser/tuning/youtubeTv.js.map +1 -1
  29. package/dist/browser/video.d.ts +2 -0
  30. package/dist/browser/video.js +99 -17
  31. package/dist/browser/video.js.map +1 -1
  32. package/dist/channels/index.js +187 -56
  33. package/dist/channels/index.js.map +1 -1
  34. package/dist/config/health.d.ts +28 -28
  35. package/dist/config/health.js +52 -52
  36. package/dist/config/health.js.map +1 -1
  37. package/dist/config/paths.d.ts +12 -0
  38. package/dist/config/paths.js +16 -0
  39. package/dist/config/paths.js.map +1 -1
  40. package/dist/config/profiles.d.ts +3 -2
  41. package/dist/config/profiles.js +45 -34
  42. package/dist/config/profiles.js.map +1 -1
  43. package/dist/config/providers.d.ts +7 -0
  44. package/dist/config/providers.js +14 -0
  45. package/dist/config/providers.js.map +1 -1
  46. package/dist/config/sites.d.ts +28 -0
  47. package/dist/config/sites.js +93 -122
  48. package/dist/config/sites.js.map +1 -1
  49. package/dist/config/userChannels.d.ts +3 -0
  50. package/dist/config/userChannels.js +10 -3
  51. package/dist/config/userChannels.js.map +1 -1
  52. package/dist/config/userConfig.d.ts +1 -0
  53. package/dist/config/userConfig.js +4 -0
  54. package/dist/config/userConfig.js.map +1 -1
  55. package/dist/config/userProfiles.d.ts +0 -1
  56. package/dist/config/userProfiles.js +18 -10
  57. package/dist/config/userProfiles.js.map +1 -1
  58. package/dist/index.js +16 -7
  59. package/dist/index.js.map +1 -1
  60. package/dist/native/decrypt.d.ts +32 -0
  61. package/dist/native/decrypt.js +85 -0
  62. package/dist/native/decrypt.js.map +1 -0
  63. package/dist/native/index.d.ts +58 -0
  64. package/dist/native/index.js +341 -0
  65. package/dist/native/index.js.map +1 -0
  66. package/dist/native/intercept.d.ts +35 -0
  67. package/dist/native/intercept.js +184 -0
  68. package/dist/native/intercept.js.map +1 -0
  69. package/dist/native/probe.d.ts +48 -0
  70. package/dist/native/probe.js +270 -0
  71. package/dist/native/probe.js.map +1 -0
  72. package/dist/native/proxy.d.ts +52 -0
  73. package/dist/native/proxy.js +904 -0
  74. package/dist/native/proxy.js.map +1 -0
  75. package/dist/routes/config/channels/table.js +19 -25
  76. package/dist/routes/config/channels/table.js.map +1 -1
  77. package/dist/routes/config/providers.js +4 -4
  78. package/dist/routes/config/providers.js.map +1 -1
  79. package/dist/routes/debug.js +5 -5
  80. package/dist/routes/debug.js.map +1 -1
  81. package/dist/routes/hls.js +12 -2
  82. package/dist/routes/hls.js.map +1 -1
  83. package/dist/routes/index.d.ts +1 -0
  84. package/dist/routes/index.js +3 -0
  85. package/dist/routes/index.js.map +1 -1
  86. package/dist/routes/root/content.js +80 -20
  87. package/dist/routes/root/content.js.map +1 -1
  88. package/dist/routes/root/scripts/status.js +14 -13
  89. package/dist/routes/root/scripts/status.js.map +1 -1
  90. package/dist/routes/root/styles.js +4 -2
  91. package/dist/routes/root/styles.js.map +1 -1
  92. package/dist/streaming/fmp4Segmenter.d.ts +3 -0
  93. package/dist/streaming/fmp4Segmenter.js +143 -42
  94. package/dist/streaming/fmp4Segmenter.js.map +1 -1
  95. package/dist/streaming/hls.d.ts +24 -19
  96. package/dist/streaming/hls.js +486 -261
  97. package/dist/streaming/hls.js.map +1 -1
  98. package/dist/streaming/hlsResume.d.ts +7 -0
  99. package/dist/streaming/hlsResume.js +22 -2
  100. package/dist/streaming/hlsResume.js.map +1 -1
  101. package/dist/streaming/hlsSegments.d.ts +42 -2
  102. package/dist/streaming/hlsSegments.js +109 -8
  103. package/dist/streaming/hlsSegments.js.map +1 -1
  104. package/dist/streaming/lifecycle.js +20 -2
  105. package/dist/streaming/lifecycle.js.map +1 -1
  106. package/dist/streaming/monitor.d.ts +1 -0
  107. package/dist/streaming/monitor.js +369 -21
  108. package/dist/streaming/monitor.js.map +1 -1
  109. package/dist/streaming/mp4Parser.d.ts +52 -6
  110. package/dist/streaming/mp4Parser.js +156 -30
  111. package/dist/streaming/mp4Parser.js.map +1 -1
  112. package/dist/streaming/mpegts.d.ts +2 -2
  113. package/dist/streaming/mpegts.js +156 -109
  114. package/dist/streaming/mpegts.js.map +1 -1
  115. package/dist/streaming/playlistBuilder.d.ts +38 -0
  116. package/dist/streaming/playlistBuilder.js +66 -0
  117. package/dist/streaming/playlistBuilder.js.map +1 -0
  118. package/dist/streaming/preroll.d.ts +106 -0
  119. package/dist/streaming/preroll.js +373 -0
  120. package/dist/streaming/preroll.js.map +1 -0
  121. package/dist/streaming/pretune.d.ts +8 -0
  122. package/dist/streaming/pretune.js +226 -0
  123. package/dist/streaming/pretune.js.map +1 -0
  124. package/dist/streaming/registry.d.ts +24 -3
  125. package/dist/streaming/registry.js +23 -1
  126. package/dist/streaming/registry.js.map +1 -1
  127. package/dist/streaming/setup.d.ts +7 -0
  128. package/dist/streaming/setup.js +27 -6
  129. package/dist/streaming/setup.js.map +1 -1
  130. package/dist/streaming/showInfo.d.ts +24 -0
  131. package/dist/streaming/showInfo.js +55 -3
  132. package/dist/streaming/showInfo.js.map +1 -1
  133. package/dist/streaming/statusEmitter.d.ts +6 -4
  134. package/dist/streaming/statusEmitter.js +9 -3
  135. package/dist/streaming/statusEmitter.js.map +1 -1
  136. package/dist/types/channels.d.ts +1 -0
  137. package/dist/types/index.d.ts +1 -1
  138. package/dist/types/profiles.d.ts +8 -1
  139. package/dist/types/selection.d.ts +4 -1
  140. package/dist/types/streaming.d.ts +7 -0
  141. package/dist/utils/chromeFetch.d.ts +20 -0
  142. package/dist/utils/chromeFetch.js +43 -0
  143. package/dist/utils/chromeFetch.js.map +1 -0
  144. package/dist/utils/debugFilter.js +15 -0
  145. package/dist/utils/debugFilter.js.map +1 -1
  146. package/dist/utils/delay.d.ts +16 -0
  147. package/dist/utils/delay.js +15 -1
  148. package/dist/utils/delay.js.map +1 -1
  149. package/dist/utils/ffmpeg.d.ts +1 -7
  150. package/dist/utils/ffmpeg.js +86 -127
  151. package/dist/utils/ffmpeg.js.map +1 -1
  152. package/dist/utils/index.d.ts +2 -0
  153. package/dist/utils/index.js +2 -0
  154. package/dist/utils/index.js.map +1 -1
  155. package/dist/utils/pid.d.ts +40 -0
  156. package/dist/utils/pid.js +83 -0
  157. package/dist/utils/pid.js.map +1 -0
  158. package/package.json +5 -5
@@ -12,8 +12,9 @@
12
12
  * against GuideChannelLogo button titles (e.g., FOXD2C, FNC, FS1). For guideGrid (huluLive), this is the exact channel name matched against image alt text. For
13
13
  * hboGrid (hboMax), this is the channel name matched against the live channel rail tile text (e.g., HBO, HBO Hits). For slingGrid (slingLive), this is the
14
14
  * channel name as it appears in the Sling TV guide grid data-testid attributes. For spectrumGrid (spectrum), this is the channel name from the Spectrum TV guide
15
- * rowheaders (e.g., ESPN, CNN, Discovery Channel) or a network name (e.g., NBC) for local affiliates. For youtubeGrid (youtubeTV), this is the channel name
16
- * from the YouTube TV guide or a network name (e.g., NBC) for local affiliates.
15
+ * rowheaders (e.g., ESPN, CNN, Discovery Channel) or a network name (e.g., NBC) for local affiliates. For xfinityDirect (xfinityStream), this is the network
16
+ * name from the channelmap API branchOf field (e.g., CNN, ESPN, Animal Planet) or callSign (e.g., CNNHD, ESPND). For youtubeGrid (youtubeTV), this is the
17
+ * channel name from the YouTube TV guide or a network name (e.g., NBC) for local affiliates.
17
18
  * - provider: Display name override for the provider selection dropdown (optional). Normally auto-derived from the URL domain via DOMAIN_CONFIG in
18
19
  * config/profiles.ts. Only needed when a channel's display name should differ from the domain-level default.
19
20
  *
@@ -35,57 +36,72 @@ const BASE_CHANNELS = {
35
36
  "abc-hulu": { channelSelector: "ABC", url: "https://www.hulu.com/live" },
36
37
  "abc-sling": { channelSelector: "ABC", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
37
38
  "abc-spectrum": { channelSelector: "ABC", url: "https://watch.spectrum.net/guide" },
39
+ "abc-xfinity": { channelSelector: "ABC", url: "https://www.xfinity.com/stream/listings" },
38
40
  "abc-yttv": { channelSelector: "ABC", url: "https://tv.youtube.com/live" },
39
- abcnews: { channelSelector: "ABC News Live", name: "ABC News Live", stationId: "113380", url: "https://www.hulu.com/live" },
40
- "abcnews-directv": { channelSelector: "ABC News Live", url: "https://stream.directv.com" },
41
+ abcnews: { channelSelector: "ABC News Live", name: "ABC News Live", stationId: "113380", url: "https://stream.directv.com" },
42
+ "abcnews-hulu": { channelSelector: "ABC News Live", url: "https://www.hulu.com/live" },
41
43
  "abcnews-sling": { channelSelector: "ABC News Live", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
44
+ "abcnews-xfinity": { channelSelector: "ABCNL", url: "https://www.xfinity.com/stream/listings" },
42
45
  "abcnews-yttv": { channelSelector: "ABC News Live", url: "https://tv.youtube.com/live" },
43
46
  ae: { name: "A&E", pacificStationId: "57439", stationId: "51529", url: "https://play.aetv.com/live" },
44
47
  "ae-directv": { channelSelector: "A&E", url: "https://stream.directv.com" },
45
48
  "ae-hulu": { channelSelector: "A&E", url: "https://www.hulu.com/live" },
46
49
  "ae-sling": { channelSelector: "A&E", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
47
50
  "ae-spectrum": { channelSelector: "A&E", url: "https://watch.spectrum.net/guide" },
51
+ "ae-xfinity": { channelSelector: "A&E", url: "https://www.xfinity.com/stream/listings" },
48
52
  "ae-yttv": { channelSelector: "A&E", url: "https://tv.youtube.com/live" },
49
53
  ahc: { name: "American Heroes", stationId: "78808", url: "https://watch.foodnetwork.com/channel/ahc" },
50
54
  "ahc-spectrum": { channelSelector: "American Heroes Channel", url: "https://watch.spectrum.net/guide" },
51
- amc: { channelSelector: "AMC", name: "AMC", pacificStationId: "78836", stationId: "59337", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
52
- "amc-directv": { channelSelector: "AMC", url: "https://stream.directv.com" },
55
+ "ahc-xfinity": { channelSelector: "American Heroes", url: "https://www.xfinity.com/stream/listings" },
56
+ amc: { channelSelector: "AMC", name: "AMC", pacificStationId: "78836", stationId: "59337", url: "https://stream.directv.com" },
57
+ "amc-sling": { channelSelector: "AMC", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
53
58
  "amc-spectrum": { channelSelector: "AMC", url: "https://watch.spectrum.net/guide" },
59
+ "amc-xfinity": { channelSelector: "AMC", url: "https://www.xfinity.com/stream/listings" },
54
60
  "amc-yttv": { channelSelector: "AMC", url: "https://tv.youtube.com/live" },
55
- amcthrillers: { channelSelector: "AMC Thrillers", name: "AMC Thrillers", stationId: "115678", url: "https://tv.youtube.com/live" },
56
- "amcthrillers-sling": { channelSelector: "AMC Thrillers", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
61
+ amcthrillers: { channelSelector: "AMC Thrillers", name: "AMC Thrillers", stationId: "115678", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
62
+ "amcthrillers-yttv": { channelSelector: "AMC Thrillers", url: "https://tv.youtube.com/live" },
57
63
  animal: { name: "Animal Planet", pacificStationId: "68785", stationId: "57394", url: "https://watch.foodnetwork.com/channel/animal-planet" },
58
64
  "animal-directv": { channelSelector: "Animal Planet", url: "https://stream.directv.com" },
59
65
  "animal-hulu": { channelSelector: "Animal Planet", url: "https://www.hulu.com/live" },
60
66
  "animal-spectrum": { channelSelector: "Animal Planet", url: "https://watch.spectrum.net/guide" },
67
+ "animal-xfinity": { channelSelector: "Animal Planet", url: "https://www.xfinity.com/stream/listings" },
61
68
  "animal-yttv": { channelSelector: "Animal Planet", url: "https://tv.youtube.com/live" },
62
69
  axstv: { channelSelector: "AXS TV", name: "AXS TV", stationId: "28506", url: "https://stream.directv.com" },
63
- bbcamerica: { channelSelector: "BBC America", name: "BBC America", pacificStationId: "76739", stationId: "64492", url: "https://tv.youtube.com/live" },
64
- "bbcamerica-directv": { channelSelector: "BBC America", url: "https://stream.directv.com" },
70
+ "axstv-spectrum": { channelSelector: "AXS TV", url: "https://watch.spectrum.net/guide" },
71
+ "axstv-xfinity": { channelSelector: "AXS TV", url: "https://www.xfinity.com/stream/listings" },
72
+ bbcamerica: { channelSelector: "BBC America", name: "BBC America", pacificStationId: "76739", stationId: "64492", url: "https://stream.directv.com" },
65
73
  "bbcamerica-sling": { channelSelector: "BBC America", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
66
74
  "bbcamerica-spectrum": { channelSelector: "BBC America", url: "https://watch.spectrum.net/guide" },
67
- bbcnews: { channelSelector: "BBC News", name: "BBC News", stationId: "101449", url: "https://tv.youtube.com/live" },
68
- "bbcnews-directv": { channelSelector: "BBC News", url: "https://stream.directv.com" },
75
+ "bbcamerica-xfinity": { channelSelector: "BBC America", url: "https://www.xfinity.com/stream/listings" },
76
+ "bbcamerica-yttv": { channelSelector: "BBC America", url: "https://tv.youtube.com/live" },
77
+ bbcnews: { channelSelector: "BBC News", name: "BBC News", stationId: "101449", url: "https://stream.directv.com" },
69
78
  "bbcnews-sling": { channelSelector: "BBC News", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
70
79
  "bbcnews-spectrum": { channelSelector: "BBC World News", url: "https://watch.spectrum.net/guide" },
80
+ "bbcnews-xfinity": { channelSelector: "BBC News", url: "https://www.xfinity.com/stream/listings" },
81
+ "bbcnews-yttv": { channelSelector: "BBC News", url: "https://tv.youtube.com/live" },
71
82
  bet: { name: "BET", pacificStationId: "64673", stationId: "63236", url: "https://www.bet.com/live-tv" },
72
83
  "bet-directv": { channelSelector: "BET", url: "https://stream.directv.com" },
73
84
  "bet-hulu": { channelSelector: "BET", url: "https://www.hulu.com/live" },
74
85
  "bet-sling": { channelSelector: "BET", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
75
86
  "bet-spectrum": { channelSelector: "BET", url: "https://watch.spectrum.net/guide" },
87
+ "bet-xfinity": { channelSelector: "BET", url: "https://www.xfinity.com/stream/listings" },
76
88
  "bet-yttv": { channelSelector: "BET", url: "https://tv.youtube.com/live" },
77
- bether: { channelSelector: "BET Her", name: "BET Her", pacificStationId: "97360", stationId: "63220", url: "https://tv.youtube.com/live" },
78
- "bether-directv": { channelSelector: "BET Her", url: "https://stream.directv.com" },
89
+ bether: { channelSelector: "BET Her", name: "BET Her", pacificStationId: "97360", stationId: "63220", url: "https://stream.directv.com" },
90
+ "bether-spectrum": { channelSelector: "BET Her", url: "https://watch.spectrum.net/guide" },
91
+ "bether-xfinity": { channelSelector: "BET Her", url: "https://www.xfinity.com/stream/listings" },
92
+ "bether-yttv": { channelSelector: "BET Her", url: "https://tv.youtube.com/live" },
79
93
  bigten: { name: "Big 10", stationId: "58321", url: "https://www.foxsports.com/live/btn" },
80
94
  "bigten-directv": { channelSelector: "Big Ten", url: "https://stream.directv.com" },
81
95
  "bigten-foxcom": { channelSelector: "BTN", url: "https://www.fox.com/live/channels" },
82
96
  "bigten-hulu": { channelSelector: "Big Ten Network", url: "https://www.hulu.com/live" },
83
97
  "bigten-spectrum": { channelSelector: "Big Ten Network", url: "https://watch.spectrum.net/guide" },
98
+ "bigten-xfinity": { channelSelector: "Big Ten Network", url: "https://www.xfinity.com/stream/listings" },
84
99
  "bigten-yttv": { channelSelector: "BTN", url: "https://tv.youtube.com/live" },
85
- bloomberg: { channelSelector: "Bloomberg Television", name: "Bloomberg Television", stationId: "71799", url: "https://www.hulu.com/live" },
86
- "bloomberg-directv": { channelSelector: "Bloomberg TV", url: "https://stream.directv.com" },
100
+ bloomberg: { channelSelector: "Bloomberg TV", name: "Bloomberg Television", stationId: "71799", url: "https://stream.directv.com" },
101
+ "bloomberg-hulu": { channelSelector: "Bloomberg Television", url: "https://www.hulu.com/live" },
87
102
  "bloomberg-sling": { channelSelector: "Bloomberg TV+", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
88
103
  "bloomberg-spectrum": { channelSelector: "Bloomberg TV", url: "https://watch.spectrum.net/guide" },
104
+ "bloomberg-xfinity": { channelSelector: "Bloomberg", url: "https://www.xfinity.com/stream/listings" },
89
105
  "bloomberg-yttv": { channelSelector: "Bloomberg TV+", url: "https://tv.youtube.com/live" },
90
106
  bloombergoriginals: { channelSelector: "Bloomberg Originals", name: "Bloomberg Originals", stationId: "175656", url: "https://tv.youtube.com/live" },
91
107
  bravo: { name: "Bravo", stationId: "58625", url: "https://www.nbc.com/live?brand=bravo&callsign=bravo_east" },
@@ -93,103 +109,127 @@ const BASE_CHANNELS = {
93
109
  "bravo-hulu": { channelSelector: "Bravo", url: "https://www.hulu.com/live" },
94
110
  "bravo-sling": { channelSelector: "Bravo", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
95
111
  "bravo-spectrum": { channelSelector: "Bravo", url: "https://watch.spectrum.net/guide" },
112
+ "bravo-xfinity": { channelSelector: "Bravo", url: "https://www.xfinity.com/stream/listings" },
96
113
  "bravo-yttv": { channelSelector: "Bravo", url: "https://tv.youtube.com/live" },
97
114
  bravop: { name: "Bravo (Pacific)", stationId: "73994", url: "https://www.nbc.com/live?brand=bravo&callsign=bravo_west" },
98
- cartoon: { channelSelector: "Cartoon Network", name: "Cartoon Network", pacificStationId: "67703", stationId: "60048", url: "https://tv.youtube.com/live" },
99
- "cartoon-directv": { channelSelector: "Cartoon Network", url: "https://stream.directv.com" },
115
+ cartoon: { channelSelector: "Cartoon Network", name: "Cartoon Network", pacificStationId: "67703", stationId: "60048", url: "https://stream.directv.com" },
100
116
  "cartoon-hulu": { channelSelector: "Cartoon Network (East)", url: "https://www.hulu.com/live" },
101
117
  "cartoon-spectrum": { channelSelector: "Cartoon Network", url: "https://watch.spectrum.net/guide" },
118
+ "cartoon-xfinity": { channelSelector: "Cartoon Network", url: "https://www.xfinity.com/stream/listings" },
119
+ "cartoon-yttv": { channelSelector: "Cartoon Network", url: "https://tv.youtube.com/live" },
102
120
  "cartoonp-hulu": { channelSelector: "Cartoon Network (West)", url: "https://www.hulu.com/live" },
103
121
  cbs: { name: "CBS", url: "https://www.cbs.com/live-tv/stream" },
104
122
  "cbs-directv": { channelSelector: "CBS", url: "https://stream.directv.com" },
105
123
  "cbs-hulu": { channelSelector: "CBS", url: "https://www.hulu.com/live" },
106
124
  "cbs-paramountplus": { name: "CBS", url: "https://www.paramountplus.com/live-tv/" },
107
125
  "cbs-spectrum": { channelSelector: "CBS", url: "https://watch.spectrum.net/guide" },
126
+ "cbs-xfinity": { channelSelector: "CBS", url: "https://www.xfinity.com/stream/listings" },
108
127
  "cbs-yttv": { channelSelector: "CBS", url: "https://tv.youtube.com/live" },
109
128
  cbsnews: { channelSelector: "CBS News 24/7", name: "CBS News 24/7", stationId: "104846", url: "https://www.hulu.com/live" },
110
129
  "cbsnews-sling": { channelSelector: "CBS News 24/7", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
111
130
  cbssports: { channelSelector: "CBS Sports Network", name: "CBS Sports Network", stationId: "59250", url: "https://www.hulu.com/live" },
112
131
  "cbssports-spectrum": { channelSelector: "CBS Sports Network", url: "https://watch.spectrum.net/guide" },
132
+ "cbssports-xfinity": { channelSelector: "CBS Sports Network", url: "https://www.xfinity.com/stream/listings" },
113
133
  "cbssports-yttv": { channelSelector: "CBS Sports Network", url: "https://tv.youtube.com/live" },
114
- cmt: { channelSelector: "CMT", name: "CMT", pacificStationId: "64610", stationId: "59440", url: "https://www.hulu.com/live" },
115
- "cmt-directv": { channelSelector: "CMT", url: "https://stream.directv.com" },
134
+ cmt: { channelSelector: "CMT", name: "CMT", pacificStationId: "64610", stationId: "59440", url: "https://stream.directv.com" },
135
+ "cmt-hulu": { channelSelector: "CMT", url: "https://www.hulu.com/live" },
116
136
  "cmt-spectrum": { channelSelector: "CMT", url: "https://watch.spectrum.net/guide" },
137
+ "cmt-xfinity": { channelSelector: "CMT", url: "https://www.xfinity.com/stream/listings" },
117
138
  "cmt-yttv": { channelSelector: "CMT", url: "https://tv.youtube.com/live" },
118
139
  cnbc: { name: "CNBC", stationId: "58780", url: "https://www.cnbc.com/live-tv" },
119
140
  "cnbc-directv": { channelSelector: "CNBC", url: "https://stream.directv.com" },
120
141
  "cnbc-hulu": { channelSelector: "CNBC", url: "https://www.hulu.com/live" },
121
142
  "cnbc-spectrum": { channelSelector: "CNBC", url: "https://watch.spectrum.net/guide" },
122
143
  "cnbc-usa": { channelSelector: "CNBC_US", url: "https://www.usanetwork.com/live" },
144
+ "cnbc-xfinity": { channelSelector: "CNBC", url: "https://www.xfinity.com/stream/listings" },
123
145
  "cnbc-yttv": { channelSelector: "CNBC", url: "https://tv.youtube.com/live" },
124
146
  cnbcworld: { channelSelector: "CNBC World", name: "CNBC World", stationId: "26849", url: "https://stream.directv.com" },
147
+ "cnbcworld-spectrum": { channelSelector: "CNBC World", url: "https://watch.spectrum.net/guide" },
125
148
  cnn: { name: "CNN", stationId: "58646", url: "https://www.cnn.com/videos/cnn" },
126
149
  "cnn-directv": { channelSelector: "CNN", url: "https://stream.directv.com" },
127
150
  "cnn-hulu": { channelSelector: "CNN", url: "https://www.hulu.com/live" },
128
151
  "cnn-sling": { channelSelector: "CNN", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
129
152
  "cnn-spectrum": { channelSelector: "CNN", url: "https://watch.spectrum.net/guide" },
153
+ "cnn-xfinity": { channelSelector: "CNN", url: "https://www.xfinity.com/stream/listings" },
130
154
  "cnn-yttv": { channelSelector: "CNN", url: "https://tv.youtube.com/live" },
131
155
  cnni: { name: "CNN International", stationId: "83110", url: "https://www.cnn.com/videos/cnn-i" },
132
156
  "cnni-directv": { channelSelector: "CNNi HD East", url: "https://stream.directv.com" },
133
157
  "cnni-hulu": { channelSelector: "CNN International", url: "https://www.hulu.com/live" },
134
158
  "cnni-yttv": { channelSelector: "CNN International", url: "https://tv.youtube.com/live" },
135
- "comedycentral": { channelSelector: "Comedy Central", name: "Comedy Central", pacificStationId: "64599", stationId: "62420", url: "https://www.hulu.com/live" },
136
- "comedycentral-directv": { channelSelector: "Comedy Central", url: "https://stream.directv.com" },
159
+ "comedycentral": { channelSelector: "Comedy Central", name: "Comedy Central", pacificStationId: "64599", stationId: "62420", url: "https://stream.directv.com" },
160
+ "comedycentral-hulu": { channelSelector: "Comedy Central", url: "https://www.hulu.com/live" },
137
161
  "comedycentral-sling": { channelSelector: "Comedy Central", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
138
162
  "comedycentral-spectrum": { channelSelector: "Comedy Central", url: "https://watch.spectrum.net/guide" },
163
+ "comedycentral-xfinity": { channelSelector: "Comedy Central", url: "https://www.xfinity.com/stream/listings" },
139
164
  "comedycentral-yttv": { channelSelector: "Comedy Central", url: "https://tv.youtube.com/live" },
140
165
  cooking: { name: "Cooking", stationId: "68065", url: "https://watch.foodnetwork.com/channel/cooking-channel" },
141
166
  "cooking-directv": { channelSelector: "Cooking Channel", url: "https://stream.directv.com" },
142
167
  "cooking-spectrum": { channelSelector: "Cooking Channel", url: "https://watch.spectrum.net/guide" },
168
+ "cooking-xfinity": { channelSelector: "Cooking Channel", url: "https://www.xfinity.com/stream/listings" },
143
169
  cspan: { name: "C-SPAN", stationId: "68344", url: "https://www.c-span.org/networks/?autoplay=true&channel=c-span" },
144
170
  "cspan-directv": { channelSelector: "C-SPAN", url: "https://stream.directv.com" },
145
171
  "cspan-hulu": { channelSelector: "C-SPAN", url: "https://www.hulu.com/live" },
146
172
  "cspan-spectrum": { channelSelector: "C-SPAN", url: "https://watch.spectrum.net/guide" },
173
+ "cspan-xfinity": { channelSelector: "C-SPAN", url: "https://www.xfinity.com/stream/listings" },
147
174
  "cspan-yttv": { channelSelector: "C-SPAN", url: "https://tv.youtube.com/live" },
148
175
  cspan2: { name: "C-SPAN 2", stationId: "68334", url: "https://www.c-span.org/networks/?autoplay=true&channel=c-span-2" },
149
176
  "cspan2-directv": { channelSelector: "C-SPAN2", url: "https://stream.directv.com" },
150
177
  "cspan2-hulu": { channelSelector: "C-SPAN2", url: "https://www.hulu.com/live" },
151
178
  "cspan2-spectrum": { channelSelector: "C-SPAN 2", url: "https://watch.spectrum.net/guide" },
179
+ "cspan2-xfinity": { channelSelector: "CPN2D", url: "https://www.xfinity.com/stream/listings" },
152
180
  "cspan2-yttv": { channelSelector: "C-SPAN2", url: "https://tv.youtube.com/live" },
153
181
  cspan3: { name: "C-SPAN 3", stationId: "68332", url: "https://www.c-span.org/networks/?autoplay=true&channel=c-span-3" },
154
182
  "cspan3-hulu": { channelSelector: "C-SPAN3", url: "https://www.hulu.com/live" },
183
+ "cspan3-spectrum": { channelSelector: "C-SPAN 3", url: "https://watch.spectrum.net/guide" },
184
+ "cspan3-xfinity": { channelSelector: "CPN3H", url: "https://www.xfinity.com/stream/listings" },
155
185
  "cspan3-yttv": { channelSelector: "C-SPAN3", url: "https://tv.youtube.com/live" },
156
- cw: { channelSelector: "CW", name: "CW", url: "https://www.hulu.com/live" },
157
- "cw-directv": { channelSelector: "CW", url: "https://stream.directv.com" },
186
+ cw: { channelSelector: "CW", name: "CW", url: "https://stream.directv.com" },
187
+ "cw-hulu": { channelSelector: "CW", url: "https://www.hulu.com/live" },
158
188
  "cw-spectrum": { channelSelector: "CW", url: "https://watch.spectrum.net/guide" },
189
+ "cw-xfinity": { channelSelector: "CW TV", url: "https://www.xfinity.com/stream/listings" },
159
190
  "cw-yttv": { channelSelector: "CW", url: "https://tv.youtube.com/live" },
160
191
  discovery: { name: "Discovery", pacificStationId: "80399", stationId: "56905", url: "https://watch.foodnetwork.com/channel/discovery" },
161
192
  "discovery-directv": { channelSelector: "Discovery", url: "https://stream.directv.com" },
162
193
  "discovery-hulu": { channelSelector: "Discovery", url: "https://www.hulu.com/live" },
163
194
  "discovery-sling": { channelSelector: "Discovery", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
164
195
  "discovery-spectrum": { channelSelector: "Discovery Channel", url: "https://watch.spectrum.net/guide" },
196
+ "discovery-xfinity": { channelSelector: "Discovery Channel", url: "https://www.xfinity.com/stream/listings" },
165
197
  "discovery-yttv": { channelSelector: "Discovery Channel", url: "https://tv.youtube.com/live" },
166
198
  discoverylife: { name: "Discovery Life", stationId: "92204", url: "https://watch.foodnetwork.com/channel/discovery-life" },
167
199
  "discoverylife-directv": { channelSelector: "Discovery Life", url: "https://stream.directv.com" },
200
+ "discoverylife-spectrum": { channelSelector: "Discovery Life", url: "https://watch.spectrum.net/guide" },
201
+ "discoverylife-xfinity": { channelSelector: "Discovery Life", url: "https://www.xfinity.com/stream/listings" },
168
202
  discoveryturbo: { name: "Discovery Turbo", stationId: "31046", url: "https://watch.foodnetwork.com/channel/motortrend" },
169
203
  "discoveryturbo-directv": { channelSelector: "Discovery Turbo", url: "https://stream.directv.com" },
170
204
  "discoveryturbo-hulu": { channelSelector: "Discovery Turbo", url: "https://www.hulu.com/live" },
171
205
  "discoveryturbo-sling": { channelSelector: "Discovery Turbo", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
206
+ "discoveryturbo-spectrum": { channelSelector: "Discovery Turbo", url: "https://watch.spectrum.net/guide" },
207
+ "discoveryturbo-xfinity": { channelSelector: "Discovery Turbo", url: "https://www.xfinity.com/stream/listings" },
172
208
  "discoveryturbo-yttv": { channelSelector: "Discovery Turbo", url: "https://tv.youtube.com/live" },
173
209
  disney: { name: "Disney", pacificStationId: "63320", stationId: "59684", url: "https://disneynow.com/watch-live?brand=004" },
174
210
  "disney-directv": { channelSelector: "Disney Channel", url: "https://stream.directv.com" },
175
211
  "disney-hulu": { channelSelector: "Disney Channel", url: "https://www.hulu.com/live" },
176
212
  "disney-sling": { channelSelector: "Disney Channel", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
177
213
  "disney-spectrum": { channelSelector: "Disney Channel", url: "https://watch.spectrum.net/guide" },
214
+ "disney-xfinity": { channelSelector: "Disney Channel", url: "https://www.xfinity.com/stream/listings" },
178
215
  "disney-yttv": { channelSelector: "Disney Channel", url: "https://tv.youtube.com/live" },
179
216
  disneyjr: { name: "Disney Jr.", pacificStationId: "75004", stationId: "74885", url: "https://disneynow.com/watch-live?brand=008" },
180
217
  "disneyjr-directv": { channelSelector: "Disney Junior", url: "https://stream.directv.com" },
181
218
  "disneyjr-hulu": { channelSelector: "Disney Junior", url: "https://www.hulu.com/live" },
182
219
  "disneyjr-spectrum": { channelSelector: "Disney Junior", url: "https://watch.spectrum.net/guide" },
220
+ "disneyjr-xfinity": { channelSelector: "Disney Jr.", url: "https://www.xfinity.com/stream/listings" },
183
221
  "disneyjr-yttv": { channelSelector: "Disney Junior", url: "https://tv.youtube.com/live" },
184
222
  disneyxd: { name: "Disney XD", pacificStationId: "63322", stationId: "60006", url: "https://disneynow.com/watch-live?brand=009" },
185
223
  "disneyxd-hulu": { channelSelector: "Disney XD", url: "https://www.hulu.com/live" },
186
224
  "disneyxd-spectrum": { channelSelector: "Disney XD", url: "https://watch.spectrum.net/guide" },
225
+ "disneyxd-xfinity": { channelSelector: "Disney XD", url: "https://www.xfinity.com/stream/listings" },
187
226
  "disneyxd-yttv": { channelSelector: "Disney XD", url: "https://tv.youtube.com/live" },
188
227
  e: { channelSelector: "E-_East", name: "E!", stationId: "61812", url: "https://www.usanetwork.com/live" },
189
228
  "e-directv": { channelSelector: "E!", url: "https://stream.directv.com" },
190
229
  "e-hulu": { channelSelector: "E!", url: "https://www.hulu.com/live" },
191
230
  "e-sling": { channelSelector: "E!", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
192
231
  "e-spectrum": { channelSelector: "E!", url: "https://watch.spectrum.net/guide" },
232
+ "e-xfinity": { channelSelector: "E!", url: "https://www.xfinity.com/stream/listings" },
193
233
  "e-yttv": { channelSelector: "E!", url: "https://tv.youtube.com/live" },
194
234
  ep: { channelSelector: "E-_West", name: "E! (Pacific)", stationId: "91579", url: "https://www.usanetwork.com/live" },
195
235
  espn: { name: "ESPN", stationId: "32645", url: "https://www.espn.com/watch/player?network=espn" },
@@ -198,6 +238,7 @@ const BASE_CHANNELS = {
198
238
  "espn-hulu": { channelSelector: "ESPN", url: "https://www.hulu.com/live" },
199
239
  "espn-sling": { channelSelector: "ESPN", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
200
240
  "espn-spectrum": { channelSelector: "ESPN", url: "https://watch.spectrum.net/guide" },
241
+ "espn-xfinity": { channelSelector: "ESPN", url: "https://www.xfinity.com/stream/listings" },
201
242
  "espn-yttv": { channelSelector: "ESPN", url: "https://tv.youtube.com/live" },
202
243
  espn2: { name: "ESPN2", stationId: "45507", url: "https://www.espn.com/watch/player?network=espn2" },
203
244
  "espn2-directv": { channelSelector: "ESPN2", url: "https://stream.directv.com" },
@@ -205,39 +246,47 @@ const BASE_CHANNELS = {
205
246
  "espn2-hulu": { channelSelector: "ESPN2", url: "https://www.hulu.com/live" },
206
247
  "espn2-sling": { channelSelector: "ESPN2", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
207
248
  "espn2-spectrum": { channelSelector: "ESPN2", url: "https://watch.spectrum.net/guide" },
249
+ "espn2-xfinity": { channelSelector: "ES2HD", url: "https://www.xfinity.com/stream/listings" },
208
250
  "espn2-yttv": { channelSelector: "ESPN2", url: "https://tv.youtube.com/live" },
209
251
  espnacc: { name: "ACC Network", stationId: "111871", url: "https://www.espn.com/watch/player?network=acc" },
210
252
  "espnacc-directv": { channelSelector: "ACC Network", url: "https://stream.directv.com" },
211
253
  "espnacc-disneyplus": { channelSelector: "poster_linear_acc-network_none", url: "https://www.disneyplus.com/browse/live" },
212
254
  "espnacc-hulu": { channelSelector: "ACC Network", url: "https://www.hulu.com/live" },
213
255
  "espnacc-spectrum": { channelSelector: "ACC Network", url: "https://watch.spectrum.net/guide" },
256
+ "espnacc-xfinity": { channelSelector: "ACC Network", url: "https://www.xfinity.com/stream/listings" },
214
257
  "espnacc-yttv": { channelSelector: "ACC Network", url: "https://tv.youtube.com/live" },
215
258
  espndeportes: { name: "ESPN Deportes", stationId: "71914", url: "https://www.espn.com/watch/player?network=espndeportes" },
216
259
  "espndeportes-disneyplus": { channelSelector: "poster_linear_espn-deportes_none", url: "https://www.disneyplus.com/browse/live" },
260
+ "espndeportes-spectrum": { channelSelector: "ESPN Deportes", url: "https://watch.spectrum.net/guide" },
261
+ "espndeportes-xfinity": { channelSelector: "ESPN Deportes", url: "https://www.xfinity.com/stream/listings" },
217
262
  "espndeportes-yttv": { channelSelector: "ESPN Deportes", url: "https://tv.youtube.com/live" },
218
263
  espnews: { name: "ESPNews", stationId: "59976", url: "https://www.espn.com/watch/player?network=espnews" },
219
264
  "espnews-directv": { channelSelector: "ESPNews", url: "https://stream.directv.com" },
220
265
  "espnews-disneyplus": { channelSelector: "poster_linear_espnews_none", url: "https://www.disneyplus.com/browse/live" },
221
266
  "espnews-hulu": { channelSelector: "ESPNEWS", url: "https://www.hulu.com/live" },
222
267
  "espnews-spectrum": { channelSelector: "ESPNews", url: "https://watch.spectrum.net/guide" },
268
+ "espnews-xfinity": { channelSelector: "ESWHD", url: "https://www.xfinity.com/stream/listings" },
223
269
  "espnews-yttv": { channelSelector: "ESPNEWS", url: "https://tv.youtube.com/live" },
224
270
  espnsec: { name: "SEC Network", stationId: "89714", url: "https://www.espn.com/watch/player?network=sec" },
225
271
  "espnsec-directv": { channelSelector: "SEC Network", url: "https://stream.directv.com" },
226
272
  "espnsec-disneyplus": { channelSelector: "poster_linear_sec-network_none", url: "https://www.disneyplus.com/browse/live" },
227
273
  "espnsec-hulu": { channelSelector: "SEC Network", url: "https://www.hulu.com/live" },
228
274
  "espnsec-spectrum": { channelSelector: "SEC Network", url: "https://watch.spectrum.net/guide" },
275
+ "espnsec-xfinity": { channelSelector: "SEC", url: "https://www.xfinity.com/stream/listings" },
229
276
  "espnsec-yttv": { channelSelector: "SEC Network", url: "https://tv.youtube.com/live" },
230
277
  espnu: { name: "ESPNU", stationId: "60696", url: "https://www.espn.com/watch/player?network=espnu" },
231
278
  "espnu-directv": { channelSelector: "ESPNU", url: "https://stream.directv.com" },
232
279
  "espnu-disneyplus": { channelSelector: "poster_linear_espnu_none", url: "https://www.disneyplus.com/browse/live" },
233
280
  "espnu-hulu": { channelSelector: "ESPNU", url: "https://www.hulu.com/live" },
234
281
  "espnu-spectrum": { channelSelector: "ESPNU", url: "https://watch.spectrum.net/guide" },
282
+ "espnu-xfinity": { channelSelector: "ESPNU", url: "https://www.xfinity.com/stream/listings" },
235
283
  "espnu-yttv": { channelSelector: "ESPNU", url: "https://tv.youtube.com/live" },
236
284
  fbc: { name: "Fox Business", stationId: "58718", url: "https://www.foxbusiness.com/video/5640669329001" },
237
285
  "fbc-directv": { channelSelector: "Fox Business Network", url: "https://stream.directv.com" },
238
286
  "fbc-foxcom": { channelSelector: "FBN", url: "https://www.fox.com/live/channels" },
239
287
  "fbc-hulu": { channelSelector: "Fox Business", url: "https://www.hulu.com/live" },
240
288
  "fbc-spectrum": { channelSelector: "Fox Business Network", url: "https://watch.spectrum.net/guide" },
289
+ "fbc-xfinity": { channelSelector: "Fox Business", url: "https://www.xfinity.com/stream/listings" },
241
290
  "fbc-yttv": { channelSelector: "Fox Business", url: "https://tv.youtube.com/live" },
242
291
  fnc: { name: "Fox News", stationId: "60179", url: "https://www.foxnews.com/video/5614615980001" },
243
292
  "fnc-directv": { channelSelector: "Fox News Channel", url: "https://stream.directv.com" },
@@ -245,21 +294,26 @@ const BASE_CHANNELS = {
245
294
  "fnc-hulu": { channelSelector: "Fox News", url: "https://www.hulu.com/live" },
246
295
  "fnc-sling": { channelSelector: "Fox News", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
247
296
  "fnc-spectrum": { channelSelector: "Fox News Channel", url: "https://watch.spectrum.net/guide" },
297
+ "fnc-xfinity": { channelSelector: "Fox News", url: "https://www.xfinity.com/stream/listings" },
248
298
  "fnc-yttv": { channelSelector: "Fox News", url: "https://tv.youtube.com/live" },
249
299
  food: { name: "Food Network", pacificStationId: "82119", stationId: "50747", url: "https://watch.foodnetwork.com/channel/food-network" },
250
300
  "food-directv": { channelSelector: "Food Network", url: "https://stream.directv.com" },
251
301
  "food-hulu": { channelSelector: "Food Network", url: "https://www.hulu.com/live" },
252
302
  "food-sling": { channelSelector: "Food Network", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
253
303
  "food-spectrum": { channelSelector: "Food Network", url: "https://watch.spectrum.net/guide" },
304
+ "food-xfinity": { channelSelector: "Food Network", url: "https://www.xfinity.com/stream/listings" },
254
305
  "food-yttv": { channelSelector: "Food Network", url: "https://tv.youtube.com/live" },
255
306
  fox: { channelSelector: "FOXD2C", name: "Fox", url: "https://www.fox.com/live/channels" },
256
307
  "fox-directv": { channelSelector: "FOX", url: "https://stream.directv.com" },
257
308
  "fox-hulu": { channelSelector: "Fox", url: "https://www.hulu.com/live" },
258
309
  "fox-sling": { channelSelector: "FOX", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
259
310
  "fox-spectrum": { channelSelector: "FOX", url: "https://watch.spectrum.net/guide" },
311
+ "fox-xfinity": { channelSelector: "Fox", url: "https://www.xfinity.com/stream/listings" },
260
312
  "fox-yttv": { channelSelector: "FOX", url: "https://tv.youtube.com/live" },
261
313
  foxdeportes: { name: "Fox Deportes", stationId: "72189", url: "https://www.foxsports.com/live/foxdep" },
262
314
  "foxdeportes-foxcom": { channelSelector: "FOXD", url: "https://www.fox.com/live/channels" },
315
+ "foxdeportes-spectrum": { channelSelector: "FOX Deportes", url: "https://watch.spectrum.net/guide" },
316
+ "foxdeportes-xfinity": { channelSelector: "Fox Deportes", url: "https://www.xfinity.com/stream/listings" },
263
317
  "foxdeportes-yttv": { channelSelector: "Fox Deportes", url: "https://tv.youtube.com/live" },
264
318
  foxsoccerplus: { name: "Fox Soccer Plus", stationId: "66879", url: "https://www.foxsports.com/live/fsp" },
265
319
  "foxsoccerplus-yttv": { channelSelector: "FOX Soccer Plus", url: "https://tv.youtube.com/live" },
@@ -271,6 +325,7 @@ const BASE_CHANNELS = {
271
325
  "freeform-directv": { channelSelector: "Freeform HD", url: "https://stream.directv.com" },
272
326
  "freeform-hulu": { channelSelector: "Freeform", url: "https://www.hulu.com/live" },
273
327
  "freeform-spectrum": { channelSelector: "Freeform", url: "https://watch.spectrum.net/guide" },
328
+ "freeform-xfinity": { channelSelector: "Freeform", url: "https://www.xfinity.com/stream/listings" },
274
329
  "freeform-yttv": { channelSelector: "Freeform", url: "https://tv.youtube.com/live" },
275
330
  freeformp: { name: "Freeform (Pacific)", stationId: "63324", url: "https://www.freeform.com/watch-live/3507c750-e86a-4c0f-8ff4-dd23c4859009" },
276
331
  fs1: { name: "FS1", stationId: "82547", url: "https://www.foxsports.com/live/fs1" },
@@ -279,114 +334,144 @@ const BASE_CHANNELS = {
279
334
  "fs1-hulu": { channelSelector: "FS1", url: "https://www.hulu.com/live" },
280
335
  "fs1-sling": { channelSelector: "FOX Sports 1", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
281
336
  "fs1-spectrum": { channelSelector: "FS1", url: "https://watch.spectrum.net/guide" },
337
+ "fs1-xfinity": { channelSelector: "FOX Sports 1", url: "https://www.xfinity.com/stream/listings" },
282
338
  "fs1-yttv": { channelSelector: "FS1", url: "https://tv.youtube.com/live" },
283
339
  fs2: { name: "FS2", stationId: "59305", url: "https://www.foxsports.com/live/fs2" },
284
340
  "fs2-directv": { channelSelector: "FOX Sports 2", url: "https://stream.directv.com" },
285
341
  "fs2-foxcom": { channelSelector: "FS2", url: "https://www.fox.com/live/channels" },
286
342
  "fs2-hulu": { channelSelector: "FS2", url: "https://www.hulu.com/live" },
287
343
  "fs2-spectrum": { channelSelector: "Fox Sports 2", url: "https://watch.spectrum.net/guide" },
344
+ "fs2-xfinity": { channelSelector: "FOX Sports 2", url: "https://www.xfinity.com/stream/listings" },
288
345
  "fs2-yttv": { channelSelector: "FS2", url: "https://tv.youtube.com/live" },
289
346
  fx: { name: "FX", stationId: "58574", url: "https://abc.com/watch-live/93256af4-5e80-4558-aa2e-2bdfffa119a0" },
290
347
  "fx-directv": { channelSelector: "FX", url: "https://stream.directv.com" },
291
348
  "fx-hulu": { channelSelector: "FX", url: "https://www.hulu.com/live" },
292
349
  "fx-sling": { channelSelector: "FX", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
293
350
  "fx-spectrum": { channelSelector: "FX", url: "https://watch.spectrum.net/guide" },
351
+ "fx-xfinity": { channelSelector: "FX", url: "https://www.xfinity.com/stream/listings" },
294
352
  "fx-yttv": { channelSelector: "FX", url: "https://tv.youtube.com/live" },
295
353
  fxm: { name: "FXM", pacificStationId: "98488", stationId: "70253", url: "https://abc.com/watch-live/d298ab7e-c6b1-4efa-ac6e-a52dceed92ee" },
296
354
  "fxm-directv": { channelSelector: "FX Movie Channel", url: "https://stream.directv.com" },
297
355
  "fxm-hulu": { channelSelector: "FXM", url: "https://www.hulu.com/live" },
298
356
  "fxm-spectrum": { channelSelector: "FXM", url: "https://watch.spectrum.net/guide" },
357
+ "fxm-xfinity": { channelSelector: "FXM", url: "https://www.xfinity.com/stream/listings" },
299
358
  "fxm-yttv": { channelSelector: "FXM", url: "https://tv.youtube.com/live" },
300
359
  fxp: { name: "FX (Pacific)", stationId: "59814", url: "https://abc.com/watch-live/2cee3401-f63b-42d0-b32e-962fef610b9e" },
301
360
  fxx: { name: "FXX", stationId: "66379", url: "https://abc.com/watch-live/49f4a471-8d36-4728-8457-ea65cbbc84ea" },
302
361
  "fxx-directv": { channelSelector: "FXX", url: "https://stream.directv.com" },
303
362
  "fxx-hulu": { channelSelector: "FXX", url: "https://www.hulu.com/live" },
304
363
  "fxx-spectrum": { channelSelector: "FXX", url: "https://watch.spectrum.net/guide" },
364
+ "fxx-xfinity": { channelSelector: "FXX", url: "https://www.xfinity.com/stream/listings" },
305
365
  "fxx-yttv": { channelSelector: "FXX", url: "https://tv.youtube.com/live" },
306
366
  fxxp: { name: "FXX (Pacific)", stationId: "82571", url: "https://abc.com/watch-live/e4c83395-62ed-4a49-829a-c55ab3c33e7d" },
307
367
  fyi: { name: "FYI", pacificStationId: "92372", stationId: "58988", url: "https://play.fyi.tv/live" },
308
368
  "fyi-directv": { channelSelector: "FYI", url: "https://stream.directv.com" },
309
369
  "fyi-hulu": { channelSelector: "FYI", url: "https://www.hulu.com/live" },
310
370
  "fyi-spectrum": { channelSelector: "FYI", url: "https://watch.spectrum.net/guide" },
311
- gameshow: { channelSelector: "Game Show Network", name: "Game Show Network", pacificStationId: "90210", stationId: "68827", url: "https://www.hulu.com/live" },
312
- "gameshow-directv": { channelSelector: "GSN HD", url: "https://stream.directv.com" },
371
+ "fyi-xfinity": { channelSelector: "FYI", url: "https://www.xfinity.com/stream/listings" },
372
+ gameshow: { channelSelector: "GSN HD", name: "Game Show Network", pacificStationId: "90210", stationId: "68827", url: "https://stream.directv.com" },
373
+ "gameshow-hulu": { channelSelector: "Game Show Network", url: "https://www.hulu.com/live" },
313
374
  "gameshow-spectrum": { channelSelector: "Game Show Network", url: "https://watch.spectrum.net/guide" },
375
+ "gameshow-xfinity": { channelSelector: "Game Show Network", url: "https://www.xfinity.com/stream/listings" },
314
376
  "gameshow-yttv": { channelSelector: "Game Show Network", url: "https://tv.youtube.com/live" },
315
377
  golf: { name: "Golf", stationId: "61854", url: "https://www.golfchannel.com/watch/live" },
316
378
  "golf-directv": { channelSelector: "Golf Channel", url: "https://stream.directv.com" },
317
379
  "golf-hulu": { channelSelector: "Golf Channel", url: "https://www.hulu.com/live" },
318
380
  "golf-spectrum": { channelSelector: "Golf Channel", url: "https://watch.spectrum.net/guide" },
319
381
  "golf-usa": { channelSelector: "gc", url: "https://www.usanetwork.com/live" },
382
+ "golf-xfinity": { channelSelector: "Golf Channel", url: "https://www.xfinity.com/stream/listings" },
320
383
  "golf-yttv": { channelSelector: "Golf Channel", url: "https://tv.youtube.com/live" },
321
384
  hallmark: { name: "Hallmark", pacificStationId: "66415", stationId: "66268", url: "https://www.watchhallmarktv.com/playback/item/live" },
322
385
  "hallmark-directv": { channelSelector: "Hallmark Channel", url: "https://stream.directv.com" },
323
386
  "hallmark-hulu": { channelSelector: "Hallmark Channel", url: "https://www.hulu.com/live" },
324
387
  "hallmark-spectrum": { channelSelector: "Hallmark Channel", url: "https://watch.spectrum.net/guide" },
388
+ "hallmark-xfinity": { channelSelector: "Hallmark Channel", url: "https://www.xfinity.com/stream/listings" },
325
389
  "hallmark-yttv": { channelSelector: "Hallmark Channel", url: "https://tv.youtube.com/live" },
326
390
  hallmarkfamily: { name: "Hallmark Family", stationId: "105723", url: "https://www.watchhallmarktv.com/playback/item/hdlive" },
391
+ "hallmarkfamily-spectrum": { channelSelector: "Hallmark Family", url: "https://watch.spectrum.net/guide" },
392
+ "hallmarkfamily-xfinity": { channelSelector: "HFM", url: "https://www.xfinity.com/stream/listings" },
327
393
  "hallmarkfamily-yttv": { channelSelector: "Hallmark Family", url: "https://tv.youtube.com/live" },
328
394
  hallmarkmystery: { name: "Hallmark Mystery", pacificStationId: "66412", stationId: "46710", url: "https://www.watchhallmarktv.com/playback/item/hmmlive" },
329
395
  "hallmarkmystery-hulu": { channelSelector: "Hallmark Mystery", url: "https://www.hulu.com/live" },
330
396
  "hallmarkmystery-spectrum": { channelSelector: "Hallmark Mystery", url: "https://watch.spectrum.net/guide" },
397
+ "hallmarkmystery-xfinity": { channelSelector: "HMYS", url: "https://www.xfinity.com/stream/listings" },
331
398
  "hallmarkmystery-yttv": { channelSelector: "Hallmark Mystery", url: "https://tv.youtube.com/live" },
332
399
  hbo: { channelSelector: "HBO", name: "HBO", stationId: "19548", url: "https://play.hbomax.com" },
400
+ "hbo-xfinity": { channelSelector: "HBO", url: "https://www.xfinity.com/stream/listings" },
333
401
  "hbo-yttv": { channelSelector: "HBO East", url: "https://tv.youtube.com/live" },
334
402
  hbocomedy: { channelSelector: "HBO Comedy", name: "HBO Comedy", stationId: "59839", url: "https://play.hbomax.com" },
403
+ "hbocomedy-xfinity": { channelSelector: "HBOCH", url: "https://www.xfinity.com/stream/listings" },
335
404
  "hbocomedy-yttv": { channelSelector: "HBO Comedy East", url: "https://tv.youtube.com/live" },
336
405
  hbodrama: { channelSelector: "HBO Drama", name: "HBO Drama", stationId: "59363", url: "https://play.hbomax.com" },
406
+ "hbodrama-xfinity": { channelSelector: "HBOSH", url: "https://www.xfinity.com/stream/listings" },
337
407
  "hbodrama-yttv": { channelSelector: "HBO Drama East", url: "https://tv.youtube.com/live" },
338
408
  hbohits: { channelSelector: "HBO Hits", name: "HBO Hits", stationId: "59368", url: "https://play.hbomax.com" },
409
+ "hbohits-xfinity": { channelSelector: "HBO2H", url: "https://www.xfinity.com/stream/listings" },
339
410
  "hbohits-yttv": { channelSelector: "HBO Hits East", url: "https://tv.youtube.com/live" },
340
411
  hbomovies: { channelSelector: "HBO Movies", name: "HBO Movies", stationId: "59845", url: "https://play.hbomax.com" },
412
+ "hbomovies-xfinity": { channelSelector: "HBOZH", url: "https://www.xfinity.com/stream/listings" },
341
413
  "hbomovies-yttv": { channelSelector: "HBO Movies East", url: "https://tv.youtube.com/live" },
342
414
  hgtv: { name: "HGTV", pacificStationId: "87317", stationId: "49788", url: "https://watch.foodnetwork.com/channel/hgtv" },
343
415
  "hgtv-directv": { channelSelector: "HGTV", url: "https://stream.directv.com" },
344
416
  "hgtv-hulu": { channelSelector: "HGTV", url: "https://www.hulu.com/live" },
345
417
  "hgtv-sling": { channelSelector: "HGTV", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
346
418
  "hgtv-spectrum": { channelSelector: "HGTV", url: "https://watch.spectrum.net/guide" },
419
+ "hgtv-xfinity": { channelSelector: "HGTV", url: "https://www.xfinity.com/stream/listings" },
347
420
  "hgtv-yttv": { channelSelector: "HGTV", url: "https://tv.youtube.com/live" },
348
421
  history: { name: "History", pacificStationId: "88545", stationId: "57708", url: "https://play.history.com/live" },
349
422
  "history-directv": { channelSelector: "HISTORY", url: "https://stream.directv.com" },
350
423
  "history-hulu": { channelSelector: "The HISTORY Channel", url: "https://www.hulu.com/live" },
351
424
  "history-sling": { channelSelector: "History", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
352
425
  "history-spectrum": { channelSelector: "History", url: "https://watch.spectrum.net/guide" },
426
+ "history-xfinity": { channelSelector: "History", url: "https://www.xfinity.com/stream/listings" },
353
427
  hln: { name: "HLN", stationId: "64549", url: "https://www.cnn.com/videos/hln" },
354
428
  "hln-directv": { channelSelector: "HLN", url: "https://stream.directv.com" },
355
429
  "hln-hulu": { channelSelector: "HLN", url: "https://www.hulu.com/live" },
356
430
  "hln-sling": { channelSelector: "HLN", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
357
431
  "hln-spectrum": { channelSelector: "HLN", url: "https://watch.spectrum.net/guide" },
432
+ "hln-xfinity": { channelSelector: "HLN", url: "https://www.xfinity.com/stream/listings" },
358
433
  "hln-yttv": { channelSelector: "HLN", url: "https://tv.youtube.com/live" },
359
434
  id: { name: "Investigation Discovery", pacificStationId: "80309", stationId: "65342", url: "https://watch.foodnetwork.com/channel/investigation-discovery" },
360
435
  "id-directv": { channelSelector: "Investigation Discovery", url: "https://stream.directv.com" },
361
436
  "id-hulu": { channelSelector: "Investigation Discovery", url: "https://www.hulu.com/live" },
362
437
  "id-sling": { channelSelector: "Investigation Discovery", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
363
438
  "id-spectrum": { channelSelector: "Investigation Discovery", url: "https://watch.spectrum.net/guide" },
439
+ "id-xfinity": { channelSelector: "Investigation Discovery", url: "https://www.xfinity.com/stream/listings" },
364
440
  "id-yttv": { channelSelector: "ID", url: "https://tv.youtube.com/live" },
365
- ifc: { channelSelector: "IFC", name: "IFC", pacificStationId: "109735", stationId: "59444", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
366
- "ifc-directv": { channelSelector: "IFC", url: "https://stream.directv.com" },
441
+ ifc: { channelSelector: "IFC", name: "IFC", pacificStationId: "109735", stationId: "59444", url: "https://stream.directv.com" },
442
+ "ifc-sling": { channelSelector: "IFC", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
367
443
  "ifc-spectrum": { channelSelector: "IFC", url: "https://watch.spectrum.net/guide" },
444
+ "ifc-xfinity": { channelSelector: "IFC", url: "https://www.xfinity.com/stream/listings" },
368
445
  "ifc-yttv": { channelSelector: "IFC", url: "https://tv.youtube.com/live" },
369
446
  indieplex: { channelSelector: "IndiePlex (East)", name: "IndiePlex", stationId: "65795", url: "https://www.hulu.com/live" },
370
447
  "indieplex-sling": { channelSelector: "IndiePlex", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
448
+ "indieplex-spectrum": { channelSelector: "IndiePlex", url: "https://watch.spectrum.net/guide" },
371
449
  indieplexp: { channelSelector: "IndiePlex (West)", name: "IndiePlex (Pacific)", stationId: "65796", url: "https://www.hulu.com/live" },
372
450
  lifetime: { name: "Lifetime", pacificStationId: "60250", stationId: "60150", url: "https://play.mylifetime.com/live" },
373
451
  "lifetime-directv": { channelSelector: "Lifetime", url: "https://stream.directv.com" },
374
452
  "lifetime-hulu": { channelSelector: "Lifetime", url: "https://www.hulu.com/live" },
375
453
  "lifetime-sling": { channelSelector: "Lifetime", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
376
454
  "lifetime-spectrum": { channelSelector: "Lifetime", url: "https://watch.spectrum.net/guide" },
377
- lmn: { channelSelector: "LMN", name: "Lifetime Movie Network", pacificStationId: "92373", stationId: "55887", url: "https://www.hulu.com/live" },
378
- "lmn-directv": { channelSelector: "Lifetime Movie Network", url: "https://stream.directv.com" },
455
+ "lifetime-xfinity": { channelSelector: "Lifetime", url: "https://www.xfinity.com/stream/listings" },
456
+ lmn: { channelSelector: "Lifetime Movie Network", name: "Lifetime Movie Network", pacificStationId: "92373", stationId: "55887", url: "https://stream.directv.com" },
457
+ "lmn-hulu": { channelSelector: "LMN", url: "https://www.hulu.com/live" },
379
458
  "lmn-spectrum": { channelSelector: "LMN", url: "https://watch.spectrum.net/guide" },
459
+ "lmn-xfinity": { channelSelector: "Lifetime Movies", url: "https://www.xfinity.com/stream/listings" },
380
460
  magnolia: { name: "Magnolia Network", pacificStationId: "122081", stationId: "67375", url: "https://watch.foodnetwork.com/channel/magnolia-network-preview-atve-us" },
381
461
  "magnolia-directv": { channelSelector: "Magnolia Network", url: "https://stream.directv.com" },
382
462
  "magnolia-hulu": { channelSelector: "Magnolia Network", url: "https://www.hulu.com/live" },
383
463
  "magnolia-spectrum": { channelSelector: "Magnolia Network", url: "https://watch.spectrum.net/guide" },
464
+ "magnolia-xfinity": { channelSelector: "Magnolia Network", url: "https://www.xfinity.com/stream/listings" },
384
465
  "magnolia-yttv": { channelSelector: "Magnolia Network", url: "https://tv.youtube.com/live" },
385
466
  mgmplus: { channelSelector: "MGM+", name: "MGM+", pacificStationId: "95927", stationId: "65687", url: "https://stream.directv.com" },
386
- mlb: { channelSelector: "MLB Network", name: "MLB Network", stationId: "62081", url: "https://www.hulu.com/live" },
387
- "mlb-directv": { channelSelector: "MLB Network", url: "https://stream.directv.com" },
467
+ "mgmplus-xfinity": { channelSelector: "MGM+", url: "https://www.xfinity.com/stream/listings" },
468
+ mlb: { channelSelector: "MLB Network", name: "MLB Network", stationId: "62081", url: "https://stream.directv.com" },
469
+ "mlb-hulu": { channelSelector: "MLB Network", url: "https://www.hulu.com/live" },
388
470
  "mlb-spectrum": { channelSelector: "MLB Network", url: "https://watch.spectrum.net/guide" },
471
+ "mlb-xfinity": { channelSelector: "MLB Network", url: "https://www.xfinity.com/stream/listings" },
389
472
  movieplex: { channelSelector: "MoviePlex (East)", name: "MoviePlex", stationId: "83075", url: "https://www.hulu.com/live" },
473
+ "movieplex-sling": { channelSelector: "MoviePlex", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
474
+ "movieplex-spectrum": { channelSelector: "Movieplex", url: "https://watch.spectrum.net/guide" },
390
475
  movieplexp: { channelSelector: "MoviePlex (West)", name: "MoviePlex (Pacific)", stationId: "105963", url: "https://www.hulu.com/live" },
391
476
  msg: { channelSelector: "MSG", name: "MSG", stationId: "35402", url: "https://stream.directv.com" },
392
477
  msgsn: { channelSelector: "MSG Sportsnet HD 635", name: "MSG Sportsnet", stationId: "35383", url: "https://stream.directv.com" },
@@ -396,39 +481,50 @@ const BASE_CHANNELS = {
396
481
  "msnow-sling": { channelSelector: "MS NOW", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
397
482
  "msnow-spectrum": { channelSelector: "MS NOW", url: "https://watch.spectrum.net/guide" },
398
483
  "msnow-usa": { channelSelector: "image-23", url: "https://www.usanetwork.com/live" },
484
+ "msnow-xfinity": { channelSelector: "MS NOW", url: "https://www.xfinity.com/stream/listings" },
399
485
  "msnow-yttv": { channelSelector: "MS NOW", url: "https://tv.youtube.com/live" },
400
- mtv: { channelSelector: "MTV", name: "MTV", pacificStationId: "64630", stationId: "60964", url: "https://www.hulu.com/live" },
401
- "mtv-directv": { channelSelector: "MTV", url: "https://stream.directv.com" },
486
+ mtv: { channelSelector: "MTV", name: "MTV", pacificStationId: "64630", stationId: "60964", url: "https://stream.directv.com" },
487
+ "mtv-hulu": { channelSelector: "MTV", url: "https://www.hulu.com/live" },
402
488
  "mtv-spectrum": { channelSelector: "MTV", url: "https://watch.spectrum.net/guide" },
489
+ "mtv-xfinity": { channelSelector: "MTV", url: "https://www.xfinity.com/stream/listings" },
403
490
  "mtv-yttv": { channelSelector: "MTV", url: "https://tv.youtube.com/live" },
404
491
  mtv2: { channelSelector: "MTV2", name: "MTV2", pacificStationId: "75506", stationId: "75077", url: "https://stream.directv.com" },
492
+ "mtv2-spectrum": { channelSelector: "MTV2", url: "https://watch.spectrum.net/guide" },
493
+ "mtv2-xfinity": { channelSelector: "MTV2", url: "https://www.xfinity.com/stream/listings" },
405
494
  mtvclassic: { channelSelector: "MTV Classic", name: "MTV Classic", stationId: "92240", url: "https://stream.directv.com" },
495
+ "mtvclassic-spectrum": { channelSelector: "MTV Classic", url: "https://watch.spectrum.net/guide" },
496
+ "mtvclassic-xfinity": { channelSelector: "MTV Classic", url: "https://www.xfinity.com/stream/listings" },
406
497
  natgeo: { name: "National Geographic", stationId: "49438", url: "https://www.nationalgeographic.com/tv/watch-live/0826a9a3-3384-4bb5-8841-91f01cb0e3a7" },
407
498
  "natgeo-directv": { channelSelector: "National Geographic Channel", url: "https://stream.directv.com" },
408
499
  "natgeo-hulu": { channelSelector: "National Geographic", url: "https://www.hulu.com/live" },
409
500
  "natgeo-sling": { channelSelector: "National Geographic", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
410
501
  "natgeo-spectrum": { channelSelector: "National Geographic", url: "https://watch.spectrum.net/guide" },
502
+ "natgeo-xfinity": { channelSelector: "Nat Geo", url: "https://www.xfinity.com/stream/listings" },
411
503
  "natgeo-yttv": { channelSelector: "Nat Geo", url: "https://tv.youtube.com/live" },
412
504
  natgeop: { name: "National Geographic (Pacific)", stationId: "71601", url: "https://www.nationalgeographic.com/tv/watch-live/91456580-f32f-417c-8e1a-9f82640832a7" },
413
505
  natgeowild: { name: "Nat Geo Wild", stationId: "67331", url: "https://www.nationalgeographic.com/tv/watch-live/239b9590-583f-4955-a499-22e9eefff9cf" },
414
506
  "natgeowild-directv": { channelSelector: "Nat Geo WILD", url: "https://stream.directv.com" },
415
507
  "natgeowild-hulu": { channelSelector: "Nat Geo WILD", url: "https://www.hulu.com/live" },
416
508
  "natgeowild-spectrum": { channelSelector: "NatGeo Wild", url: "https://watch.spectrum.net/guide" },
509
+ "natgeowild-xfinity": { channelSelector: "National Geographic WILD", url: "https://www.xfinity.com/stream/listings" },
417
510
  "natgeowild-yttv": { channelSelector: "Nat Geo WILD", url: "https://tv.youtube.com/live" },
418
511
  nba: { name: "NBA TV", stationId: "45526", url: "https://www.nba.com/watch/nba-tv" },
419
512
  "nba-directv": { channelSelector: "NBA TV", url: "https://stream.directv.com" },
420
513
  "nba-spectrum": { channelSelector: "NBA TV", url: "https://watch.spectrum.net/guide" },
514
+ "nba-xfinity": { channelSelector: "NBA TV", url: "https://www.xfinity.com/stream/listings" },
421
515
  "nba-yttv": { channelSelector: "NBA TV", url: "https://tv.youtube.com/live" },
422
516
  nbc: { name: "NBC", url: "https://www.nbc.com/live?brand=nbc&callsign=nbc" },
423
517
  "nbc-directv": { channelSelector: "NBC", url: "https://stream.directv.com" },
424
518
  "nbc-hulu": { channelSelector: "NBC", url: "https://www.hulu.com/live" },
425
519
  "nbc-sling": { channelSelector: "NBC", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
426
520
  "nbc-spectrum": { channelSelector: "NBC", url: "https://watch.spectrum.net/guide" },
521
+ "nbc-xfinity": { channelSelector: "NBC", url: "https://www.xfinity.com/stream/listings" },
427
522
  "nbc-yttv": { channelSelector: "NBC", url: "https://tv.youtube.com/live" },
428
523
  nbcnews: { name: "NBC News Now", stationId: "114174", url: "https://www.nbc.com/live?brand=nbc-news&callsign=nbcnews" },
429
524
  "nbcnews-directv": { channelSelector: "NBC News Now", url: "https://stream.directv.com" },
430
525
  "nbcnews-hulu": { channelSelector: "NBC News NOW", url: "https://www.hulu.com/live" },
431
526
  "nbcnews-sling": { channelSelector: "NBC News Now", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
527
+ "nbcnews-xfinity": { channelSelector: "NBC News NOW", url: "https://www.xfinity.com/stream/listings" },
432
528
  "nbcnews-yttv": { channelSelector: "NBC News NOW", url: "https://tv.youtube.com/live" },
433
529
  nbcsbayarea: { name: "NBC Sports Bay Area", stationId: "63138", url: "https://www.nbc.com/live?brand=rsn-bay-area&callsign=nbcsbayarea" },
434
530
  nbcsboston: { name: "NBC Sports Boston", stationId: "49198", url: "https://www.nbc.com/live?brand=rsn-boston&callsign=nbcsboston" },
@@ -436,32 +532,38 @@ const BASE_CHANNELS = {
436
532
  nbcsn: { channelSelector: "NBC Sports Network", name: "NBC Sports Network", stationId: "194412", url: "https://tv.youtube.com/live" },
437
533
  nbcsphiladelphia: { name: "NBC Sports Philadelphia", stationId: "32571", url: "https://www.nbc.com/live?brand=rsn-philadelphia&callsign=nbcsphiladelphia" },
438
534
  necn: { name: "NECN", stationId: "66278", url: "https://www.nbc.com/live?brand=necn&callsign=necn" },
439
- nfl: { channelSelector: "NFL Network", name: "NFL Network", stationId: "45399", url: "https://www.hulu.com/live" },
440
- "nfl-directv": { channelSelector: "NFL Network", url: "https://stream.directv.com" },
535
+ nfl: { channelSelector: "NFL Network", name: "NFL Network", stationId: "45399", url: "https://stream.directv.com" },
536
+ "nfl-hulu": { channelSelector: "NFL Network", url: "https://www.hulu.com/live" },
441
537
  "nfl-sling": { channelSelector: "NFL Network", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
442
538
  "nfl-spectrum": { channelSelector: "NFL Network", url: "https://watch.spectrum.net/guide" },
539
+ "nfl-xfinity": { channelSelector: "NFL Network", url: "https://www.xfinity.com/stream/listings" },
443
540
  "nfl-yttv": { channelSelector: "NFL Network", url: "https://tv.youtube.com/live" },
444
541
  nhl: { channelSelector: "NHL Network HD", name: "NHL Network", stationId: "58690", url: "https://stream.directv.com" },
445
542
  "nhl-spectrum": { channelSelector: "NHL Network", url: "https://watch.spectrum.net/guide" },
543
+ "nhl-xfinity": { channelSelector: "NHL Network", url: "https://www.xfinity.com/stream/listings" },
446
544
  own: { name: "OWN", stationId: "70388", url: "https://watch.foodnetwork.com/channel/own" },
447
545
  "own-directv": { channelSelector: "OWN", url: "https://stream.directv.com" },
448
546
  "own-hulu": { channelSelector: "Oprah Winfrey Network", url: "https://www.hulu.com/live" },
449
547
  "own-spectrum": { channelSelector: "OWN", url: "https://watch.spectrum.net/guide" },
548
+ "own-xfinity": { channelSelector: "OWN", url: "https://www.xfinity.com/stream/listings" },
450
549
  "own-yttv": { channelSelector: "OWN", url: "https://tv.youtube.com/live" },
451
550
  oxygen: { channelSelector: "Oxygen_East", name: "Oxygen", stationId: "70522", url: "https://www.usanetwork.com/live" },
452
551
  "oxygen-directv": { channelSelector: "Oxygen True Crime", url: "https://stream.directv.com" },
453
552
  "oxygen-hulu": { channelSelector: "Oxygen True Crime", url: "https://www.hulu.com/live" },
454
553
  "oxygen-spectrum": { channelSelector: "Oxygen", url: "https://watch.spectrum.net/guide" },
554
+ "oxygen-xfinity": { channelSelector: "Oxygen True Crime", url: "https://www.xfinity.com/stream/listings" },
455
555
  "oxygen-yttv": { channelSelector: "Oxygen True Crime", url: "https://tv.youtube.com/live" },
456
556
  oxygenp: { channelSelector: "Oxygen_West", name: "Oxygen (Pacific)", stationId: "74032", url: "https://www.usanetwork.com/live" },
457
557
  paramount: { channelSelector: "Paramount Network", name: "Paramount Network", stationId: "59186", url: "https://www.hulu.com/live" },
458
558
  "paramount-spectrum": { channelSelector: "Paramount Network", url: "https://watch.spectrum.net/guide" },
559
+ "paramount-xfinity": { channelSelector: "Paramount Network", url: "https://www.xfinity.com/stream/listings" },
459
560
  "paramount-yttv": { channelSelector: "Paramount", url: "https://tv.youtube.com/live" },
460
561
  paramountp: { name: "Paramount (Pacific)", stationId: "64593", url: "https://tv.youtube.com/live" },
461
562
  "paramountp-yttv": { channelSelector: "Paramount Network", url: "https://tv.youtube.com/live" },
462
- pbs: { channelSelector: "PBS", name: "PBS", url: "https://www.hulu.com/live" },
463
- "pbs-directv": { channelSelector: "PBS", url: "https://stream.directv.com" },
563
+ pbs: { channelSelector: "PBS", name: "PBS", url: "https://stream.directv.com" },
564
+ "pbs-hulu": { channelSelector: "PBS", url: "https://www.hulu.com/live" },
464
565
  "pbs-spectrum": { channelSelector: "PBS", url: "https://watch.spectrum.net/guide" },
566
+ "pbs-xfinity": { channelSelector: "PBS", url: "https://www.xfinity.com/stream/listings" },
465
567
  "pbs-yttv": { channelSelector: "PBS", url: "https://tv.youtube.com/live" },
466
568
  pbschicago: { name: "PBS Chicago (WTTW)", stationId: "30415", url: "https://www.wttw.com/wttw-live-stream" },
467
569
  "pbschicago-hulu": { channelSelector: "PBS", url: "https://www.hulu.com/live" },
@@ -469,20 +571,26 @@ const BASE_CHANNELS = {
469
571
  "pbslakeshore-hulu": { channelSelector: "Lakeshore PBS", url: "https://www.hulu.com/live" },
470
572
  retroplex: { channelSelector: "RetroPlex (East)", name: "RetroPlex", stationId: "65791", url: "https://www.hulu.com/live" },
471
573
  "retroplex-sling": { channelSelector: "RetroPlex", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
574
+ "retroplex-spectrum": { channelSelector: "RetroPlex", url: "https://watch.spectrum.net/guide" },
472
575
  retroplexp: { channelSelector: "RetroPlex (West)", name: "RetroPlex (Pacific)", stationId: "65793", url: "https://www.hulu.com/live" },
473
576
  science: { name: "Science", stationId: "57390", url: "https://watch.foodnetwork.com/channel/science" },
474
577
  "science-directv": { channelSelector: "Science", url: "https://stream.directv.com" },
475
578
  "science-spectrum": { channelSelector: "Science", url: "https://watch.spectrum.net/guide" },
579
+ "science-xfinity": { channelSelector: "Science Channel", url: "https://www.xfinity.com/stream/listings" },
476
580
  showtime: { name: "Showtime", stationId: "91620", url: "https://www.paramountplus.com/live-tv/stream/showtime-east" },
581
+ "showtime-xfinity": { channelSelector: "PSHOh", url: "https://www.xfinity.com/stream/listings" },
477
582
  "showtime-yttv": { channelSelector: "Showtime East", url: "https://tv.youtube.com/live" },
478
583
  showtimep: { name: "Showtime (Pacific)", stationId: "91621", url: "https://www.paramountplus.com/live-tv/stream/showtime-west" },
479
- smithsonian: { channelSelector: "Smithsonian Channel", name: "Smithsonian Channel", pacificStationId: "82695", stationId: "58532", url: "https://www.hulu.com/live" },
480
- "smithsonian-directv": { channelSelector: "Smithsonian Channel HD", url: "https://stream.directv.com" },
584
+ smithsonian: { channelSelector: "Smithsonian Channel HD", name: "Smithsonian Channel", pacificStationId: "82695", stationId: "58532", url: "https://stream.directv.com" },
585
+ "smithsonian-hulu": { channelSelector: "Smithsonian Channel", url: "https://www.hulu.com/live" },
481
586
  "smithsonian-spectrum": { channelSelector: "Smithsonian Channel", url: "https://watch.spectrum.net/guide" },
587
+ "smithsonian-xfinity": { channelSelector: "Smithsonian", url: "https://www.xfinity.com/stream/listings" },
482
588
  "smithsonian-yttv": { channelSelector: "Smithsonian Channel", url: "https://tv.youtube.com/live" },
483
589
  sny: { channelSelector: "SportsNet New York HD 639", name: "SportsNet New York", stationId: "50038", url: "https://stream.directv.com" },
484
590
  starz: { name: "Starz", stationId: "34941", url: "https://www.starz.com/us/en/play/2" },
485
591
  "starz-hulu": { channelSelector: "STARZ (East)", url: "https://www.hulu.com/live" },
592
+ "starz-sling": { channelSelector: "STARZ", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
593
+ "starz-xfinity": { channelSelector: "STARZ", url: "https://www.xfinity.com/stream/listings" },
486
594
  starzcinema: { channelSelector: "STARZ Cinema (East)", name: "Starz Cinema", stationId: "67236", url: "https://www.hulu.com/live" },
487
595
  "starzcinema-sling": { channelSelector: "Starz Cinema", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
488
596
  starzcinemap: { channelSelector: "STARZ Cinema (West)", name: "Starz Cinema (Pacific)", stationId: "67365", url: "https://www.hulu.com/live" },
@@ -494,11 +602,14 @@ const BASE_CHANNELS = {
494
602
  starzedgep: { channelSelector: "STARZ Edge (West)", name: "Starz Edge (Pacific)", stationId: "57578", url: "https://www.hulu.com/live" },
495
603
  starzencore: { channelSelector: "STARZ Encore (East)", name: "Starz Encore", stationId: "36225", url: "https://www.hulu.com/live" },
496
604
  "starzencore-sling": { channelSelector: "Starz Encore", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
605
+ "starzencore-xfinity": { channelSelector: "STZEH", url: "https://www.xfinity.com/stream/listings" },
497
606
  starzencoreaction: { channelSelector: "STARZ Encore Action (East)", name: "Starz Encore Action", stationId: "72015", url: "https://www.hulu.com/live" },
498
607
  "starzencoreaction-sling": { channelSelector: "Starz Encore Action", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
608
+ "starzencoreaction-xfinity": { channelSelector: "STZAH", url: "https://www.xfinity.com/stream/listings" },
499
609
  starzencoreactionp: { channelSelector: "STARZ Encore Action (West)", name: "Starz Encore Action (Pacific)", stationId: "103833", url: "https://www.hulu.com/live" },
500
610
  starzencoreblack: { channelSelector: "STARZ Encore Black (East)", name: "Starz Encore Black", stationId: "72014", url: "https://www.hulu.com/live" },
501
611
  "starzencoreblack-sling": { channelSelector: "Starz Encore Black", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
612
+ "starzencoreblack-xfinity": { channelSelector: "STZBH", url: "https://www.xfinity.com/stream/listings" },
502
613
  starzencoreblackp: { channelSelector: "STARZ Encore Black (West)", name: "Starz Encore Black (Pacific)", stationId: "103834", url: "https://www.hulu.com/live" },
503
614
  starzencoreclassic: { channelSelector: "STARZ Encore Classic (East)", name: "Starz Encore Classic", stationId: "83404", url: "https://www.hulu.com/live" },
504
615
  "starzencoreclassic-sling": { channelSelector: "Starz Encore Classic", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
@@ -510,25 +621,31 @@ const BASE_CHANNELS = {
510
621
  "starzencorefamily-sling": { channelSelector: "Starz Encore Family", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
511
622
  starzencorefamilyp: { channelSelector: "STARZ Encore Family (West)", name: "Starz Encore Family (Pacific)", stationId: "103829", url: "https://www.hulu.com/live" },
512
623
  starzencorep: { channelSelector: "STARZ Encore (West)", name: "Starz Encore (Pacific)", stationId: "67237", url: "https://www.hulu.com/live" },
624
+ "starzencorep-sling": { channelSelector: "Starz Encore West", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
513
625
  starzencoresuspense: { channelSelector: "STARZ Encore Suspense (East)", name: "Starz Encore Suspense", stationId: "83076", url: "https://www.hulu.com/live" },
514
626
  "starzencoresuspense-sling": { channelSelector: "Starz Encore Suspense", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
515
627
  starzencoresuspensep: { channelSelector: "STARZ Encore Suspense (West)", name: "Starz Encore Suspense (Pacific)", stationId: "103836", url: "https://www.hulu.com/live" },
516
628
  starzencorewesterns: { channelSelector: "STARZ Encore Westerns (East)", name: "Starz Encore Westerns", stationId: "14765", url: "https://www.hulu.com/live" },
629
+ "starzencorewesterns-sling": { channelSelector: "Starz Encore Westerns", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
517
630
  starzencorewesternsp: { channelSelector: "STARZ Encore Westerns (West)", name: "Starz Encore Westerns (Pacific)", stationId: "103856", url: "https://www.hulu.com/live" },
518
631
  starzinblack: { channelSelector: "STARZ in Black (East)", name: "Starz in Black", stationId: "67235", url: "https://www.hulu.com/live" },
519
632
  "starzinblack-sling": { channelSelector: "Starz in Black", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
520
633
  starzinblackp: { channelSelector: "STARZ in Black (West)", name: "Starz in Black (Pacific)", stationId: "67367", url: "https://www.hulu.com/live" },
521
634
  starzkids: { channelSelector: "STARZ Kids (East)", name: "Starz Kids", stationId: "57581", url: "https://www.hulu.com/live" },
635
+ "starzkids-sling": { channelSelector: "Starz Kids", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
522
636
  starzkidsp: { channelSelector: "STARZ Kids (West)", name: "Starz Kids (Pacific)", stationId: "57583", url: "https://www.hulu.com/live" },
523
637
  starzp: { channelSelector: "STARZ (West)", name: "Starz (Pacific)", stationId: "34949", url: "https://www.hulu.com/live" },
524
- sundancetv: { channelSelector: "SundanceTV", name: "SundanceTV", pacificStationId: "78806", stationId: "71280", url: "https://tv.youtube.com/live" },
525
- "sundancetv-directv": { channelSelector: "Sundance TV", url: "https://stream.directv.com" },
638
+ "starzp-sling": { channelSelector: "Starz West", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
639
+ sundancetv: { channelSelector: "Sundance TV", name: "SundanceTV", pacificStationId: "78806", stationId: "71280", url: "https://stream.directv.com" },
526
640
  "sundancetv-spectrum": { channelSelector: "SundanceTV", url: "https://watch.spectrum.net/guide" },
641
+ "sundancetv-xfinity": { channelSelector: "SundanceTV", url: "https://www.xfinity.com/stream/listings" },
642
+ "sundancetv-yttv": { channelSelector: "SundanceTV", url: "https://tv.youtube.com/live" },
527
643
  syfy: { channelSelector: "Syfy_East", name: "Syfy", stationId: "58623", url: "https://www.usanetwork.com/live" },
528
644
  "syfy-directv": { channelSelector: "Syfy", url: "https://stream.directv.com" },
529
645
  "syfy-hulu": { channelSelector: "SYFY", url: "https://www.hulu.com/live" },
530
646
  "syfy-sling": { channelSelector: "SYFY", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
531
647
  "syfy-spectrum": { channelSelector: "Syfy", url: "https://watch.spectrum.net/guide" },
648
+ "syfy-xfinity": { channelSelector: "SYFY", url: "https://www.xfinity.com/stream/listings" },
532
649
  "syfy-yttv": { channelSelector: "SYFY", url: "https://tv.youtube.com/live" },
533
650
  syfyp: { channelSelector: "Syfy_West", name: "Syfy (Pacific)", stationId: "65626", url: "https://www.usanetwork.com/live" },
534
651
  tbs: { name: "TBS", stationId: "58515", url: "https://www.tbs.com/watchtbs/east" },
@@ -536,31 +653,37 @@ const BASE_CHANNELS = {
536
653
  "tbs-hulu": { channelSelector: "TBS (East)", url: "https://www.hulu.com/live" },
537
654
  "tbs-sling": { channelSelector: "TBS", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
538
655
  "tbs-spectrum": { channelSelector: "TBS", url: "https://watch.spectrum.net/guide" },
656
+ "tbs-xfinity": { channelSelector: "TBS", url: "https://www.xfinity.com/stream/listings" },
539
657
  "tbs-yttv": { channelSelector: "TBS", url: "https://tv.youtube.com/live" },
540
658
  tbsp: { name: "TBS (Pacific)", stationId: "67890", url: "https://www.tbs.com/watchtbs/west" },
541
659
  "tbsp-hulu": { channelSelector: "TBS (West)", url: "https://www.hulu.com/live" },
542
- tcm: { channelSelector: "TCM (East)", name: "TCM", stationId: "64312", url: "https://www.hulu.com/live" },
543
- "tcm-directv": { channelSelector: "TCM", url: "https://stream.directv.com" },
660
+ tcm: { channelSelector: "TCM", name: "TCM", stationId: "64312", url: "https://stream.directv.com" },
661
+ "tcm-hulu": { channelSelector: "TCM (East)", url: "https://www.hulu.com/live" },
544
662
  "tcm-spectrum": { channelSelector: "TCM", url: "https://watch.spectrum.net/guide" },
663
+ "tcm-xfinity": { channelSelector: "TCM", url: "https://www.xfinity.com/stream/listings" },
545
664
  "tcm-yttv": { channelSelector: "Turner Classic Movies", url: "https://tv.youtube.com/live" },
546
665
  tcmp: { channelSelector: "TCM (West)", name: "TCM (Pacific)", stationId: "64312", tvgShift: 3, url: "https://www.hulu.com/live" },
547
- tennis: { channelSelector: "Tennis Channel", name: "Tennis Channel", stationId: "60316", url: "https://tv.youtube.com/live" },
548
- "tennis-directv": { channelSelector: "Tennis Channel HD", url: "https://stream.directv.com" },
666
+ tennis: { channelSelector: "Tennis Channel HD", name: "Tennis Channel", stationId: "60316", url: "https://stream.directv.com" },
549
667
  "tennis-spectrum": { channelSelector: "Tennis Channel", url: "https://watch.spectrum.net/guide" },
550
- tennis2: { channelSelector: "T2", name: "Tennis Channel 2", stationId: "137752", url: "https://tv.youtube.com/live" },
551
- "tennis2-hulu": { channelSelector: "Tennis Channel 2", url: "https://www.hulu.com/live" },
668
+ "tennis-xfinity": { channelSelector: "Tennis Channel", url: "https://www.xfinity.com/stream/listings" },
669
+ "tennis-yttv": { channelSelector: "Tennis Channel", url: "https://tv.youtube.com/live" },
670
+ tennis2: { channelSelector: "Tennis Channel 2", name: "Tennis Channel 2", stationId: "137752", url: "https://www.hulu.com/live" },
552
671
  "tennis2-sling": { channelSelector: "T2", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
672
+ "tennis2-xfinity": { channelSelector: "T2", url: "https://www.xfinity.com/stream/listings" },
673
+ "tennis2-yttv": { channelSelector: "T2", url: "https://tv.youtube.com/live" },
553
674
  tlc: { name: "TLC", pacificStationId: "79911", stationId: "57391", url: "https://watch.foodnetwork.com/channel/tlc" },
554
675
  "tlc-directv": { channelSelector: "TLC", url: "https://stream.directv.com" },
555
676
  "tlc-hulu": { channelSelector: "TLC", url: "https://www.hulu.com/live" },
556
677
  "tlc-sling": { channelSelector: "TLC", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
557
678
  "tlc-spectrum": { channelSelector: "TLC", url: "https://watch.spectrum.net/guide" },
679
+ "tlc-xfinity": { channelSelector: "TLC", url: "https://www.xfinity.com/stream/listings" },
558
680
  "tlc-yttv": { channelSelector: "TLC", url: "https://tv.youtube.com/live" },
559
681
  tnt: { name: "TNT", stationId: "42642", url: "https://www.tntdrama.com/watchtnt/east" },
560
682
  "tnt-directv": { channelSelector: "TNT", url: "https://stream.directv.com" },
561
683
  "tnt-hulu": { channelSelector: "TNT (East)", url: "https://www.hulu.com/live" },
562
684
  "tnt-sling": { channelSelector: "TNT", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
563
685
  "tnt-spectrum": { channelSelector: "TNT", url: "https://watch.spectrum.net/guide" },
686
+ "tnt-xfinity": { channelSelector: "TNT", url: "https://www.xfinity.com/stream/listings" },
564
687
  "tnt-yttv": { channelSelector: "TNT", url: "https://tv.youtube.com/live" },
565
688
  tntp: { name: "TNT (Pacific)", stationId: "61340", url: "https://www.tntdrama.com/watchtnt/west" },
566
689
  "tntp-hulu": { channelSelector: "TNT (West)", url: "https://www.hulu.com/live" },
@@ -569,41 +692,49 @@ const BASE_CHANNELS = {
569
692
  "travel-hulu": { channelSelector: "Travel Channel", url: "https://www.hulu.com/live" },
570
693
  "travel-sling": { channelSelector: "Travel Channel", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
571
694
  "travel-spectrum": { channelSelector: "Travel Channel", url: "https://watch.spectrum.net/guide" },
695
+ "travel-xfinity": { channelSelector: "Travel Channel", url: "https://www.xfinity.com/stream/listings" },
572
696
  "travel-yttv": { channelSelector: "Travel Channel", url: "https://tv.youtube.com/live" },
573
697
  trutv: { name: "truTV", pacificStationId: "65717", stationId: "64490", url: "https://www.trutv.com/watchtrutv/east" },
574
698
  "trutv-directv": { channelSelector: "truTV", url: "https://stream.directv.com" },
575
699
  "trutv-hulu": { channelSelector: "truTV (East)", url: "https://www.hulu.com/live" },
576
700
  "trutv-sling": { channelSelector: "truTV", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
577
701
  "trutv-spectrum": { channelSelector: "truTV", url: "https://watch.spectrum.net/guide" },
702
+ "trutv-xfinity": { channelSelector: "truTV", url: "https://www.xfinity.com/stream/listings" },
578
703
  "trutv-yttv": { channelSelector: "truTV", url: "https://tv.youtube.com/live" },
579
704
  "trutvp-hulu": { channelSelector: "truTV (West)", url: "https://www.hulu.com/live" },
580
- tvland: { channelSelector: "TV Land", name: "TV Land", pacificStationId: "74134", stationId: "73541", url: "https://tv.youtube.com/live" },
581
- "tvland-directv": { channelSelector: "TV Land", url: "https://stream.directv.com" },
705
+ tvland: { channelSelector: "TV Land", name: "TV Land", pacificStationId: "74134", stationId: "73541", url: "https://stream.directv.com" },
582
706
  "tvland-hulu": { channelSelector: "TV Land", url: "https://www.hulu.com/live" },
583
707
  "tvland-spectrum": { channelSelector: "TV Land", url: "https://watch.spectrum.net/guide" },
708
+ "tvland-xfinity": { channelSelector: "TV Land", url: "https://www.xfinity.com/stream/listings" },
709
+ "tvland-yttv": { channelSelector: "TV Land", url: "https://tv.youtube.com/live" },
584
710
  usa: { channelSelector: "USA_East", name: "USA Network", stationId: "58452", url: "https://www.usanetwork.com/live" },
585
711
  "usa-directv": { channelSelector: "USA Network", url: "https://stream.directv.com" },
586
712
  "usa-hulu": { channelSelector: "USA", url: "https://www.hulu.com/live" },
587
713
  "usa-sling": { channelSelector: "USA", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
588
714
  "usa-spectrum": { channelSelector: "USA", url: "https://watch.spectrum.net/guide" },
715
+ "usa-xfinity": { channelSelector: "USA", url: "https://www.xfinity.com/stream/listings" },
589
716
  "usa-yttv": { channelSelector: "USA", url: "https://tv.youtube.com/live" },
590
717
  usap: { channelSelector: "USA_West", name: "USA Network (Pacific)", stationId: "74030", url: "https://www.usanetwork.com/live" },
591
718
  vh1: { name: "VH1", pacificStationId: "64634", stationId: "60046", url: "https://www.vh1.com/live-tv" },
592
719
  "vh1-directv": { channelSelector: "VH1", url: "https://stream.directv.com" },
593
720
  "vh1-hulu": { channelSelector: "VH1", url: "https://www.hulu.com/live" },
594
721
  "vh1-spectrum": { channelSelector: "VH1", url: "https://watch.spectrum.net/guide" },
722
+ "vh1-xfinity": { channelSelector: "VH1", url: "https://www.xfinity.com/stream/listings" },
595
723
  "vh1-yttv": { channelSelector: "VH1", url: "https://tv.youtube.com/live" },
596
- vice: { channelSelector: "Vice", name: "Vice", pacificStationId: "92375", stationId: "65732", url: "https://www.hulu.com/live" },
597
- "vice-directv": { channelSelector: "VICE", url: "https://stream.directv.com" },
724
+ vice: { channelSelector: "VICE", name: "Vice", pacificStationId: "92375", stationId: "65732", url: "https://stream.directv.com" },
725
+ "vice-hulu": { channelSelector: "Vice", url: "https://www.hulu.com/live" },
598
726
  "vice-sling": { channelSelector: "VICE", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
599
727
  "vice-spectrum": { channelSelector: "Vice", url: "https://watch.spectrum.net/guide" },
600
- weather: { channelSelector: "The Weather Channel", name: "The Weather Channel", stationId: "58812", url: "https://www.hulu.com/live" },
601
- "weather-directv": { channelSelector: "The Weather Channel HD", url: "https://stream.directv.com" },
728
+ "vice-xfinity": { channelSelector: "VICE", url: "https://www.xfinity.com/stream/listings" },
729
+ weather: { channelSelector: "The Weather Channel HD", name: "The Weather Channel", stationId: "58812", url: "https://stream.directv.com" },
730
+ "weather-hulu": { channelSelector: "The Weather Channel", url: "https://www.hulu.com/live" },
602
731
  "weather-spectrum": { channelSelector: "The Weather Channel", url: "https://watch.spectrum.net/guide" },
732
+ "weather-xfinity": { channelSelector: "Weather Channel", url: "https://www.xfinity.com/stream/listings" },
603
733
  "weather-yttv": { channelSelector: "The Weather Channel", url: "https://tv.youtube.com/live" },
604
- wetv: { channelSelector: "WE tv", name: "WE tv", pacificStationId: "108192", stationId: "59296", url: "https://tv.youtube.com/live" },
605
- "wetv-directv": { channelSelector: "WE TV", url: "https://stream.directv.com" },
734
+ wetv: { channelSelector: "WE TV", name: "WE tv", pacificStationId: "108192", stationId: "59296", url: "https://stream.directv.com" },
606
735
  "wetv-spectrum": { channelSelector: "WE tv", url: "https://watch.spectrum.net/guide" },
736
+ "wetv-xfinity": { channelSelector: "WE tv", url: "https://www.xfinity.com/stream/listings" },
737
+ "wetv-yttv": { channelSelector: "WE tv", url: "https://tv.youtube.com/live" },
607
738
  yes: { channelSelector: "Yes Network HD", name: "YES Network", stationId: "63558", url: "https://stream.directv.com" },
608
739
  "yes-spectrum": { channelSelector: "YES Network", url: "https://watch.spectrum.net/guide" }
609
740
  };