Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
 Tue Mar 14 03:59:48 2017
@@ -25,7 +25,6 @@ import static org.apache.openmeetings.we
 import org.apache.openmeetings.db.dao.record.RecordingDao;
 import org.apache.openmeetings.db.dto.record.RecordingContainerData;
 import org.apache.openmeetings.db.entity.file.FileItem;
-import org.apache.openmeetings.db.entity.record.Recording;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.common.AddFolderDialog;
 import org.apache.openmeetings.web.common.UserPanel;
@@ -62,8 +61,8 @@ public class RecordingsPanel extends Use
 
                        @Override
                        protected void update(AjaxRequestTarget target, 
FileItem f) {
-                               video.update(target, (Recording)f);
-                               info.update(target, (Recording)f);
+                               video.update(target, f);
+                               info.update(target, f);
                        }
                });
                add(video, info, addFolder);

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
 Tue Mar 14 03:59:48 2017
@@ -32,6 +32,7 @@ import org.apache.openmeetings.core.conv
 import org.apache.openmeetings.core.converter.RecordingConverter;
 import org.apache.openmeetings.db.dao.record.RecordingMetaDataDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
+import org.apache.openmeetings.db.entity.file.FileItem;
 import org.apache.openmeetings.db.entity.record.Recording;
 import org.apache.openmeetings.db.entity.record.Recording.Status;
 import org.apache.openmeetings.db.entity.record.RecordingMetaData;
@@ -111,38 +112,41 @@ public class VideoInfo extends Panel {
                update(null, r);
        }
 
