You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by ts...@apache.org on 2016/05/03 21:47:18 UTC

wicket git commit: WICKET-6160

Repository: wicket
Updated Branches:
  refs/heads/wicket-7.x b56756314 -> b3c813c5c


WICKET-6160

Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/b3c813c5
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/b3c813c5
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/b3c813c5

Branch: refs/heads/wicket-7.x
Commit: b3c813c5ceeb06095438d51f467cf9df7b8404ec
Parents: b567563
Author: Tobias Soloschenko <ts...@apache.org>
Authored: Tue May 3 21:45:20 2016 +0200
Committer: Tobias Soloschenko <ts...@apache.org>
Committed: Tue May 3 21:46:21 2016 +0200

----------------------------------------------------------------------
 .../markup/html/media/MediaComponent.java       | 69 ++++++++++++++++++++
 .../org/apache/wicket/examples/media/Home.css   |  4 +-
 .../org/apache/wicket/examples/media/Home.html  |  2 +-
 .../org/apache/wicket/examples/media/Home.java  | 39 +++++------
 4 files changed, 90 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/b3c813c5/wicket-core/src/main/java/org/apache/wicket/markup/html/media/MediaComponent.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/media/MediaComponent.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/media/MediaComponent.java
index 88a6076..cb1b4cf 100755
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/media/MediaComponent.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/media/MediaComponent.java
@@ -128,6 +128,8 @@ public abstract class MediaComponent extends WebMarkupContainer
 
 	private Cors crossOrigin;
 
+	private String type;
+
 	private PageParameters pageParameters;
 
 	private final ResourceReference resourceReference;
@@ -337,6 +339,12 @@ public abstract class MediaComponent extends WebMarkupContainer
 		{
 			tag.put("crossorigin", cors.getRealName());
 		}
