Re: Rudimentary support for HTML5 media elements

أحمد المحمودي <[email protected]> Sat, 7 Aug 2010 21:56:05 +0300
Newsgroups gmane.comp.web.links
Message-ID <[email protected]>
--===============0645693987==
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="5G06lTa6Jq83wMTw"
Content-Disposition: inline


--5G06lTa6Jq83wMTw
Content-Type: multipart/mixed; boundary="Bn2rw/3z4jIqBvZU"
Content-Disposition: inline


--Bn2rw/3z4jIqBvZU
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Aug 07, 2010 at 09:04:36PM +0300, Timo Juhani Lindfors wrote:
> Here too, you should use git so that people don't need to download 7
> megabytes to see your changes :-)
---end quoted text---

--=20
 =E2=80=8E=D8=A3=D8=AD=D9=85=D8=AF =D8=A7=D9=84=D9=85=D8=AD=D9=85=D9=88=D8=
=AF=D9=8A (Ahmed El-Mahmoudy)
  Digital design engineer
 GPG KeyID: 0xEDDDA1B7
 GPG Fingerprint: 8206 A196 2084 7E6D 0DF8  B176 BC19 6A94 EDDD A1B7

--Bn2rw/3z4jIqBvZU
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="html5.diff"
Content-Transfer-Encoding: quoted-printable

Description: Make use of the HTML5 media elements
 A link is inserted, that, when activated (via enter key or mouse click), g=
ives
 you a choice between downloading the file to disk or viewing it in your
 favorite media player (probably with AAlib output enabled)
Origin: http://blog.dieweltistgarnichtso.net/html5-media-elements-in-elinks
Forwarded: yes
Author: Nils Dagsson Moskopp <[email protected]>
--- a/src/document/html/parser/link.c
+++ b/src/document/html/parser/link.c
@@ -407,6 +407,27 @@
 	mem_free(code);
 }
=20
+void
+html_audio(struct html_context *html_context, unsigned char *a,
+            unsigned char *xxx3, unsigned char *xxx4, unsigned char **xxx5)
+{
+	unsigned char *url;
+
+	/* This just places a link where a audio element would be. */
+
+	url =3D get_url_val(a, "src", html_context->doc_cp);
+	if (!url) return;
+
+	html_focusable(html_context, a);
+
+	put_link_line("Audio: ", basename(url), url,
+              html_context->options->framename, html_context);
+
+	html_skip(html_context, a);
+
+	mem_free(url);
+}
+
 static void
 html_iframe_do(unsigned char *a, unsigned char *object_src,
                struct html_context *html_context)
@@ -530,7 +551,26 @@
 	mem_free_set(&object_src, NULL);
 }
=20
+void
+html_video(struct html_context *html_context, unsigned char *a,
+            unsigned char *xxx3, unsigned char *xxx4, unsigned char **xxx5)
+{
+	unsigned char *url;
+
+	/* This just places a link where a video element would be. */
+
+	url =3D get_url_val(a, "src", html_context->doc_cp);
+	if (!url) return;
=20
+	html_focusable(html_context, a);
+
+	put_link_line("Video: ", basename(url), url,
+              html_context->options->framename, html_context);
+
+	html_skip(html_context, a);
+
+	mem_free(url);
+}
=20
 /* Link types:
=20
--- a/src/document/html/parser/link.h
+++ b/src/document/html/parser/link.h
@@ -14,6 +14,8 @@
 element_handler_T html_img;
 element_handler_T html_link;
 element_handler_T html_object;
+element_handler_T html_audio;
+element_handler_T html_video;
 element_handler_T html_embed;
=20
 #endif
--- a/src/document/html/parser/parse.c
+++ b/src/document/html/parser/parse.c
@@ -429,6 +429,7 @@
  {"ABBR",        html_italic,      NULL,                 0, ET_NESTABLE   =
 },
  {"ADDRESS",     html_address,     NULL,                 2, ET_NESTABLE   =
 },
  {"APPLET",      html_applet,      NULL,                 1, ET_NON_PAIRABL=
E},
+ {"AUDIO",       html_audio,       NULL,                 1, ET_NON_PAIRABL=
E},
  {"B",           html_bold,        NULL,                 0, ET_NESTABLE   =
 },
  {"BASE",        html_base,        NULL,                 0, ET_NON_PAIRABL=
E},
  {"BASEFONT",    html_font,        NULL,                 0, ET_NON_PAIRABL=
E},
@@ -496,6 +497,7 @@
  {"TT",          html_tt,          NULL,                 0, ET_NON_NESTABL=
E},
  {"U",           html_underline,   NULL,                 0, ET_NESTABLE   =
 },
  {"UL",          html_ul,          NULL,                 2, ET_NESTABLE   =
 },
+ {"VIDEO",       html_video,       NULL,                 1, ET_NON_PAIRABL=
E},
  {"XMP",         html_xmp,         html_xmp_close,       2, ET_NESTABLE   =
 },
  {NULL,          NULL,             NULL,                 0, ET_NESTABLE   =
 },
 };

--Bn2rw/3z4jIqBvZU--

--5G06lTa6Jq83wMTw
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iQEcBAEBCAAGBQJMXaxFAAoJELwZapTt3aG3BfoH/jECBJGwOOt0MFVewLTKBkoB
oZKEAIp/P+mDtBgXGWtOo2Glev3YiG9vUdsinPKnn6W0iylXxzCQHKRmzR+jMNZP
01DSJKPHtIIpUR4NHNvjerhpdWE1cDv7s26GiWwRweFe+vUL1w7b1nmbCZmkP2fU
pvdhN+GMvVN7kJWW/CMkdyovXqCBWr36lmTTHxgCON0+5ocND4RORbnto1TRJzcn
uslcenlMjti/Yi60xv+zzwxcblDGirvSOBIX2S7kwexVS9UL4SbRgd3S2xj3JRoC
jNi88NkXKruVY/HDdgDSXpOUM1ocwQV2DNDxPi5uU+IaA7mItz36V4UY+eg/ot8=
=5wS/
-----END PGP SIGNATURE-----

--5G06lTa6Jq83wMTw--

--===============0645693987==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
elinks-dev mailing list
[email protected]
http://linuxfromscratch.org/mailman/listinfo/elinks-dev

--===============0645693987==--