-       public VideoInfo update(AjaxRequestTarget target, Recording _r) {
-               Recording r = _r == null ? new Recording() : _r;
-               rm.setObject(r);
-               try {
-                       String name = null;
-                       if (r.getRoomId() != null) {
-                               Room room = 
getBean(RoomDao.class).get(r.getRoomId());
-                               if (room != null) {
-                                       name = room.getName();
-                                       isInterview = Room.Type.interview == 
room.getType();
+       public VideoInfo update(AjaxRequestTarget target, FileItem _r) {
+               boolean reConvEnabled = false;
+               boolean exists = false;
+               if (_r instanceof Recording) {
+                       Recording r = _r == null ? new Recording() : 
(Recording)_r;
+                       rm.setObject(r);
+                       exists = r.exists();
+                       try {
+                               String name = null;
+                               if (r.getRoomId() != null) {
+                                       Room room = 
getBean(RoomDao.class).get(r.getRoomId());
+                                       if (room != null) {
+                                               name = room.getName();
+                                               isInterview = 
Room.Type.interview == room.getType();
+                                       }
                                }
+                               roomName.setObject(name);
+                       } catch (Exception e) {
+                               //no-op
                        }
-                       roomName.setObject(name);
-               } catch (Exception e) {
-                       //no-op
-               }
 
-               boolean reConvEnabled = false;
-               if (r.getOwnerId() != null && 
r.getOwnerId().equals(getUserId()) && r.getStatus() != Status.RECORDING && 
r.getStatus() != Status.CONVERTING) {
-                       List<RecordingMetaData> metas = 
getBean(RecordingMetaDataDao.class).getByRecording(r.getId());
-                       reconvLabel:
-                       if (!metas.isEmpty()) {
-                               for (RecordingMetaData meta : metas) {
-                                       if (r.getRoomId() == null || 
!getRecordingMetaData(r.getRoomId(), meta.getStreamName()).exists()) {
-                                               break reconvLabel;
+                       if (r.getOwnerId() != null && 
r.getOwnerId().equals(getUserId()) && r.getStatus() != Status.RECORDING && 
r.getStatus() != Status.CONVERTING) {
+                               List<RecordingMetaData> metas = 
getBean(RecordingMetaDataDao.class).getByRecording(r.getId());
+                               reconvLabel:
+                               if (!metas.isEmpty()) {
+                                       for (RecordingMetaData meta : metas) {
+                                               if (r.getRoomId() == null || 
!getRecordingMetaData(r.getRoomId(), meta.getStreamName()).exists()) {
+                                                       break reconvLabel;
+                                               }
                                        }
+                                       reConvEnabled = true;
                                }
-                               reConvEnabled = true;
                        }
                }
                reConvert.setEnabled(reConvEnabled);
-               boolean exists = r.exists();
                downloadBtn.setEnabled(exists);
                share.setEnabled(exists);
                if (target != null) {

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoPlayer.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoPlayer.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoPlayer.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoPlayer.java
 Tue Mar 14 03:59:48 2017
@@ -20,76 +20,74 @@ package org.apache.openmeetings.web.user
 
 import static org.apache.openmeetings.util.OmFileHelper.MP4_MIME_TYPE;
 
+import org.apache.openmeetings.db.entity.file.FileItem;
 import org.apache.openmeetings.db.entity.record.Recording;
+import org.apache.openmeetings.web.common.MainPanel;
+import org.apache.openmeetings.web.room.RoomResourceReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.media.Source;
 import org.apache.wicket.markup.html.media.video.Video;
 import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.request.Url;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.request.resource.ResourceReference;
-import org.apache.wicket.request.resource.UrlResourceReference;
 
 public class VideoPlayer extends Panel {
        private static final long serialVersionUID = 1L;
        private final WebMarkupContainer wait = new WebMarkupContainer("wait"); 
//FIXME not used
        private final WebMarkupContainer container = new 
WebMarkupContainer("container");
-       private final Mp4RecordingResourceReference mp4res = new 
Mp4RecordingResourceReference();
-       private final OmVideo player = new OmVideo("player", null);
-       private final Source mp4 = new Source("mp4", mp4res);
+       private final Mp4RecordingResourceReference mp4RecRes = new 
Mp4RecordingResourceReference();
+       private final JpgRecordingResourceReference posterRecRes = new 
JpgRecordingResourceReference();
+       private final RoomResourceReference mp4FileRes = new 
RoomResourceReference();
+       private final RoomResourceReference posterFileRes = new 
RoomResourceReference();
+       private final Video player = new Video("player") {
+               private static final long serialVersionUID = 1L;
+
+               @Override
+               public boolean isAutoplay() {
+                       return false;
+               }
+
+               @Override
+               public boolean hasControls() {
+                       return true;
+               }
+       };
+       private final Source mp4Rec = new Source("mp4", mp4RecRes);
+       private final Source mp4File = new Source("mp4", mp4FileRes);
 
        public VideoPlayer(String id) {
-               this(id, null);
-       }
-       
-       public VideoPlayer(String id, Recording r) {
                super(id);
                add(container.setOutputMarkupPlaceholderTag(true));
-               mp4.setDisplayType(true);
-               mp4.setType(MP4_MIME_TYPE);
-               player.add(mp4);
+               mp4Rec.setDisplayType(true);
+               mp4Rec.setType(MP4_MIME_TYPE);
+               mp4File.setDisplayType(true);
+               mp4File.setType(MP4_MIME_TYPE);
+               player.add(mp4Rec);
                container.add(wait.setVisible(false), player);
-               update(null, r);
+               update(null, null);
        }
-       
-       public VideoPlayer update(AjaxRequestTarget target, Recording r) {
+
+       public VideoPlayer update(AjaxRequestTarget target, FileItem r) {
                boolean videoExists = r != null && r.exists();
                if (videoExists) {
-                       PageParameters pp = new PageParameters().add("id", 
r.getId());
-                       mp4.setPageParameters(pp);
-                       player.recId = r.getId();
+                       PageParameters pp = new PageParameters();
+                       if (r instanceof Recording) {
+                               pp.add("id", r.getId());
+                               mp4Rec.setPageParameters(pp);
+                               player.replace(mp4Rec);
+                               player.setPoster(posterRecRes, pp);
+                       } else {
+                               pp.add("id", r.getId()).add("uid", 
findParent(MainPanel.class).getClient().getUid());
+                               mp4File.setPageParameters(pp);
+                               player.replace(mp4File);
+                               player.setPoster(posterFileRes, new 
PageParameters(pp).add("preview", true));
+                       }
                }
                container.setVisible(videoExists);
                if (target != null) {
                        target.add(container);
                }
-               
+
                return this;
        }
-       
-       private static class OmVideo extends Video {
-               private static final long serialVersionUID = 1L;
-               Long recId = null;
-               
-               OmVideo(String id, Long recId) {
-                       super(id);
-                       this.recId = recId;
-               }
-               
-               @Override
-               public boolean isAutoplay() {
-                       return false;
-               }
-               
-               @Override
-               public boolean hasControls() {
-                       return true;
-               }
-               
-               @Override
-               public ResourceReference getPoster() {
-                       return recId == null ? null : new 
UrlResourceReference(Url.parse("recordings/jpg/" + 
recId)).setContextRelative(true);
-               }
-       }
 }


Reply via email to