Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions plugin.video.mlbtv/addon.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.mlbtv" name="MLB.TV®" version="2026.2.27+matrix.1" provider-name="eracknaphobia, tonywagner">
<addon id="plugin.video.mlbtv" name="MLB.TV®" version="2026.4.9+matrix.1" provider-name="eracknaphobia, tonywagner">
<requires>
<import addon="xbmc.python" version="3.0.0"/>
<import addon="script.module.pytz" />
Expand All @@ -22,11 +22,14 @@
</description>
<disclaimer lang="en_GB">Requires an MLB.tv account</disclaimer>
<news>
- bypass skip adjust settings when skipping commercials
- stream finder extra innings LI correction
- skip bugfix at end-of-game
- auto upload Stream Finder form
- proxy playback fix (used for stream length padding)
- playback fix for Kodi 22
- Game Changer and Stream Finder fixes
- affiliate team updates for 2026
- restored Watch All Recaps option and removed spoilers from it
- restored Big Inning schedule
- skip timing adjustment for overturned pitches
- added MASN live stream for entitled subscribers
- do not show game state or inning when No Spoilers is enabled
</news>
<language>en</language>
<platform>all</platform>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -444,4 +444,12 @@ msgctxt "#30445"
msgid "Automatically switches between games according to your preferences. This addon is not affiliated with Baseball Reference, do not contact them for support. Visit http://bit.ly/bbrefsf to create and export your preferences, then upload and save them to Kodi at "
msgstr ""

msgctxt "#30446"
msgid "MASN"
msgstr ""

msgctxt "#30447"
msgid "MASN live stream"
msgstr ""


24 changes: 15 additions & 9 deletions plugin.video.mlbtv/resources/lib/globals.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@
MILB_IDS = '11,12,13,14'
MLB_TEAM_IDS = '108,109,110,111,112,113,114,115,116,117,118,119,120,121,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,158,159,160'

AFFILIATE_TEAM_IDS = {"Arizona Diamondbacks": "419,516,2310,5368", "Athletics": "237,400,499,524", "Atlanta Braves": "431,432,478,6325", "Baltimore Orioles": "418,488,548,568", "Boston Red Sox": "414,428,533,546", "Chicago Cubs": "451,521,550,553", "Chicago White Sox": "247,487,494,580", "Cincinnati Reds": "416,450,459,498", "Cleveland Guardians": "402,437,445,481", "Colorado Rockies": "259,342,486,538", "Detroit Tigers": "106,512,570,582", "Houston Astros": "482,573,3712,5434", "Kansas City Royals": "541,565,1350,3705", "Los Angeles Angels": "401,460,559,561", "Los Angeles Dodgers": "238,260,456,526", "Miami Marlins": "479,554,564,4124", "Milwaukee Brewers": "249,556,572,5015", "Minnesota Twins": "492,509,1960,3898", "New York Mets": "453,505,507,552", "New York Yankees": "531,537,587,1956", "Philadelphia Phillies": "427,522,566,1410", "Pittsburgh Pirates": "452,477,484,3390", "San Diego Padres": "103,510,584,4904", "San Francisco Giants": "105,461,476,3410", "Seattle Mariners": "403,515,529,574", "St. Louis Cardinals": "235,279,440,443", "Tampa Bay Rays": "233,234,421,2498", "Texas Rangers": "102,448,540,6324", "Toronto Blue Jays": "422,424,435,463", "Washington Nationals": "426,436,534,547"}
AFFILIATE_TEAM_IDS = {"Arizona Diamondbacks": "419,516,2310,5368", "Athletics": "237,400,499,524", "Atlanta Braves": "431,432,478,6325", "Baltimore Orioles": "418,493,548,568", "Boston Red Sox": "414,428,533,546", "Chicago Cubs": "451,521,550,553", "Chicago White Sox": "247,487,494,580", "Cincinnati Reds": "416,450,459,498", "Cleveland Guardians": "402,437,445,481", "Colorado Rockies": "259,342,486,538", "Detroit Tigers": "106,512,570,582", "Houston Astros": "482,573,3712,5434", "Kansas City Royals": "541,565,1350,3705", "Los Angeles Angels": "460,526,559,56", "Los Angeles Dodgers": "238,260,456,6482", "Miami Marlins": "479,554,564,4124", "Milwaukee Brewers": "249,556,572,5015", "Minnesota Twins": "492,509,1960,3898", "New York Mets": "453,505,507,552", "New York Yankees": "531,537,587,1956", "Philadelphia Phillies": "427,522,566,1410", "Pittsburgh Pirates": "452,477,484,3390", "San Diego Padres": "103,510,584,4904", "San Francisco Giants": "105,461,476,3410", "Seattle Mariners": "401,403,529,574", "St. Louis Cardinals": "235,279,440,443", "Tampa Bay Rays": "233,234,421,2498", "Texas Rangers": "102,448,540,6324", "Toronto Blue Jays": "422,424,435,463", "Washington Nationals": "426,436,534,547"}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[MEDIUM] Truncated team ID in Los Angeles Angels affiliate data

