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 <[email protected]>
Authored: Tue May 3 21:45:20 2016 +0200
Committer: Tobias Soloschenko <[email protected]>
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")));
        }
 }

Reply via email to