From 408445cc49f360b979266ea93cf3bcb25a50a8e4 Mon Sep 17 00:00:00 2001 From: guest Date: Mon, 29 Sep 2008 17:27:17 +0000 Subject: fixed crash introtuced in last commit git-svn-id: http://manut.eu/svn/yalp/trunk@7 f059d3a0-6783-47b7-97ff-1fe0bbf25129 --- src/YalpClients/SwtClient/Model.java | 70 +++++++++++++++++++++--------------- 1 file changed, 41 insertions(+), 29 deletions(-) (limited to 'src/YalpClients/SwtClient/Model.java') diff --git a/src/YalpClients/SwtClient/Model.java b/src/YalpClients/SwtClient/Model.java index 3c48615..912a3bb 100755 --- a/src/YalpClients/SwtClient/Model.java +++ b/src/YalpClients/SwtClient/Model.java @@ -48,13 +48,13 @@ public class Model { public ServerControlInterface srvCon; private Process vlcPlayer; - private Output actualStream; - private Output streamInfo; - private ArrayList findMedia; - private ArrayList editMedia; - private ArrayList toPlaylist; - private ArrayList playList; - private ArrayList userList; + private Output actualStream = new Output(); + private Output streamInfo = new Output(); + private ArrayList findMedia = new ArrayList(); + private ArrayList editMedia = new ArrayList(); + private ArrayList toPlaylist = new ArrayList(); + private ArrayList playList = new ArrayList(); + private ArrayList userList = new ArrayList(); private ClientConfiguration settings; private String clientIP; private String curPasswd; @@ -62,7 +62,7 @@ public class Model { private String userName; private Boolean playback = false; private Boolean logoff= false; - private Session session; + private Session session = new Session(); /* * Instances srvConnection to Registry, DbConnection, ServerControl * and VlcStreamer. Also instances Class variables @@ -350,9 +350,9 @@ public class Model { */ public Output createOutput(){ /* t.b.d. former createStream */ - this.streamInfo.outputAction = Action.CREATE; + streamInfo.outputAction = Action.CREATE; Media[] a = {}; - this.streamInfo.playlist = this.playList.toArray(a); + streamInfo.playlist = this.playList.toArray(a); return this.streamInfo; } @@ -374,15 +374,16 @@ public class Model { if (kind == 1){ srvCon.search(request, types.toArray(a), result, err); for(int i = 0; i < result.value.length; i++) - this.findMedia.add(result.value[i]); - return this.findMedia.size(); + findMedia.add(result.value[i]); + return findMedia.size(); } else { srvCon.search(request, types.toArray(a), result, err); for(int i = 0; i < result.value.length; i++) - this.editMedia.add(result.value[i]); - return this.editMedia.size(); + editMedia.add(result.value[i]); + return editMedia.size(); } } catch(Exception e){ + e.printStackTrace(); System.out.println("Exceoption in Model search "+ e); return 0; } @@ -489,7 +490,7 @@ public class Model { * stream to srvControl via play, pause, etc */ public void setActualStream(Output aStream){ - this.actualStream = aStream; + actualStream = aStream; } /* @@ -514,7 +515,7 @@ public class Model { "client.Model.startVLC: playback this type is not supported" ); } */ - vlcCmd += this.actualStream.info.params; + vlcCmd += actualStream.info.params; System.out.println(vlcCmd); try { @@ -531,8 +532,9 @@ public class Model { * */ private void stopVLC(){ - this.playback = false; - this.vlcPlayer.destroy(); + playback = false; + if(vlcPlayer != null) + vlcPlayer.destroy(); } /* @@ -542,22 +544,32 @@ public class Model { */ public boolean play(){ - this.playback = true; + playback = true; + + actualStream.outputAction = Action.CREATE; + actualStream.info = new AccessInfo( "bam", + "bam", + "vlc", + "params", + AccessType.STREAM ); - this.actualStream = this.createOutput(); - this.actualStream.destIp = this.clientIP; + Media[] a = new Media[playList.size()]; + actualStream.playlist = playList.toArray(a); + actualStream.destIp = clientIP; YalpErrorHolder err = new YalpErrorHolder(); - OutputHolder tmp = new OutputHolder(this.actualStream); - this.srvCon.control(tmp, err); - this.actualStream = tmp.value; + OutputHolder tmp = new OutputHolder(); + tmp.value = actualStream; + + srvCon.control(tmp, err); + actualStream = tmp.value; - this.actualStream.outputAction = Action.START; - OutputHolder tmp2 = new OutputHolder(this.actualStream); - this.srvCon.control(tmp2, err); - this.actualStream = tmp2.value; - this.startVLC(); + actualStream.outputAction = Action.START; + OutputHolder tmp2 = new OutputHolder(actualStream); + srvCon.control(tmp2, err); + actualStream = tmp2.value; + startVLC(); return true; } -- cgit v1.2.3