From bda25c5196dc3ebcab8e4e0958ab8f12ba5ca06c Mon Sep 17 00:00:00 2001
From: selfisekai <today@selfisekai.rocks>
Date: Mon, 6 Jul 2020 23:35:20 +0200
Subject: [PATCH 1/3] [tvp] new video id regex

---
 youtube_dl/extractor/tvp.py | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/youtube_dl/extractor/tvp.py b/youtube_dl/extractor/tvp.py
index accff75b5..95db57c83 100644
--- a/youtube_dl/extractor/tvp.py
+++ b/youtube_dl/extractor/tvp.py
@@ -48,6 +48,14 @@ class TVPIE(InfoExtractor):
             'description': 'Wydanie główne codziennego serwisu informacyjnego.'
         },
         'skip': 'HTTP Error 404: Not Found',
+    }, {
+        'url': 'https://wiadomosci.tvp.pl/48836336/medialne-hieny-atakuja-prezydenta-polski',
+        'info_dict': {
+            'id': '48836336',
+            'ext': 'mp4',
+            'title': 'Wiadomości, Medialne hieny atakują prezydenta Polski',
+            'description': 'md5:d5dd389dfd65e2ed02b3a176b53fabd3',
+        },
     }, {
         'url': 'http://vod.tvp.pl/seriale/obyczajowe/na-sygnale/sezon-2-27-/odc-39/17834272',
         'only_matching': True,
@@ -72,6 +80,7 @@ class TVPIE(InfoExtractor):
         page_id = self._match_id(url)
         webpage = self._download_webpage(url, page_id)
         video_id = self._search_regex([
+            r'/sess/TVPlayer2/embed\.php\?ID=(\d+)',
             r'<iframe[^>]+src="[^"]*?object_id=(\d+)',
             r"object_id\s*:\s*'(\d+)'",
             r'data-video-id="(\d+)"'], webpage, 'video id', default=page_id)
@@ -197,7 +206,6 @@ class TVPEmbedIE(InfoExtractor):
             'formats': formats,
         }
 
-
 class TVPWebsiteIE(InfoExtractor):
     IE_NAME = 'tvp:series'
     _VALID_URL = r'https?://vod\.tvp\.pl/website/(?P<display_id>[^,]+),(?P<id>\d+)'

From dff921f6e1a4d93c2c3bd0730cd669ca7e689004 Mon Sep 17 00:00:00 2001
From: selfisekai <today@selfisekai.rocks>
Date: Mon, 6 Jul 2020 23:51:27 +0200
Subject: [PATCH 2/3] [tvp] fix and test for tvpparlament.pl

---
 youtube_dl/extractor/tvp.py | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/youtube_dl/extractor/tvp.py b/youtube_dl/extractor/tvp.py
