diff --git a/README.md b/README.md index afeb293..165b717 100644 --- a/README.md +++ b/README.md @@ -15,8 +15,8 @@ allprojects { } } dependencies { - implementation 'com.github.pedroSG94:RTSP-Server:1.2.0' - implementation 'com.github.pedroSG94.RootEncoder:library:2.3.3' + implementation 'com.github.pedroSG94:RTSP-Server:1.2.1' + implementation 'com.github.pedroSG94.RootEncoder:library:2.3.5' } ``` diff --git a/app/build.gradle b/app/build.gradle deleted file mode 100644 index 92a8394..0000000 --- a/app/build.gradle +++ /dev/null @@ -1,37 +0,0 @@ -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' - -android { - namespace "com.pedro.sample" - compileSdk 34 - - defaultConfig { - applicationId "com.pedro.sample" - minSdkVersion 16 - targetSdkVersion 34 - versionCode version_code - versionName version_name - } - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - } - } - - compileOptions { - sourceCompatibility JavaVersion.VERSION_17 - targetCompatibility JavaVersion.VERSION_17 - } - kotlinOptions { - jvmTarget = '17' - } -} - -dependencies { - implementation project(':rtspserver') - implementation 'com.github.pedroSG94.RootEncoder:library:2.3.5' - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" - implementation 'androidx.appcompat:appcompat:1.6.1' - implementation 'androidx.constraintlayout:constraintlayout:2.1.4' -} diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000..96e7ebb --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,42 @@ +val vCode: Int by rootProject.extra +val vName: String by rootProject.extra +val rootEncoderVersion: String by rootProject.extra + +plugins { + id("com.android.application") + id("org.jetbrains.kotlin.android") +} + +android { + namespace = "com.pedro.sample" + compileSdk = 34 + + defaultConfig { + applicationId = "com.pedro.sample" + minSdk = 16 + targetSdk = 34 + versionCode = vCode + versionName = vName + } + buildTypes { + release { + isMinifyEnabled = false + proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro") + } + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + kotlinOptions { + jvmTarget = "17" + } +} + +dependencies { + implementation(project(":rtspserver")) + implementation("com.github.pedroSG94.RootEncoder:library:$rootEncoderVersion") + implementation("androidx.appcompat:appcompat:1.6.1") + implementation("androidx.constraintlayout:constraintlayout:2.1.4") +} diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index f1b4245..2f9dc5a 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -1,6 +1,6 @@ # Add project specific ProGuard rules here. # You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. +# proguardFiles setting in build.gradle.kts. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 583b9a3..0000000 --- a/build.gradle +++ /dev/null @@ -1,33 +0,0 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. - -buildscript { - ext.kotlin_version = '1.9.22' - ext.library_group = "com.github.pedroSG94" - ext.version_code = 121 - ext.version_name = "1.2.1" - - repositories { - google() - mavenCentral() - maven { url 'https://jitpack.io' } - } - - dependencies { - classpath 'com.android.tools.build:gradle:8.2.2' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - // NOTE: Do not place your application dependencies here; they belong - // in the individual module build.gradle files - } -} - -allprojects { - repositories { - google() - mavenCentral() - maven { url 'https://jitpack.io' } - } -} - -tasks.register('clean', Delete) { - delete rootProject.buildDir -} diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..ea27f41 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,20 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +val libraryGroup by rootProject.extra { "com.github.pedroSG94" } +val vCode by rootProject.extra { 121 } +val vName by rootProject.extra { "1.2.1" } +val coroutinesVersion by rootProject.extra { "1.7.3" } +val rootEncoderVersion by rootProject.extra { "2.3.5" } + +plugins { + id("com.android.application") version "8.2.2" apply false + id("org.jetbrains.kotlin.android") version "1.9.22" apply false + id("org.jetbrains.dokka") version "1.9.10" apply true +} + +tasks.register("clean") { + delete(rootProject.buildDir) +} + +tasks.dokkaHtmlMultiModule.configure { + outputDirectory.set(File("docs")) +} diff --git a/rtspserver/build.gradle b/rtspserver/build.gradle deleted file mode 100644 index b1cc716..0000000 --- a/rtspserver/build.gradle +++ /dev/null @@ -1,56 +0,0 @@ -apply plugin: 'com.android.library' -apply plugin: 'org.jetbrains.kotlin.android' -apply plugin: 'maven-publish' - -android { - namespace "com.pedro.rtspserver" - compileSdk 34 - - defaultConfig { - minSdkVersion 16 - targetSdkVersion 34 - versionCode version_code - versionName version_name - } - - buildTypes { - release { - minifyEnabled false - consumerProguardFiles 'proguard-rules.pro' - } - } - - compileOptions { - sourceCompatibility JavaVersion.VERSION_17 - targetCompatibility JavaVersion.VERSION_17 - } - kotlinOptions { - jvmTarget = '17' - } - - publishing { - singleVariant("release") - } -} - -afterEvaluate { - publishing { - publications { - // Creates a Maven publication called "release". - release(MavenPublication) { - // Applies the component for the release build variant. - from components.release - - // You can then customize attributes of the publication as shown below. - groupId = "$library_group" - artifactId = "rtspserver" - version = "$version_name" - } - } - } -} - -dependencies { - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3" - implementation 'com.github.pedroSG94.RootEncoder:library:2.3.5' -} diff --git a/rtspserver/build.gradle.kts b/rtspserver/build.gradle.kts new file mode 100644 index 0000000..0002ad1 --- /dev/null +++ b/rtspserver/build.gradle.kts @@ -0,0 +1,61 @@ +val libraryGroup: String by rootProject.extra +val vName: String by rootProject.extra +val coroutinesVersion: String by rootProject.extra +val rootEncoderVersion: String by rootProject.extra + +plugins { + id("com.android.library") + id("org.jetbrains.kotlin.android") + id("maven-publish") + id("org.jetbrains.dokka") +} + +android { + namespace = "com.pedro.rtspserver" + compileSdk = 34 + + defaultConfig { + minSdk = 16 + lint.targetSdk = 34 + } + + buildTypes { + release { + isMinifyEnabled = false + } + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + kotlinOptions { + jvmTarget = "17" + } + + publishing { + singleVariant("release") + } +} + +afterEvaluate { + publishing { + publications { + // Creates a Maven publication called "release". + create("release") { + // Applies the component for the release build variant. + from(components["release"]) + + // You can then customize attributes of the publication as shown below. + groupId = libraryGroup + artifactId = "rtspserver" + version = vName + } + } + } +} + +dependencies { + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion") + implementation("com.github.pedroSG94.RootEncoder:library:$rootEncoderVersion") +} diff --git a/rtspserver/proguard-rules.pro b/rtspserver/proguard-rules.pro index f1b4245..2f9dc5a 100644 --- a/rtspserver/proguard-rules.pro +++ b/rtspserver/proguard-rules.pro @@ -1,6 +1,6 @@ # Add project specific ProGuard rules here. # You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. +# proguardFiles setting in build.gradle.kts. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html diff --git a/rtspserver/src/main/java/com/pedro/rtspserver/RtspServer.kt b/rtspserver/src/main/java/com/pedro/rtspserver/RtspServer.kt index 943e60b..244a151 100644 --- a/rtspserver/src/main/java/com/pedro/rtspserver/RtspServer.kt +++ b/rtspserver/src/main/java/com/pedro/rtspserver/RtspServer.kt @@ -21,7 +21,7 @@ import java.util.concurrent.TimeUnit * TODO Use different session per client. */ -open class RtspServer( +class RtspServer( private val connectChecker: ConnectChecker, val port: Int ): ServerListener { diff --git a/rtspserver/src/main/java/com/pedro/rtspserver/RtspServerCamera1.kt b/rtspserver/src/main/java/com/pedro/rtspserver/RtspServerCamera1.kt index dc98ad0..f8dfd13 100644 --- a/rtspserver/src/main/java/com/pedro/rtspserver/RtspServerCamera1.kt +++ b/rtspserver/src/main/java/com/pedro/rtspserver/RtspServerCamera1.kt @@ -18,7 +18,7 @@ import java.nio.ByteBuffer /** * Created by pedro on 13/02/19. */ -open class RtspServerCamera1: Camera1Base { +class RtspServerCamera1: Camera1Base { private val rtspServer: RtspServer diff --git a/rtspserver/src/main/java/com/pedro/rtspserver/RtspServerCamera2.kt b/rtspserver/src/main/java/com/pedro/rtspserver/RtspServerCamera2.kt index e6a000b..bfe74d8 100644 --- a/rtspserver/src/main/java/com/pedro/rtspserver/RtspServerCamera2.kt +++ b/rtspserver/src/main/java/com/pedro/rtspserver/RtspServerCamera2.kt @@ -14,7 +14,7 @@ import com.pedro.rtspserver.util.RtspServerStreamClient import java.nio.ByteBuffer @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) -open class RtspServerCamera2: Camera2Base { +class RtspServerCamera2: Camera2Base { private val rtspServer: RtspServer diff --git a/rtspserver/src/main/java/com/pedro/rtspserver/RtspServerDisplay.kt b/rtspserver/src/main/java/com/pedro/rtspserver/RtspServerDisplay.kt index bc2e09a..f34fdde 100644 --- a/rtspserver/src/main/java/com/pedro/rtspserver/RtspServerDisplay.kt +++ b/rtspserver/src/main/java/com/pedro/rtspserver/RtspServerDisplay.kt @@ -12,7 +12,7 @@ import com.pedro.rtspserver.util.RtspServerStreamClient import java.nio.ByteBuffer @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) -open class RtspServerDisplay( +class RtspServerDisplay( context: Context, useOpengl: Boolean, connectChecker: ConnectChecker, port: Int ): DisplayBase(context, useOpengl) { diff --git a/rtspserver/src/main/java/com/pedro/rtspserver/RtspServerFromFile.kt b/rtspserver/src/main/java/com/pedro/rtspserver/RtspServerFromFile.kt index 5db5b34..3e4d561 100644 --- a/rtspserver/src/main/java/com/pedro/rtspserver/RtspServerFromFile.kt +++ b/rtspserver/src/main/java/com/pedro/rtspserver/RtspServerFromFile.kt @@ -16,7 +16,7 @@ import com.pedro.rtspserver.util.RtspServerStreamClient import java.nio.ByteBuffer @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) -open class RtspServerFromFile: FromFileBase { +class RtspServerFromFile: FromFileBase { private val rtspServer: RtspServer diff --git a/rtspserver/src/main/java/com/pedro/rtspserver/RtspServerOnlyAudio.kt b/rtspserver/src/main/java/com/pedro/rtspserver/RtspServerOnlyAudio.kt index 69e7691..eeaa244 100644 --- a/rtspserver/src/main/java/com/pedro/rtspserver/RtspServerOnlyAudio.kt +++ b/rtspserver/src/main/java/com/pedro/rtspserver/RtspServerOnlyAudio.kt @@ -10,7 +10,7 @@ import java.nio.ByteBuffer /** * Created by pedro on 17/04/21. */ -open class RtspServerOnlyAudio( +class RtspServerOnlyAudio( connectChecker: ConnectChecker, port: Int ): OnlyAudioBase() { diff --git a/rtspserver/src/main/java/com/pedro/rtspserver/ServerClient.kt b/rtspserver/src/main/java/com/pedro/rtspserver/ServerClient.kt index 5e3454e..9a33546 100644 --- a/rtspserver/src/main/java/com/pedro/rtspserver/ServerClient.kt +++ b/rtspserver/src/main/java/com/pedro/rtspserver/ServerClient.kt @@ -19,7 +19,7 @@ import java.net.Socket import java.net.SocketException import java.nio.ByteBuffer -open class ServerClient( +class ServerClient( private val socket: Socket, serverIp: String, serverPort: Int, private val connectChecker: ConnectChecker, val clientAddress: String, diff --git a/rtspserver/src/main/java/com/pedro/rtspserver/ServerCommandManager.kt b/rtspserver/src/main/java/com/pedro/rtspserver/ServerCommandManager.kt index 4055182..84ce0d7 100644 --- a/rtspserver/src/main/java/com/pedro/rtspserver/ServerCommandManager.kt +++ b/rtspserver/src/main/java/com/pedro/rtspserver/ServerCommandManager.kt @@ -19,7 +19,7 @@ import java.util.regex.Pattern * Created by pedro on 23/10/19. * */ -open class ServerCommandManager: CommandsManager() { +class ServerCommandManager: CommandsManager() { private var serverIp: String = "" private var serverPort: Int = 0 diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index f9fe1ba..0000000 --- a/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -include ':app', ':rtspserver' diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..e4becdb --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,20 @@ +pluginManagement { + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} + +@Suppress("UnstableApiUsage") +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + mavenCentral() + maven { url = uri("https://jitpack.io") } + } +} + +rootProject.name = "RTSP-Server" +include(":app", ":rtspserver")