The Los Angeles Angels entry ends with "56" while all other team IDs in the dictionary are 3-4 digits (e.g., Baltimore: "493", LA Dodgers: "6482", Seattle: "401,403").

The previous value was "401,460,559,561" (from the diff), and the new value is "460,526,559,56" - this suggests "561" was intended to be the last value but got truncated to "56".

This could cause incorrect affiliate team matching for Los Angeles Angels minor league teams.


ESPN_SUNDAY_NIGHT_BLACKOUT_COUNTRIES = ["Angola", "Anguilla", "Antigua and Barbuda", "Argentina", "Aruba", "Australia", "Bahamas", "Barbados", "Belize", "Belize", "Benin", "Bermuda", "Bolivia", "Bonaire", "Botswana", "Brazil", "British Virgin Islands", "Burkina Faso", "Burundi", "Cameroon", "Cape Verde", "Cayman Islands", "Central African Republic", "Chad", "Chile", "Colombia", "Comoros", "Cook Islands", "Costa Rica", "Cote d'Ivoire", "Curacao", "Democratic Republic of the Congo", "Djibouti", "Dominica", "Dominican Republic", "Ecuador", "El Salvador", "England", "Equatorial Guinea", "Eritrea", "Eswatini", "Ethiopia", "Falkland Islands", "Falkland Islands", "Fiji", "French Guiana", "French Guiana", "French Polynesia", "Gabon", "Ghana", "Grenada", "Guadeloupe", "Guatemala", "Guinea", "Guinea Bissau", "Guyana", "Guyana", "Haiti", "Honduras", "Ireland", "Jamaica", "Kenya", "Kiribati", "Lesotho", "Liberia", "Madagascar", "Malawi", "Mali", "Marshall Islands", "Martinique", "Mayotte", "Mexico", "Micronesia", "Montserrat", "Mozambique", "Namibia", "Netherlands", "New Zealand", "Nicaragua", "Niger", "Nigeria", "Niue", "Northern Ireland", "Palau Islands", "Panama", "Paraguay", "Peru", "Republic of Ireland", "Reunion", "Rwanda", "Saba", "Saint Maarten", "Samoa", "Sao Tome & Principe", "Scotland", "Senegal", "Seychelles", "Sierra Leone", "Solomon Islands", "Somalia", "South Africa", "St. Barthelemy", "St. Eustatius", "St. Kitts and Nevis", "St. Lucia", "St. Martin", "St. Vincent and the Grenadines", "Sudan", "Surinam", "Suriname", "Tahiti", "Tanzania & Zanzibar", "The Gambia", "The Republic of Congo", "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Turks and Caicos Islands", "Tuvalu", "Uganda", "Uruguay", "Venezuela", "Wales", "Zambia", "Zimbabwe"]

Expand Down Expand Up @@ -438,14 +438,20 @@ def stream_to_listitem(stream_url, headers, description, title, icon, fanart, st
listitem.setProperty('inputstream', 'inputstream.adaptive')
else:
listitem.setProperty('inputstreamaddon', 'inputstream.adaptive')
# IA manifest_type deprecated in Kodi 20, may eventually need to remove this
# but will need to ensure manifest type can be auto-detected from streams and proxied streams
listitem.setProperty('inputstream.adaptive.manifest_type', 'hls')
listitem.setProperty('inputstream.adaptive.stream_headers', headers)
# IA stream_headers deprecated for manifests in Kodi 20, manifest_headers required in Kodi 21+
if KODI_VERSION >= 20:
listitem.setProperty('inputstream.adaptive.manifest_headers', headers)
listitem.setProperty('inputstream.adaptive.license_key', "|" + headers)

if KODI_VERSION >= 22:
listitem.setProperty('inputstream.adaptive.common_headers', headers)
else:
listitem.setProperty('inputstream.adaptive.stream_headers', headers)
if KODI_VERSION >= 20:
listitem.setProperty('inputstream.adaptive.manifest_headers', headers)

if KODI_VERSION >= 22:
listitem.setProperty('inputstream.adaptive.drm_legacy', '||' + headers)
else:
listitem.setProperty('inputstream.adaptive.manifest_type', 'hls')
listitem.setProperty('inputstream.adaptive.license_key', "|" + headers)

# if not using Kodi's resume function, set the start time
if sys.argv[3] != 'resume:true' and start != '-1':
listitem.setProperty('ResumeTime', start)
Expand Down
Loading
Loading