Skip to content

Commit

Permalink
- new screenshare red5 app
Browse files Browse the repository at this point in the history
  • Loading branch information
ritzalam committed Feb 10, 2016
1 parent dd37445 commit bd30fd8
Show file tree
Hide file tree
Showing 220 changed files with 17,418 additions and 0 deletions.
38 changes: 38 additions & 0 deletions bbb-screenshare/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="app/src/main/java"/>
<classpathentry kind="src" path="app/src/main/scala"/>
<classpathentry kind="src" path="app/src/test/java"/>
<classpathentry kind="src" path="jws/webstart/src/main/java"/>
<classpathentry kind="con" path="org.scala-ide.sdt.launching.SCALA_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="app/lib/aopalliance-1.0.jar"/>
<classpathentry kind="lib" path="app/lib/commons-fileupload-1.2.2.jar"/>
<classpathentry kind="lib" path="app/lib/commons-io-2.1.jar"/>
<classpathentry kind="lib" path="app/lib/commons-pool-1.5.6.jar"/>
<classpathentry kind="lib" path="app/lib/configgy-2.0.0.jar"/>
<classpathentry kind="lib" path="app/lib/easymock-2.4.jar"/>
<classpathentry kind="lib" path="app/lib/gson-1.7.1.jar"/>
<classpathentry kind="lib" path="app/lib/jcl-over-slf4j-1.7.9.jar"/>
<classpathentry kind="lib" path="app/lib/jedis-1.5.1.jar"/>
<classpathentry kind="lib" path="app/lib/jul-to-slf4j-1.7.9.jar"/>
<classpathentry kind="lib" path="app/lib/log4j-over-slf4j-1.7.9.jar"/>
<classpathentry kind="lib" path="app/lib/logback-classic-1.1.2.jar"/>
<classpathentry kind="lib" path="app/lib/logback-core-1.1.2.jar"/>
<classpathentry kind="lib" path="app/lib/mina-core-2.0.8.jar"/>
<classpathentry kind="lib" path="app/lib/mina-integration-beans-2.0.8.jar"/>
<classpathentry kind="lib" path="app/lib/mina-integration-jmx-2.0.8.jar"/>
<classpathentry kind="lib" path="app/lib/red5-io-1.0.6-SNAPSHOT.jar"/>
<classpathentry kind="lib" path="app/lib/red5-server-1.0.6-SNAPSHOT.jar"/>
<classpathentry kind="lib" path="app/lib/red5-server-common-1.0.6-SNAPSHOT.jar"/>
<classpathentry kind="lib" path="app/lib/scala-library-2.9.2.jar"/>
<classpathentry kind="lib" path="app/lib/servlet-api-2.5.jar"/>
<classpathentry kind="lib" path="app/lib/slf4j-api-1.7.9.jar"/>
<classpathentry kind="lib" path="app/lib/spring-aop-4.0.8.RELEASE.jar"/>
<classpathentry kind="lib" path="app/lib/spring-beans-4.0.8.RELEASE.jar"/>
<classpathentry kind="lib" path="app/lib/spring-context-4.0.8.RELEASE.jar"/>
<classpathentry kind="lib" path="app/lib/spring-core-4.0.8.RELEASE.jar"/>
<classpathentry kind="lib" path="app/lib/spring-web-4.0.8.RELEASE.jar"/>
<classpathentry kind="lib" path="app/lib/spring-webmvc-4.0.7.RELEASE.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
8 changes: 8 additions & 0 deletions bbb-screenshare/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
.manager
.scala_dependencies
.classpath
.gradle/
.project
app/build/
lib/
build
18 changes: 18 additions & 0 deletions bbb-screenshare/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>s-bbb-screenshare</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.scala-ide.sdt.core.scalabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.scala-ide.sdt.core.scalanature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
26 changes: 26 additions & 0 deletions bbb-screenshare/app/.classpath.old
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>

