From ac0c9c8f9f7c9cd6d2854d42dc095e0013a5f40c Mon Sep 17 00:00:00 2001
From: dirkf <fieldhouse@gmx.net>
Date: Mon, 7 Oct 2024 13:14:16 +0100
Subject: [PATCH] [HentaiStigma] Support new frame format with HTML5 video *
 resolves #25019

---
 youtube_dl/extractor/hentaistigma.py | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/youtube_dl/extractor/hentaistigma.py b/youtube_dl/extractor/hentaistigma.py
index 86a93de4d..c01fe05fd 100644
--- a/youtube_dl/extractor/hentaistigma.py
+++ b/youtube_dl/extractor/hentaistigma.py
@@ -1,6 +1,11 @@
+# coding: utf-8
 from __future__ import unicode_literals
 
 from .common import InfoExtractor
+from ..utils import (
+    merge_dicts,
+    traverse_obj,
+)
 
 
 class HentaiStigmaIE(InfoExtractor):
@@ -24,16 +29,17 @@ class HentaiStigmaIE(InfoExtractor):
         title = self._html_search_regex(
             r'<h2[^>]+class="posttitle"[^>]*><a[^>]*>([^<]+)</a>',
             webpage, 'title')
-        wrap_url = self._html_search_regex(
+
+        wrap_url = self._search_regex(
             r'<iframe[^>]+src="([^"]+mp4)"', webpage, 'wrapper url')
-        wrap_webpage = self._download_webpage(wrap_url, video_id)
 
-        video_url = self._html_search_regex(
-            r'file\s*:\s*"([^"]+)"', wrap_webpage, 'video url')
+        vid_page = self._download_webpage(wrap_url, video_id)
 
-        return {
+        entries = self._parse_html5_media_entries(wrap_url, vid_page, video_id)
+        self._sort_formats(traverse_obj(entries, (0, 'formats')) or [])
+
+        return merge_dicts({
             'id': video_id,
-            'url': video_url,
             'title': title,
             'age_limit': 18,
-        }
+        }, entries[0])