Custom RTMP saved accounts, RTMP test server, composition pipeline
- Backend: POST /providers/accounts/custom-rtmp to save reusable RTMP servers - Backend: Encrypt rtmpUrl/streamKey in existing token fields, decrypt on GET - Backend: Skip token revocation on DELETE for CUSTOM_RTMP accounts - Backend: Decrypt CUSTOM_RTMP credentials into destinations on plan create/update - Android: Add rtmpUrl/streamKey to LinkedAccount entity + shared parcelable (Room v6) - Android: Add Custom RTMP dialog in AccountsScreen, auto-fill in plan destination picker - Android: Handle CUSTOM_RTMP accounts in CreatePlanViewModel.loadExistingPlan - Add local RTMP test server (tools/rtmp-server.js) with auto-ffplay on publish - Add composition pipeline native code
This commit is contained in:
@@ -11,6 +11,8 @@ data class LinkedAccount(
|
||||
val avatarUrl: String? = null,
|
||||
val isAuthenticated: Boolean = false,
|
||||
val isEnabled: Boolean = true,
|
||||
val rtmpUrl: String? = null,
|
||||
val streamKey: String? = null,
|
||||
) : Parcelable {
|
||||
|
||||
constructor(parcel: Parcel) : this(
|
||||
@@ -21,6 +23,8 @@ data class LinkedAccount(
|
||||
avatarUrl = parcel.readString(),
|
||||
isAuthenticated = parcel.readInt() != 0,
|
||||
isEnabled = if (parcel.dataAvail() > 0) parcel.readInt() != 0 else true,
|
||||
rtmpUrl = if (parcel.dataAvail() > 0) parcel.readString() else null,
|
||||
streamKey = if (parcel.dataAvail() > 0) parcel.readString() else null,
|
||||
)
|
||||
|
||||
override fun writeToParcel(parcel: Parcel, flags: Int) {
|
||||
@@ -31,6 +35,8 @@ data class LinkedAccount(
|
||||
parcel.writeString(avatarUrl)
|
||||
parcel.writeInt(if (isAuthenticated) 1 else 0)
|
||||
parcel.writeInt(if (isEnabled) 1 else 0)
|
||||
parcel.writeString(rtmpUrl)
|
||||
parcel.writeString(streamKey)
|
||||
}
|
||||
|
||||
override fun describeContents(): Int = 0
|
||||
|
||||
Reference in New Issue
Block a user