<classpath>
<classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="output" path="build/classes/main"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="src" path="/common" combineaccessrules="false"/>
<classpathentry kind="lib" path="/home/firstuser/.gradle/cache/commons-fileupload/commons-fileupload/jars/commons-fileupload-1.2.1.jar"/>
<classpathentry kind="lib" path="/home/firstuser/.gradle/cache/commons-io/commons-io/jars/commons-io-1.4.jar"/>
<classpathentry kind="lib" path="/home/firstuser/.gradle/cache/javax.servlet/servlet-api/jars/servlet-api-2.5.jar"/>
<classpathentry kind="lib" path="/home/firstuser/.gradle/cache/log4j-over-slf4j/jars/log4j-over-slf4j-1.5.6.jar"/>
<classpathentry kind="lib" path="/home/firstuser/.gradle/cache/logback-classic/jars/logback-classic-0.9.14.jar"/>
<classpathentry kind="lib" path="/home/firstuser/.gradle/cache/logback-core/jars/logback-core-0.9.14.jar"/>
<classpathentry kind="lib" path="/home/firstuser/.gradle/cache/net/lag/configgy/configgy/jars/configgy-1.5.jar"/>
<classpathentry kind="lib" path="/home/firstuser/.gradle/cache/org.apache.mina/mina-core/jars/mina-core-2.0.0-RC1.jar"/>
<classpathentry kind="lib" path="/home/firstuser/.gradle/cache/org.apache.mina/mina-integration-spring/jars/mina-integration-spring-1.1.7.jar"/>
<classpathentry kind="lib" path="/home/firstuser/.gradle/cache/org.scala-lang/scala-library/jars/scala-library-2.7.7.jar"/>
<classpathentry kind="lib" path="/home/firstuser/.gradle/cache/org/red5/red5/jars/red5-0.91.jar"/>
<classpathentry kind="lib" path="/home/firstuser/.gradle/cache/slf4j-api/jars/slf4j-api-1.5.6.jar"/>
<classpathentry kind="lib" path="/home/firstuser/.gradle/cache/spring/spring-aop/jars/spring-aop-3.0.0.jar"/>
<classpathentry kind="lib" path="/home/firstuser/.gradle/cache/spring/spring-beans/jars/spring-beans-3.0.0.jar"/>
<classpathentry kind="lib" path="/home/firstuser/.gradle/cache/spring/spring-context/jars/spring-context-3.0.0.jar"/>
<classpathentry kind="lib" path="/home/firstuser/.gradle/cache/spring/spring-core/jars/spring-core-3.0.0.jar"/>
<classpathentry kind="lib" path="/home/firstuser/.gradle/cache/spring/spring-web/jars/spring-web-3.0.0.jar"/>
<classpathentry kind="lib" path="/home/firstuser/.gradle/cache/spring/spring-webmvc/jars/spring-webmvc-2.5.6.jar"/>
</classpath>
160 changes: 160 additions & 0 deletions bbb-screenshare/app/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
apply plugin: 'scala'
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'eclipse'

version = '0.8'
jar.enabled = true

def appName = 'bbb-screenshare'

archivesBaseName = appName

task resolveDeps(type: Copy) {
into('lib')
from configurations.default
from configurations.default.allArtifacts*.file
}

