Skip to content

Commit 1b4b3ff

Browse files
committed
feat(core): add packet filter support for SrtUrl
1 parent b85fa3c commit 1b4b3ff

File tree

1 file changed

+9
-2
lines changed
  • srtdroid-core/src/main/java/io/github/thibaultbee/srtdroid/core/models

1 file changed

+9
-2
lines changed

srtdroid-core/src/main/java/io/github/thibaultbee/srtdroid/core/models/SrtUrl.kt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ internal fun SrtUrl(uri: SrtUri): SrtUrl {
116116
val enableTimestampBasedPacketDelivery =
117117
uri.getQueryParameter(SrtUrl.ENABLE_TIMESTAMP_BASED_PACKET_DELIVERY_QUERY_PARAMETER)
118118
?.toInt()?.toBoolean()
119+
val packetFilter = uri.getQueryParameter(SrtUrl.PACKET_FILTER_QUERY_PARAMETER)
119120

120121
val unknownParameters =
121122
uri.queryParameterNames.find {
@@ -162,7 +163,8 @@ internal fun SrtUrl(uri: SrtUri): SrtUrl {
162163
enableMessageApi,
163164
transtype,
164165
lingerInS,
165-
enableTimestampBasedPacketDelivery
166+
enableTimestampBasedPacketDelivery,
167+
packetFilter
166168
)
167169
}
168170

@@ -211,6 +213,7 @@ data class SrtUrl(
211213
val transtype: Transtype? = null,
212214
val lingerInS: Int? = null,
213215
val enableTimestampBasedPacketDelivery: Boolean? = null,
216+
val packetFilter: String? = null
214217
) {
215218
init {
216219
hostname.removePrefix(SRT_PREFIX)
@@ -447,6 +450,8 @@ data class SrtUrl(
447450
streamId?.let { socket.setSockFlag(SockOpt.STREAMID, it) }
448451
smoother?.let { socket.setSockFlag(SockOpt.CONGESTION, it) }
449452
enableMessageApi?.let { socket.setSockFlag(SockOpt.MESSAGEAPI, it) }
453+
454+
packetFilter?.let { socket.setSockFlag(SockOpt.PACKETFILTER, it) }
450455
}
451456

452457
/**
@@ -517,6 +522,7 @@ data class SrtUrl(
517522
internal const val TRANSTYPE_QUERY_PARAMETER = "transtype"
518523
internal const val LINGER_QUERY_PARAMETER = "linger"
519524
internal const val ENABLE_TIMESTAMP_BASED_PACKET_DELIVERY_QUERY_PARAMETER = "tsbpd"
525+
internal const val PACKET_FILTER_QUERY_PARAMETER = "packet_filter"
520526

521527
internal val supportedQueryParameterList = listOf(
522528
CONNECTION_TIMEOUT_QUERY_PARAMETER,
@@ -555,7 +561,8 @@ data class SrtUrl(
555561
ENABLE_MESSAGE_API_QUERY_PARAMETER,
556562
TRANSTYPE_QUERY_PARAMETER,
557563
LINGER_QUERY_PARAMETER,
558-
ENABLE_TIMESTAMP_BASED_PACKET_DELIVERY_QUERY_PARAMETER
564+
ENABLE_TIMESTAMP_BASED_PACKET_DELIVERY_QUERY_PARAMETER,
565+
PACKET_FILTER_QUERY_PARAMETER
559566
)
560567

561568
init {

0 commit comments

Comments
 (0)