Function: shr-tag-video
shr-tag-video is a byte-compiled function defined in shr.el.gz.
Signature
(shr-tag-video DOM)
Source Code
;; Defined in /usr/src/emacs/lisp/net/shr.el.gz
(defun shr-tag-video (dom)
(let ((image (dom-attr dom 'poster))
(url (dom-attr dom 'src))
(start (point)))
(unless url
(setq url (car (shr--extract-best-source dom))))
(if (and shr-use-xwidgets-for-media
(fboundp 'make-xwidget))
;; Play the video.
(progn
(require 'xwidget)
(let ((widget (make-xwidget
'webkit
"Video"
(truncate (* (window-pixel-width) 0.8))
(truncate (* (window-pixel-width) 0.8 0.75)))))
(insert
(propertize
" [video] "
'display (list 'xwidget :xwidget widget)))
(xwidget-webkit-execute-script
widget (format "document.body.innerHTML = %S;"
(format
"<style>body { margin: 0px; }</style><div style='background: black; height: 100%%; display: flex; align-items: center; justify-content: center;'><video autoplay loop muted controls style='max-width: 100%%; max-height: 100%%;'><source src=%S type='video/mp4'></source></video></div>"
url)))))
;; No xwidgets.
(if (> (length image) 0)
(shr-indirect-call 'img nil image)
(shr-insert " [video] "))
(shr-urlify start (shr-expand-url url)))))