We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Problem with joj.sk
## Please follow the guide below

- You will be asked some questions and requested to provide some information, please read them **carefully** and answer honestly
- Put an `x` into all the boxes [ ] relevant to your *issue* (like this: `[x]`)
- Use the *Preview* tab to see what your issue will actually look like

---

### Make sure you are using the *latest* version: run `youtube-dl --version` and ensure your version is *2018.11.23*. If it's not, read [this FAQ entry](https://github.com/rg3/youtube-dl/blob/master/README.md#how-do-i-update-youtube-dl) and update. Issues with outdated version will be rejected.
- [x] I've **verified** and **I assure** that I'm running youtube-dl **2018.11.23**

### Before submitting an *issue* make sure you have:
- [x] At least skimmed through the [README](https://github.com/rg3/youtube-dl/blob/master/README.md), **most notably** the [FAQ](https://github.com/rg3/youtube-dl#faq) and [BUGS](https://github.com/rg3/youtube-dl#bugs) sections
- [x] [Searched](https://github.com/rg3/youtube-dl/search?type=Issues) the bugtracker for similar issues including closed ones
- [x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

### What is the purpose of your *issue*?
- [x] Bug report (encountered problems with youtube-dl)
- [ ] Site support request (request for adding support for a new site)
- [ ] Feature request (request for a new functionality)
- [ ] Question
- [ ] Other

---

### The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your *issue*

---

```
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['https://videoportal.joj.sk/som-mama/epizoda/59636-som-mama', '-v']
[debug] Encodings: locale cp1250, fs mbcs, out cp852, pref cp1250
[debug] youtube-dl version 2018.11.23
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.17134
[debug] exe versions: ffmpeg N-69406-ga73c411, ffprobe 3.3.2
[debug] Proxy map: {}
[generic] 59636-som-mama: Requesting header
WARNING: Falling back on generic information extractor.
[generic] 59636-som-mama: Downloading webpage
[generic] 59636-som-mama: Extracting information
[download] Downloading playlist: SOM MAMA | Som mama | Relácie A-Z | Videoportál - najlepšie seriály a relácie TV JOJ
[generic] playlist SOM MAMA | Som mama | Relácie A-Z | Videoportál - najlepšie seriály a relácie TV JOJ: Collected 1 video ids (downloading 1 of them)
[download] Downloading video 1 of 1
[Joj] 1a2dokc: Downloading webpage
[Joj] 1a2dokc: Downloading XML
ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp6bh3thhm\build\youtube_dl\YoutubeDL.py", line 792, in extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp6bh3thhm\build\youtube_dl\extractor\common.py", line 508, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp6bh3thhm\build\youtube_dl\extractor\joj.py", line 95, in _real_extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp6bh3thhm\build\youtube_dl\extractor\common.py", line 1292, in _sort_formats
youtube_dl.utils.ExtractorError: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

```
---

### If the purpose of this *issue* is a *site support request* please provide all kinds of example URLs support for which should be included (replace following example URLs by **yours**):
- Single video: https://videoportal.joj.sk/som-mama/epizoda/59636-som-mama

---

### Description of your *issue*, suggested solution and other information
Downloading is not working.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `youtube_dl/extractor/joj.py`
Content:
```
1 # coding: utf-8
2 from __future__ import unicode_literals
3 
4 import re
5 
6 from .common import InfoExtractor
7 from ..compat import compat_str
8 from ..utils import (
9     int_or_none,
10     js_to_json,
11     try_get,
12 )
13 
14 
15 class JojIE(InfoExtractor):
16     _VALID_URL = r'''(?x)
17                     (?:
18                         joj:|
19                         https?://media\.joj\.sk/embed/
20                     )
21                     (?P<id>[^/?#^]+)
22                 '''
23     _TESTS = [{
24         'url': 'https://media.joj.sk/embed/a388ec4c-6019-4a4a-9312-b1bee194e932',
25         'info_dict': {
26             'id': 'a388ec4c-6019-4a4a-9312-b1bee194e932',
27             'ext': 'mp4',
28             'title': 'NOVÉ BÝVANIE',
29             'thumbnail': r're:^https?://.*\.jpg$',
30             'duration': 3118,
31         }
32     }, {
33         'url': 'https://media.joj.sk/embed/9i1cxv',
34         'only_matching': True,
35     }, {
36         'url': 'joj:a388ec4c-6019-4a4a-9312-b1bee194e932',
37         'only_matching': True,
38     }, {
39         'url': 'joj:9i1cxv',
40         'only_matching': True,
41     }]
42 
43     @staticmethod
44     def _extract_urls(webpage):
45         return [
46             mobj.group('url')
47             for mobj in re.finditer(
48                 r'<iframe\b[^>]+\bsrc=(["\'])(?P<url>(?:https?:)?//media\.joj\.sk/embed/(?:(?!\1).)+)\1',
49                 webpage)]
50 
51     def _real_extract(self, url):
52         video_id = self._match_id(url)
53 
54         webpage = self._download_webpage(
55             'https://media.joj.sk/embed/%s' % video_id, video_id)
56 
57         title = self._search_regex(
58             (r'videoTitle\s*:\s*(["\'])(?P<title>(?:(?!\1).)+)\1',
59              r'<title>(?P<title>[^<]+)'), webpage, 'title',
60             default=None, group='title') or self._og_search_title(webpage)
61 
62         bitrates = self._parse_json(
63             self._search_regex(
64                 r'(?s)bitrates\s*=\s*({.+?});', webpage, 'bitrates',
65                 default='{}'),
66             video_id, transform_source=js_to_json, fatal=False)
67 
68         formats = []
69         for format_url in try_get(bitrates, lambda x: x['mp4'], list) or []:
70             if isinstance(format_url, compat_str):
71                 height = self._search_regex(
72                     r'(\d+)[pP]\.', format_url, 'height', default=None)
73                 formats.append({
74                     'url': format_url,
75                     'format_id': '%sp' % height if height else None,
76                     'height': int(height),
77                 })
78         if not formats:
79             playlist = self._download_xml(
80                 'https://media.joj.sk/services/Video.php?clip=%s' % video_id,
81                 video_id)
82             for file_el in playlist.findall('./files/file'):
83                 path = file_el.get('path')
84                 if not path:
85                     continue
86                 format_id = file_el.get('id') or file_el.get('label')
87                 formats.append({
88                     'url': 'http://n16.joj.sk/storage/%s' % path.replace(
89                         'dat/', '', 1),
90                     'format_id': format_id,
91                     'height': int_or_none(self._search_regex(
92                         r'(\d+)[pP]', format_id or path, 'height',
93                         default=None)),
94                 })
95         self._sort_formats(formats)
96 
97         thumbnail = self._og_search_thumbnail(webpage)
98 
99         duration = int_or_none(self._search_regex(
100             r'videoDuration\s*:\s*(\d+)', webpage, 'duration', fatal=False))
101 
102         return {
103             'id': video_id,
104             'title': title,
105             'thumbnail': thumbnail,
106             'duration': duration,
107             'formats': formats,
108         }
109
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/youtube_dl/extractor/joj.py b/youtube_dl/extractor/joj.py
--- a/youtube_dl/extractor/joj.py
+++ b/youtube_dl/extractor/joj.py
@@ -61,7 +61,7 @@
 
         bitrates = self._parse_json(
             self._search_regex(
-                r'(?s)bitrates\s*=\s*({.+?});', webpage, 'bitrates',
+                r'(?s)(?:src|bitrates)\s*=\s*({.+?});', webpage, 'bitrates',
                 default='{}'),
             video_id, transform_source=js_to_json, fatal=False)

{"golden_diff": "diff --git a/youtube_dl/extractor/joj.py b/youtube_dl/extractor/joj.py\n--- a/youtube_dl/extractor/joj.py\n+++ b/youtube_dl/extractor/joj.py\n@@ -61,7 +61,7 @@\n \r\n         bitrates = self._parse_json(\r\n             self._search_regex(\r\n-                r'(?s)bitrates\\s*=\\s*({.+?});', webpage, 'bitrates',\r\n+                r'(?s)(?:src|bitrates)\\s*=\\s*({.+?});', webpage, 'bitrates',\r\n                 default='{}'),\r\n             video_id, transform_source=js_to_json, fatal=False)\n", "issue": "Problem with joj.sk\n## Please follow the guide below\r\n\r\n- You will be asked some questions and requested to provide some information, please read them **carefully** and answer honestly\r\n- Put an `x` into all the boxes [ ] relevant to your *issue* (like this: `[x]`)\r\n- Use the *Preview* tab to see what your issue will actually look like\r\n\r\n---\r\n\r\n### Make sure you are using the *latest* version: run `youtube-dl --version` and ensure your version is *2018.11.23*. If it's not, read [this FAQ entry](https://github.com/rg3/youtube-dl/blob/master/README.md#how-do-i-update-youtube-dl) and update. Issues with outdated version will be rejected.\r\n- [x] I've **verified** and **I assure** that I'm running youtube-dl **2018.11.23**\r\n\r\n### Before submitting an *issue* make sure you have:\r\n- [x] At least skimmed through the [README](https://github.com/rg3/youtube-dl/blob/master/README.md), **most notably** the [FAQ](https://github.com/rg3/youtube-dl#faq) and [BUGS](https://github.com/rg3/youtube-dl#bugs) sections\r\n- [x] [Searched](https://github.com/rg3/youtube-dl/search?type=Issues) the bugtracker for similar issues including closed ones\r\n- [x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser\r\n\r\n### What is the purpose of your *issue*?\r\n- [x] Bug report (encountered problems with youtube-dl)\r\n- [ ] Site support request (request for adding support for a new site)\r\n- [ ] Feature request (request for a new functionality)\r\n- [ ] Question\r\n- [ ] Other\r\n\r\n---\r\n\r\n### The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your *issue*\r\n\r\n---\r\n\r\n```\r\n[debug] System config: []\r\n[debug] User config: []\r\n[debug] Custom config: []\r\n[debug] Command-line args: ['https://videoportal.joj.sk/som-mama/epizoda/59636-som-mama', '-v']\r\n[debug] Encodings: locale cp1250, fs mbcs, out cp852, pref cp1250\r\n[debug] youtube-dl version 2018.11.23\r\n[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.17134\r\n[debug] exe versions: ffmpeg N-69406-ga73c411, ffprobe 3.3.2\r\n[debug] Proxy map: {}\r\n[generic] 59636-som-mama: Requesting header\r\nWARNING: Falling back on generic information extractor.\r\n[generic] 59636-som-mama: Downloading webpage\r\n[generic] 59636-som-mama: Extracting information\r\n[download] Downloading playlist: SOM MAMA | Som mama | Rel\u00e1cie A-Z | Videoport\u00e1l - najlep\u0161ie seri\u00e1ly a rel\u00e1cie TV JOJ\r\n[generic] playlist SOM MAMA | Som mama | Rel\u00e1cie A-Z | Videoport\u00e1l - najlep\u0161ie seri\u00e1ly a rel\u00e1cie TV JOJ: Collected 1 video ids (downloading 1 of them)\r\n[download] Downloading video 1 of 1\r\n[Joj] 1a2dokc: Downloading webpage\r\n[Joj] 1a2dokc: Downloading XML\r\nERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.\r\nTraceback (most recent call last):\r\n  File \"C:\\Users\\dst\\AppData\\Roaming\\Build archive\\youtube-dl\\rg3\\tmp6bh3thhm\\build\\youtube_dl\\YoutubeDL.py\", line 792, in extract_info\r\n  File \"C:\\Users\\dst\\AppData\\Roaming\\Build archive\\youtube-dl\\rg3\\tmp6bh3thhm\\build\\youtube_dl\\extractor\\common.py\", line 508, in extract\r\n  File \"C:\\Users\\dst\\AppData\\Roaming\\Build archive\\youtube-dl\\rg3\\tmp6bh3thhm\\build\\youtube_dl\\extractor\\joj.py\", line 95, in _real_extract\r\n  File \"C:\\Users\\dst\\AppData\\Roaming\\Build archive\\youtube-dl\\rg3\\tmp6bh3thhm\\build\\youtube_dl\\extractor\\common.py\", line 1292, in _sort_formats\r\nyoutube_dl.utils.ExtractorError: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.\r\n\r\n```\r\n---\r\n\r\n### If the purpose of this *issue* is a *site support request* please provide all kinds of example URLs support for which should be included (replace following example URLs by **yours**):\r\n- Single video: https://videoportal.joj.sk/som-mama/epizoda/59636-som-mama\r\n\r\n---\r\n\r\n### Description of your *issue*, suggested solution and other information\r\nDownloading is not working.\n", "before_files": [{"content": "# coding: utf-8\r\nfrom __future__ import unicode_literals\r\n\r\nimport re\r\n\r\nfrom .common import InfoExtractor\r\nfrom ..compat import compat_str\r\nfrom ..utils import (\r\n    int_or_none,\r\n    js_to_json,\r\n    try_get,\r\n)\r\n\r\n\r\nclass JojIE(InfoExtractor):\r\n    _VALID_URL = r'''(?x)\r\n                    (?:\r\n                        joj:|\r\n                        https?://media\\.joj\\.sk/embed/\r\n                    )\r\n                    (?P<id>[^/?#^]+)\r\n                '''\r\n    _TESTS = [{\r\n        'url': 'https://media.joj.sk/embed/a388ec4c-6019-4a4a-9312-b1bee194e932',\r\n        'info_dict': {\r\n            'id': 'a388ec4c-6019-4a4a-9312-b1bee194e932',\r\n            'ext': 'mp4',\r\n            'title': 'NOV\u00c9 B\u00ddVANIE',\r\n            'thumbnail': r're:^https?://.*\\.jpg$',\r\n            'duration': 3118,\r\n        }\r\n    }, {\r\n        'url': 'https://media.joj.sk/embed/9i1cxv',\r\n        'only_matching': True,\r\n    }, {\r\n        'url': 'joj:a388ec4c-6019-4a4a-9312-b1bee194e932',\r\n        'only_matching': True,\r\n    }, {\r\n        'url': 'joj:9i1cxv',\r\n        'only_matching': True,\r\n    }]\r\n\r\n    @staticmethod\r\n    def _extract_urls(webpage):\r\n        return [\r\n            mobj.group('url')\r\n            for mobj in re.finditer(\r\n                r'<iframe\\b[^>]+\\bsrc=([\"\\'])(?P<url>(?:https?:)?//media\\.joj\\.sk/embed/(?:(?!\\1).)+)\\1',\r\n                webpage)]\r\n\r\n    def _real_extract(self, url):\r\n        video_id = self._match_id(url)\r\n\r\n        webpage = self._download_webpage(\r\n            'https://media.joj.sk/embed/%s' % video_id, video_id)\r\n\r\n        title = self._search_regex(\r\n            (r'videoTitle\\s*:\\s*([\"\\'])(?P<title>(?:(?!\\1).)+)\\1',\r\n             r'<title>(?P<title>[^<]+)'), webpage, 'title',\r\n            default=None, group='title') or self._og_search_title(webpage)\r\n\r\n        bitrates = self._parse_json(\r\n            self._search_regex(\r\n                r'(?s)bitrates\\s*=\\s*({.+?});', webpage, 'bitrates',\r\n                default='{}'),\r\n            video_id, transform_source=js_to_json, fatal=False)\r\n\r\n        formats = []\r\n        for format_url in try_get(bitrates, lambda x: x['mp4'], list) or []:\r\n            if isinstance(format_url, compat_str):\r\n                height = self._search_regex(\r\n                    r'(\\d+)[pP]\\.', format_url, 'height', default=None)\r\n                formats.append({\r\n                    'url': format_url,\r\n                    'format_id': '%sp' % height if height else None,\r\n                    'height': int(height),\r\n                })\r\n        if not formats:\r\n            playlist = self._download_xml(\r\n                'https://media.joj.sk/services/Video.php?clip=%s' % video_id,\r\n                video_id)\r\n            for file_el in playlist.findall('./files/file'):\r\n                path = file_el.get('path')\r\n                if not path:\r\n                    continue\r\n                format_id = file_el.get('id') or file_el.get('label')\r\n                formats.append({\r\n                    'url': 'http://n16.joj.sk/storage/%s' % path.replace(\r\n                        'dat/', '', 1),\r\n                    'format_id': format_id,\r\n                    'height': int_or_none(self._search_regex(\r\n                        r'(\\d+)[pP]', format_id or path, 'height',\r\n                        default=None)),\r\n                })\r\n        self._sort_formats(formats)\r\n\r\n        thumbnail = self._og_search_thumbnail(webpage)\r\n\r\n        duration = int_or_none(self._search_regex(\r\n            r'videoDuration\\s*:\\s*(\\d+)', webpage, 'duration', fatal=False))\r\n\r\n        return {\r\n            'id': video_id,\r\n            'title': title,\r\n            'thumbnail': thumbnail,\r\n            'duration': duration,\r\n            'formats': formats,\r\n        }\r\n", "path": "youtube_dl/extractor/joj.py"}], "after_files": [{"content": "# coding: utf-8\r\nfrom __future__ import unicode_literals\r\n\r\nimport re\r\n\r\nfrom .common import InfoExtractor\r\nfrom ..compat import compat_str\r\nfrom ..utils import (\r\n    int_or_none,\r\n    js_to_json,\r\n    try_get,\r\n)\r\n\r\n\r\nclass JojIE(InfoExtractor):\r\n    _VALID_URL = r'''(?x)\r\n                    (?:\r\n                        joj:|\r\n                        https?://media\\.joj\\.sk/embed/\r\n                    )\r\n                    (?P<id>[^/?#^]+)\r\n                '''\r\n    _TESTS = [{\r\n        'url': 'https://media.joj.sk/embed/a388ec4c-6019-4a4a-9312-b1bee194e932',\r\n        'info_dict': {\r\n            'id': 'a388ec4c-6019-4a4a-9312-b1bee194e932',\r\n            'ext': 'mp4',\r\n            'title': 'NOV\u00c9 B\u00ddVANIE',\r\n            'thumbnail': r're:^https?://.*\\.jpg$',\r\n            'duration': 3118,\r\n        }\r\n    }, {\r\n        'url': 'https://media.joj.sk/embed/9i1cxv',\r\n        'only_matching': True,\r\n    }, {\r\n        'url': 'joj:a388ec4c-6019-4a4a-9312-b1bee194e932',\r\n        'only_matching': True,\r\n    }, {\r\n        'url': 'joj:9i1cxv',\r\n        'only_matching': True,\r\n    }]\r\n\r\n    @staticmethod\r\n    def _extract_urls(webpage):\r\n        return [\r\n            mobj.group('url')\r\n            for mobj in re.finditer(\r\n                r'<iframe\\b[^>]+\\bsrc=([\"\\'])(?P<url>(?:https?:)?//media\\.joj\\.sk/embed/(?:(?!\\1).)+)\\1',\r\n                webpage)]\r\n\r\n    def _real_extract(self, url):\r\n        video_id = self._match_id(url)\r\n\r\n        webpage = self._download_webpage(\r\n            'https://media.joj.sk/embed/%s' % video_id, video_id)\r\n\r\n        title = self._search_regex(\r\n            (r'videoTitle\\s*:\\s*([\"\\'])(?P<title>(?:(?!\\1).)+)\\1',\r\n             r'<title>(?P<title>[^<]+)'), webpage, 'title',\r\n            default=None, group='title') or self._og_search_title(webpage)\r\n\r\n        bitrates = self._parse_json(\r\n            self._search_regex(\r\n                r'(?s)(?:src|bitrates)\\s*=\\s*({.+?});', webpage, 'bitrates',\r\n                default='{}'),\r\n            video_id, transform_source=js_to_json, fatal=False)\r\n\r\n        formats = []\r\n        for format_url in try_get(bitrates, lambda x: x['mp4'], list) or []:\r\n            if isinstance(format_url, compat_str):\r\n                height = self._search_regex(\r\n                    r'(\\d+)[pP]\\.', format_url, 'height', default=None)\r\n                formats.append({\r\n                    'url': format_url,\r\n                    'format_id': '%sp' % height if height else None,\r\n                    'height': int(height),\r\n                })\r\n        if not formats:\r\n            playlist = self._download_xml(\r\n                'https://media.joj.sk/services/Video.php?clip=%s' % video_id,\r\n                video_id)\r\n            for file_el in playlist.findall('./files/file'):\r\n                path = file_el.get('path')\r\n                if not path:\r\n                    continue\r\n                format_id = file_el.get('id') or file_el.get('label')\r\n                formats.append({\r\n                    'url': 'http://n16.joj.sk/storage/%s' % path.replace(\r\n                        'dat/', '', 1),\r\n                    'format_id': format_id,\r\n                    'height': int_or_none(self._search_regex(\r\n                        r'(\\d+)[pP]', format_id or path, 'height',\r\n                        default=None)),\r\n                })\r\n        self._sort_formats(formats)\r\n\r\n        thumbnail = self._og_search_thumbnail(webpage)\r\n\r\n        duration = int_or_none(self._search_regex(\r\n            r'videoDuration\\s*:\\s*(\\d+)', webpage, 'duration', fatal=False))\r\n\r\n        return {\r\n            'id': video_id,\r\n            'title': title,\r\n            'thumbnail': thumbnail,\r\n            'duration': duration,\r\n            'formats': formats,\r\n        }\r\n", "path": "youtube_dl/extractor/joj.py"}]}