+
+		String type = getType();
+		if (type != null)
+		{
+			tag.put("type", type);
+		}
 	}
 
 	/**
@@ -608,4 +616,65 @@ public abstract class MediaComponent extends WebMarkupContainer
 	{
 		this.crossOrigin = crossOrigin;
 	}
+
+	/**
+	 * Gets the type
+	 *
+	 * @see {@link #setType(String)}
+	 *
+	 * @return the type of this media element
+	 */
+	public String getType()
+	{
+		return type;
+	}
+
+	/**
+	 * Sets the type<br>
+	 * <br>
+	 *
+	 * * The following list shows some examples of how to use the codecs= MIME parameter in the type
+	 * attribute.<br>
+	 * <br>
+	 *
+	 * H.264 Constrained baseline profile video (main and extended video compatible) level 3 and
+	 * Low-Complexity AAC audio in MP4 container<br>
+	 * &lt;source src='video.mp4' <b>type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'</b>&gt;<br>
+	 * H.264 Extended profile video (baseline-compatible) level 3 and Low-Complexity AAC audio in
+	 * MP4 container<br>
+	 * &lt;source src='video.mp4' <b>type='video/mp4; codecs="avc1.58A01E, mp4a.40.2"'</b>&gt;<br>
+	 * H.264 Main profile video level 3 and Low-Complexity AAC audio in MP4 container<br>
+	 * &lt;source src='video.mp4' <b>type='video/mp4; codecs="avc1.4D401E, mp4a.40.2"'</b>&gt;<br>
+	 * H.264 'High' profile video (incompatible with main, baseline, or extended profiles) level 3
+	 * and Low-Complexity AAC audio in MP4 container<br>
+	 * &lt;source src='video.mp4' <b>type='video/mp4; codecs="avc1.64001E, mp4a.40.2"'</b>&gt;<br>
+	 * MPEG-4 Visual Simple Profile Level 0 video and Low-Complexity AAC audio in MP4 container<br>
+	 * &lt;source src='video.mp4' <b>type='video/mp4; codecs="mp4v.20.8, mp4a.40.2"'</b>&gt;<br>
+	 * MPEG-4 Advanced Simple Profile Level 0 video and Low-Complexity AAC audio in MP4 container
+	 * <br>
+	 * &lt;source src='video.mp4' <b>type='video/mp4; codecs="mp4v.20.240, mp4a.40.2"'</b>&gt;<br>
+	 * MPEG-4 Visual Simple Profile Level 0 video and AMR audio in 3GPP container<br>
+	 * &lt;source src='video.3gp' <b>type='video/3gpp; codecs="mp4v.20.8, samr"'</b>&gt;<br>
+	 * Theora video and Vorbis audio in Ogg container<br>
+	 * &lt;source src='video.ogv' <b>type='video/ogg; codecs="theora, vorbis"'</b>&gt;<br>
+	 * Theora video and Speex audio in Ogg container<br>
+	 * &lt;source src='video.ogv' <b>type='video/ogg; codecs="theora, speex"'</b>&gt;<br>
+	 * Vorbis audio alone in Ogg container<br>
+	 * &lt;source src='audio.ogg' <b>type='audio/ogg; codecs=vorbis'</b>&gt;<br>
+	 * Speex audio alone in Ogg container<br>
+	 * &lt;source src='audio.spx' <b>type='audio/ogg; codecs=speex'</b>&gt;<br>
+	 * FLAC audio alone in Ogg container<br>
+	 * &lt;source src='audio.oga' <b>type='audio/ogg; codecs=flac'</b>&gt;<br>
+	 * Dirac video and Vorbis audio in Ogg container<br>
+	 * &lt;source src='video.ogv' <b>type='video/ogg; codecs="dirac, vorbis"'</b>&gt;<br>
+	 * Theora video and Vorbis audio in Matroska container<br>
+	 * &lt;source src='video.mkv' <b>type='video/x-matroska; codecs="theora, vorbis"'</b>&gt;<br>
+	 *
+	 * @param type
+	 *            the type of this media element
+	 */
+	public void setType(String type)
+	{
+		this.type = type;
+	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/b3c813c5/wicket-examples/src/main/java/org/apache/wicket/examples/media/Home.css
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/media/Home.css b/wicket-examples/src/main/java/org/apache/wicket/examples/media/Home.css
index 45dee80..7240ca4 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/media/Home.css
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/media/Home.css
@@ -16,14 +16,14 @@
  */
 video{
 	float:left;
-	height:240px;
+	height:auto;
 	width:320px;
 	margin-bottom:10px;
 	margin-right:10px;
 }
 .videoDescription{
 	float:left;
-	height:240px;
+	height:auto;
 	width:300px;
 	margin-bottom:10px;
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/b3c813c5/wicket-examples/src/main/java/org/apache/wicket/examples/media/Home.html
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/media/Home.html b/wicket-examples/src/main/java/org/apache/wicket/examples/media/Home.html
index 4a1725d..80baf05 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/media/Home.html
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/media/Home.html
@@ -22,7 +22,7 @@
 
 		<!-- Video 3 -->
 		<video wicket:id="video3" ></video>
-		<div class="videoDescription"><b>Video3</b><br/>The last sample shows a remote video located here: http://media.w3.org/2010/05/video/movie_300.mp4. It can be added by set the url as String instead of adding a ResourceReference.</div>
+		<div class="videoDescription"><b>Video3</b><br/>The last sample shows a remote video located here: https://w3c-test.org/media/movie_300.mp4. It can be added by set the url as String instead of adding a ResourceReference.</div>
 		<div class="clearer"></div>
 	</div>
 </body>

http://git-wip-us.apache.org/repos/asf/wicket/blob/b3c813c5/wicket-examples/src/main/java/org/apache/wicket/examples/media/Home.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/media/Home.java b/wicket-examples/src/main/java/org/apache/wicket/examples/media/Home.java
index d9892f6..2526e19 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/media/Home.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/media/Home.java
@@ -49,13 +49,14 @@ public final class Home extends WicketExamplePage
 	{
 		// Internal video with several options
 
-		Video video1 = new Video("video1", new PackageResourceReference(Home.class,
-			"video1.mp4").readBuffered(false));
+		Video video1 = new Video("video1",
+			new PackageResourceReference(Home.class, "video1.mp4").readBuffered(false));
 		video1.setAutoplay(false);
 		video1.setControls(true);
 		video1.setLooping(false);
 		video1.setWidth(320);
 		video1.setHeight(240);
+		video1.setType("video/mp4");
 		video1.setPoster(new PackageResourceReference(Home.class, "novideo.gif"));
 		add(video1);
 
@@ -64,12 +65,12 @@ public final class Home extends WicketExamplePage
 		Video video2 = new Video("video2");
 		video2.setPoster(new PackageResourceReference(Home.class, "novideo.gif"));
 
-		Source source2 = new Source("source2", new PackageResourceReference(Home.class,
-			"video2.mp4"));
+		Source source2 = new Source("source2",
+			new PackageResourceReference(Home.class, "video2.mp4"));
 		// Need to be set to true to show the type
 		source2.setDisplayType(true);
 		// the default type is the mime type of the image with no codec information
-		source2.setType("video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\"");
+		source2.setType("video/mp4; codecs='avc1.42E01E, mp4a.40.2'");
 		video2.add(source2);
 
 		add(video2);
@@ -78,27 +79,23 @@ public final class Home extends WicketExamplePage
 		PageParameters pageParameters = new PageParameters();
 		pageParameters.add("random", UUID.randomUUID().toString());
 		pageParameters.add("test", "test");
-		Video video3 = new Video("video3", "http://media.w3.org/2010/05/video/movie_300.mp4",
+		Video video3 = new Video("video3", "https://w3c-test.org/media/movie_300.mp4",
 			pageParameters);
 		video3.setPoster(new PackageResourceReference(Home.class, "novideo.gif"));
+		video3.setType("video/mp4");
 		add(video3);
 
 		/*
-		 * // video with track
-		 * Video video4 = new Video("video4", new PackageResourceReference(Home.class, "dummyVideo.m4a"));
+		 * // video with track Video video4 = new Video("video4", new
+		 * PackageResourceReference(Home.class, "dummyVideo.m4a"));
 		 *
-		 * // source tag
-		 * Source source4 = new Source("source4", "http://www.mytestpage.xc/video.m4a");
-		 * source4.setMedia("screen and (device-width:500px)");
-		 * source4.setType("video/mp4");
-		 * source4.setDisplayType(true); video4.add(source4);
+		 * // source tag Source source4 = new Source("source4",
+		 * "http://www.mytestpage.xc/video.m4a"); source4.setMedia("screen and (device-width:500px)"
+		 * ); source4.setType("video/mp4"); source4.setDisplayType(true); video4.add(source4);
 		 *
-		 * // tack tag
-		 * Track track4 = new Track("track4", new PackageResourceReference(Home.class, "dummySubtitles.vtt"));
-		 * track4.setKind(Kind.subtitles);
-		 * track4.setLabel("Subtitles of video");
-		 * track4.setSrclang(Locale.GERMANY);
-		 * track4.setDefaultTrack(true);
+		 * // tack tag Track track4 = new Track("track4", new PackageResourceReference(Home.class,
+		 * "dummySubtitles.vtt")); track4.setKind(Kind.subtitles); track4.setLabel(
+		 * "Subtitles of video"); track4.setSrclang(Locale.GERMANY); track4.setDefaultTrack(true);
 		 * video4.add(track4);
 		 *
 		 * add(video4);
@@ -109,7 +106,7 @@ public final class Home extends WicketExamplePage
 	public void renderHead(IHeaderResponse response)
 	{
 		super.renderHead(response);
-		response.render(CssHeaderItem.forReference(new PackageResourceReference(Home.class,
-			"Home.css")));
+		response.render(
+			CssHeaderItem.forReference(new PackageResourceReference(Home.class, "Home.css")));
 	}
 }