repositories {
mavenCentral()
mavenLocal()
add(new org.apache.ivy.plugins.resolver.ChainResolver()) {
name = 'remote'
returnFirst = true
add(new org.apache.ivy.plugins.resolver.URLResolver()) {
name = "googlecode"
addArtifactPattern "http://red5.googlecode.com/svn/repository/[artifact](-[revision]).[ext]"
addArtifactPattern "http://red5.googlecode.com/svn/repository/[organisation]/[artifact](-[revision]).[ext]"
}
add(new org.apache.ivy.plugins.resolver.URLResolver()) {
name = "blindside-repos"
addArtifactPattern "http://blindside.googlecode.com/svn/repository/[artifact](-[revision]).[ext]"
addArtifactPattern "http://blindside.googlecode.com/svn/repository/[organisation]/[artifact](-[revision]).[ext]"
}
add(new org.apache.ivy.plugins.resolver.URLResolver()) {
name = "maven2-central"
m2compatible = true
addArtifactPattern "http://repo1.maven.org/maven2/[organisation]/[module]/[revision]/[artifact](-[revision]).[ext]"
addArtifactPattern "http://repo1.maven.org/maven2/[organisation]/[artifact]/[revision]/[artifact](-[revision]).[ext]"
}
add(new org.apache.ivy.plugins.resolver.URLResolver()) {
name = "testng_ibiblio_maven2"
m2compatible = true
addArtifactPattern "http://repo1.maven.org/maven2/[organisation]/[module]/[revision]/[artifact](-[revision])-jdk15.[ext]"
addArtifactPattern "http://repo1.maven.org/maven2/[organisation]/[artifact]/[revision]/[artifact](-[revision])-jdk15.[ext]"
}
add(new org.apache.ivy.plugins.resolver.URLResolver()) {
name = "netty-dependency"
m2compatible = true
addArtifactPattern "http://repository.jboss.org/nexus/content/groups/public-jboss/[organisation]/[module]/[revision]/[artifact](-[revision]).[ext]"
addArtifactPattern "http://repo1.maven.org/maven2/[organisation]/[artifact]/[revision]/[artifact](-[revision]).[ext]"
}
add(new org.apache.ivy.plugins.resolver.URLResolver()) {
name = "spring-bundles"
m2compatible = true
addArtifactPattern "http://repository.springsource.com/maven/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
addArtifactPattern "http://repository.springsource.com/maven/bundles/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
}
mavenRepo name: "jboss", urls: "http://repository.jboss.org/nexus/content/groups/public-jboss"
mavenRepo name: "sonatype-snapshot", urls: "http://oss.sonatype.org/content/repositories/snapshots"
mavenRepo name: "sonatype-releases", urls: "http://oss.sonatype.org/content/repositories/releases"
}
}

dependencies {
// Servlet
providedCompile 'javax.servlet:servlet-api:2.5@jar'

// Mina
providedCompile 'org.apache.mina:mina-core:2.0.8@jar'
providedCompile 'org.apache.mina:mina-integration-beans:2.0.8@jar'
providedCompile 'org.apache.mina:mina-integration-jmx:2.0.8@jar'

// Spring
providedCompile 'org.springframework:spring-web:4.0.8.RELEASE@jar'
providedCompile 'org.springframework:spring-beans:4.0.8.RELEASE@jar'
providedCompile 'org.springframework:spring-context:4.0.8.RELEASE@jar'
providedCompile 'org.springframework:spring-core:4.0.8.RELEASE@jar'

// Red5
providedCompile 'org.red5:red5-server:1.0.6-SNAPSHOT@jar'
providedCompile 'org.red5:red5-server-common:1.0.6-SNAPSHOT@jar'
providedCompile 'org.red5:red5-io:1.0.6-SNAPSHOT@jar'

// Logging
providedCompile 'ch.qos.logback:logback-core:1.1.2@jar'
providedCompile 'ch.qos.logback:logback-classic:1.1.2@jar'
providedCompile 'org.slf4j:log4j-over-slf4j:1.7.9@jar'
providedCompile 'org.slf4j:jcl-over-slf4j:1.7.9@jar'
providedCompile 'org.slf4j:jul-to-slf4j:1.7.9@jar'
providedCompile 'org.slf4j:slf4j-api:1.7.9@jar'


// Needed for the JVM shutdown hook but needs to be put into red5/lib dir.
// Otherwise we get exception on aop utils class not found.
providedCompile 'org.springframework:spring-aop:4.0.8.RELEASE@jar'
providedCompile 'aopalliance:aopalliance:1.0@jar'

// Testing
//compile 'org.testng:testng:5.8@jar'
compile 'org.easymock:easymock:2.4@jar'

// Testing
//testRuntime 'org/testng:testng:5.8@jar'
testRuntime 'org.easymock:easymock:2.4@jar'

// Tunnelling servlet
compile 'org.springframework:spring-webmvc:4.0.7.RELEASE@jar'

// Need to put commons-fileupload and commons-io in red5/lib dir. Otherwise, we get an
// java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory or
// java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream
// ralam (Feb 27, 2013)
providedCompile 'commons-fileupload:commons-fileupload:1.2.2@jar'
providedCompile 'commons-io:commons-io:2.1@jar'

// Libraries needed to run the scala tools
scalaTools 'org.scala-lang:scala-compiler:2.9.2'
scalaTools 'org.scala-lang:scala-library:2.9.2'

// workaround for http://issues.gradle.org/browse/GRADLE-1273
//compileScala.classpath = sourceSets.main.compileClasspath + files(sourceSets.main.classesDir)
//compileTestScala.classpath = sourceSets.test.compileClasspath + files(sourceSets.test.classesDir)

// Libraries needed for scala api
compile 'org.scala-lang:scala-library:2.9.2'
compile 'net.lag:configgy:2.0.0@jar'

//redis
compile 'redis.clients:jedis:1.5.1'
providedCompile 'commons-pool:commons-pool:1.5.6'
compile 'com.google.code.gson:gson:1.7.1'
}