index 95db57c83..9c7bf40e6 100644
--- a/youtube_dl/extractor/tvp.py
+++ b/youtube_dl/extractor/tvp.py
@@ -17,7 +17,7 @@ from ..utils import (
 class TVPIE(InfoExtractor):
     IE_NAME = 'tvp'
     IE_DESC = 'Telewizja Polska'
-    _VALID_URL = r'https?://[^/]+\.tvp\.(?:pl|info)/(?:video/(?:[^,\s]*,)*|(?:(?!\d+/)[^/]+/)*)(?P<id>\d+)'
+    _VALID_URL = r'https?://[^/]+\.(?:tvp(?:parlament)?\.(?:pl|info))/(?:video/(?:[^,\s]*,)*|(?:(?!\d+/)[^/]+/)*)(?P<id>\d+)'
 
     _TESTS = [{
         'url': 'https://vod.tvp.pl/video/czas-honoru,i-seria-odc-13,194536',
@@ -56,6 +56,14 @@ class TVPIE(InfoExtractor):
             'title': 'Wiadomości, Medialne hieny atakują prezydenta Polski',
             'description': 'md5:d5dd389dfd65e2ed02b3a176b53fabd3',
         },
+    }, {
+        'url': 'https://www.tvpparlament.pl/retransmisje-vod/inne/podpisanie-przez-prezydenta-andrzeja-dude-projektu-zmiany-konstytucji-rp/48837669',
+        'info_dict': {
+            'id': '48837669',
+            'ext': 'mp4',
+            'title': 'Podpisanie przez prezydenta Andrzeja Dudę projektu zmiany Konstytucji RP',
+            'description': 'md5:bfe1ec8eb4b9f0b0926afa561735d8f9',
+        }
     }, {
         'url': 'http://vod.tvp.pl/seriale/obyczajowe/na-sygnale/sezon-2-27-/odc-39/17834272',
         'only_matching': True,
@@ -206,6 +214,7 @@ class TVPEmbedIE(InfoExtractor):
             'formats': formats,
         }
 
+
 class TVPWebsiteIE(InfoExtractor):
     IE_NAME = 'tvp:series'
     _VALID_URL = r'https?://vod\.tvp\.pl/website/(?P<display_id>[^,]+),(?P<id>\d+)'

From fcb1d2bf1f15610b0c7343c957fa0f76955d94f1 Mon Sep 17 00:00:00 2001
From: selfisekai <today@selfisekai.rocks>
Date: Tue, 7 Jul 2020 10:32:37 +0200
Subject: [PATCH 3/3] [tvp] live stream extracting

---
 youtube_dl/extractor/tvp.py | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/youtube_dl/extractor/tvp.py b/youtube_dl/extractor/tvp.py
index 9c7bf40e6..21f35fe29 100644
--- a/youtube_dl/extractor/tvp.py
+++ b/youtube_dl/extractor/tvp.py
@@ -17,7 +17,7 @@ from ..utils import (
 class TVPIE(InfoExtractor):
     IE_NAME = 'tvp'
     IE_DESC = 'Telewizja Polska'
-    _VALID_URL = r'https?://[^/]+\.(?:tvp(?:parlament)?\.(?:pl|info))/(?:video/(?:[^,\s]*,)*|(?:(?!\d+/)[^/]+/)*)(?P<id>\d+)'
+    _VALID_URL = r'https?://[^/]+\.(?:tvp(?:parlament)?\.(?:pl|info))/(?:video/(?:[^,\s]*,)*|(?:(?!\d+/)[^/]+/)*|(?:tvplayer)?\?channel_id=)(?P<id>\d+)'
 
     _TESTS = [{
         'url': 'https://vod.tvp.pl/video/czas-honoru,i-seria-odc-13,194536',
@@ -64,6 +64,23 @@ class TVPIE(InfoExtractor):
             'title': 'Podpisanie przez prezydenta Andrzeja Dudę projektu zmiany Konstytucji RP',
             'description': 'md5:bfe1ec8eb4b9f0b0926afa561735d8f9',
         }
+    }, {
+        # live stream, TVPlayer2
+        'url': 'https://tvpstream.vod.tvp.pl/?channel_id=1455',
+        'info_dict': {
+            'id': '14812849',
+            'ext': 'm3u8',
+            'title': 'TVP INFO',
+            'description': 'Oglądaj online wybrane kanały TVP! Nie przegap najnowszych informacji, transmisji sportowych i kanałów tematycznych.',
+        },
+    }, {
+        # live stream, legacy TVPlayer
+        'url': 'https://www.tvp.pl/tvplayer?channel_id=5264139',
+        'info_dict': {
+            'id': '17251711',
+            'ext': 'm3u8',
+            'title': 'TV Belsat',
+        },
     }, {
         'url': 'http://vod.tvp.pl/seriale/obyczajowe/na-sygnale/sezon-2-27-/odc-39/17834272',
         'only_matching': True,
@@ -100,6 +117,7 @@ class TVPIE(InfoExtractor):
                 'description', webpage, default=None),
             'thumbnail': self._og_search_thumbnail(webpage, default=None),
             'ie_key': 'TVPEmbed',
+            'is_live': True if 'channel_id' in url else False,
         }