test {
useTestNG()
}

war.doLast {
ant.unzip(src: war.archivePath, dest: "$buildDir/screenshare")
}

task deploy() << {
def red5AppsDir = '/usr/share/red5/webapps'
def screenshareDir = new File("${red5AppsDir}/screenshare")
println "Deleting $screenshareDir"
ant.delete(dir: screenshareDir)
ant.mkdir(dir: screenshareDir)
ant.copy(todir: screenshareDir) {
fileset(dir: "$buildDir/screenshare")
}
def jwsLibDir = new File("${red5AppsDir}/screenshare/lib")
ant.mkdir(dir: jwsLibDir)
ant.copy(todir: jwsLibDir) {
fileset(dir: "jws/lib")
}
ant.copy(todir: screenshareDir) {
fileset(file: "jws/screenshare.jnlp")
}
}
4 changes: 4 additions & 0 deletions bbb-screenshare/app/deploy.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
sudo chmod -R 777 /usr/share/red5/webapps
gradle clean war deploy
sudo chmod -R 777 /usr/share/red5/webapps

50 changes: 50 additions & 0 deletions bbb-screenshare/app/jws/screenshare.jnlp
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="." href="">
<!--
Keep href empty. Otherwise this jnlp file will always be cached.
http://www.coderanch.com/t/284889/JSP/java/Caching-JNLP
-->
<information>
<title>BigBlueButton Screen Share</title>
<vendor>BigBlueButton</vendor>
</information>

<resources>
<j2se version="1.7+" href="http://java.sun.com/products/autodl/j2se"/>
<jar href="$$jnlpUrl/lib/javacv-screenshare-0.0.1.jar" main="true" />
<jar href="$$jnlpUrl/lib/javacv.jar" />
<jar href="$$jnlpUrl/lib/javacpp.jar" />
<jar href="$$jnlpUrl/lib/ffmpeg.jar" />
</resources>

<resources os="Windows" arch="amd64">
<nativelib href="$$jnlpUrl/lib/ffmpeg-windows-x86_64.jar" download="eager"/>
</resources>

<resources os="Windows" arch="x86">
<nativelib href="$$jnlpUrl/lib/ffmpeg-windows-x86.jar" download="eager"/>
</resources>

<resources os="Linux" arch="x86_64 amd64">
<nativelib href="$$jnlpUrl/lib/ffmpeg-linux-x86_64.jar" download="eager"/>
</resources>

<resources os="Linux" arch="x86 i386 i486 i586 i686">
<nativelib href="$$jnlpUrl/lib/ffmpeg-linux-x86.jar" download="eager"/>
</resources>


<application-desc
name="Desktop Sharing Demo Application"
main-class="org.bigbluebutton.screenshare.client.DeskshareMain">
<argument>$$publishUrl</argument>
<argument>$$serverUrl</argument>
<argument>$$meetingId</argument>
<argument>$$streamId</argument>
<argument>$$fullScreen</argument>
<argument>$$codecOptions</argument>
<argument>$$errorMessage</argument>
</application-desc>
<security><all-permissions/></security>
<update check="always" policy="always"/>
</jnlp>
Loading

0 comments on commit bd30fd8

Please sign in to comment.