Repository: bluenviron/gortsplib
Pull request #217 (2023-03-24 20:22:37)

change repository owner

codecov-commenter: ## [Codecov](https://codecov.io/gh/bluenviron/gortsplib/pull/217?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None) Report
> Merging [#217](https://codecov.io/gh/bluenviron/gortsplib/pull/217?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None) (09389f0) into [main](https://codecov.io/gh/bluenviron/gortsplib/commit/862b1061f4a208d172cd8d9ed6c61e29f35541ef?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None) (862b106) will **increase** coverage by `0.00%`.
> The diff coverage is `n/a`.

:mega: This organization is not using Codecov’s [GitHub App Integration](https://github.com/apps/codecov). We recommend you install it so Codecov can continue to function properly for your repositories. [Learn more](https://about.codecov.io/blog/codecov-is-updating-its-github-integration/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None)

```diff
@@           Coverage Diff           @@
##             main     #217   +/-   ##
=======================================
  Coverage   86.86%   86.87%           
=======================================
  Files         102      102           
  Lines       10713    10713           
=======================================
+ Hits         9306     9307    +1     
+ Misses       1084     1083    -1     
  Partials      323      323           
```


[see 1 file with indirect coverage changes](https://codecov.io/gh/bluenviron/gortsplib/pull/217/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None)

:mega: We’re building smart automated test selection to slash your CI/CD build times. [Learn more](https://about.codecov.io/iterative-testing/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None)


Patch:
diff --git a/README.md b/README.md
index 75df8897..9f8bc7d6 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@
 [![Lint](https://github.com/bluenviron/gortsplib/workflows/lint/badge.svg)](https://github.com/bluenviron/gortsplib/actions?query=workflow:lint)
 [![Go Report Card](https://goreportcard.com/badge/github.com/bluenviron/gortsplib)](https://goreportcard.com/report/github.com/bluenviron/gortsplib)
 [![CodeCov](https://codecov.io/gh/bluenviron/gortsplib/branch/main/graph/badge.svg)](https://app.codecov.io/gh/bluenviron/gortsplib/branch/main)
-[![PkgGoDev](https://pkg.go.dev/badge/github.com/aler9/gortsplib/v2)](https://pkg.go.dev/github.com/aler9/gortsplib/v2#pkg-index)
+[![PkgGoDev](https://pkg.go.dev/badge/github.com/bluenviron/gortsplib/v3)](https://pkg.go.dev/github.com/bluenviron/gortsplib/v3#pkg-index)
 
 RTSP 1.0 client and server library for the Go programming language, written for [rtsp-simple-server](https://github.com/aler9/rtsp-simple-server).
 
@@ -50,12 +50,6 @@ Features:
     * Video: H264, H265, M-JPEG
     * Audio: MPEG4 Audio (AAC)
 
-## Important announcement
-
-my main open source projects are being transferred to the [bluenviron organization](https://github.com/bluenviron), in order to allow the community to maintain and evolve the code regardless of my personal availability.
-
-In the next months, the repository name will be changed accordingly.
-
 ## Table of contents
 
 * [Examples](#examples)
@@ -101,7 +95,7 @@ In the next months, the repository name will be changed accordingly.
 
 ## API Documentation
 
-https://pkg.go.dev/github.com/aler9/gortsplib/v2#pkg-index
+https://pkg.go.dev/github.com/bluenviron/gortsplib/v3#pkg-index
 
 ## Standards
 
diff --git a/client.go b/client.go
index 7e58a59d..2f9e8313 100644
--- a/client.go
+++ b/client.go
@@ -2,7 +2,7 @@
 Package gortsplib is a RTSP 1.0 library for the Go programming language,
 written for rtsp-simple-server.
 
-Examples are available at https://github.com/aler9/gortsplib/tree/master/examples
+Examples are available at https://github.com/bluenviron/gortsplib/tree/main/examples
 */
 package gortsplib
 
@@ -20,16 +20,16 @@ import (
 	"github.com/pion/rtcp"
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/auth"
-	"github.com/aler9/gortsplib/v2/pkg/base"
-	"github.com/aler9/gortsplib/v2/pkg/bytecounter"
-	"github.com/aler9/gortsplib/v2/pkg/conn"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/headers"
-	"github.com/aler9/gortsplib/v2/pkg/liberrors"
-	"github.com/aler9/gortsplib/v2/pkg/media"
-	"github.com/aler9/gortsplib/v2/pkg/sdp"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3/pkg/auth"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/bytecounter"
+	"github.com/bluenviron/gortsplib/v3/pkg/conn"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/headers"
+	"github.com/bluenviron/gortsplib/v3/pkg/liberrors"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
+	"github.com/bluenviron/gortsplib/v3/pkg/sdp"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 )
 
 func isAnyPort(p int) bool {
diff --git a/client_format.go b/client_format.go
index 35c7691a..eb60ef5b 100644
--- a/client_format.go
+++ b/client_format.go
@@ -6,10 +6,10 @@ import (
 	"github.com/pion/rtcp"
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/rtcpreceiver"
-	"github.com/aler9/gortsplib/v2/pkg/rtcpsender"
-	"github.com/aler9/gortsplib/v2/pkg/rtpreorderer"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtcpreceiver"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtcpsender"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtpreorderer"
 )
 
 type clientFormat struct {
diff --git a/client_media.go b/client_media.go
index a5e538fc..9f1a6a18 100644
--- a/client_media.go
+++ b/client_media.go
@@ -7,8 +7,8 @@ import (
 	"github.com/pion/rtcp"
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
-	"github.com/aler9/gortsplib/v2/pkg/media"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
 )
 
 type clientMedia struct {
diff --git a/examples/client-publish-format-g711/main.go b/examples/client-publish-format-g711/main.go
index bf7a5ca9..4a477a87 100644
--- a/examples/client-publish-format-g711/main.go
+++ b/examples/client-publish-format-g711/main.go
@@ -4,9 +4,9 @@ import (
 	"log"
 	"net"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/media"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-publish-format-g722/main.go b/examples/client-publish-format-g722/main.go
index 28a1a125..40f020fe 100644
--- a/examples/client-publish-format-g722/main.go
+++ b/examples/client-publish-format-g722/main.go
@@ -4,9 +4,9 @@ import (
 	"log"
 	"net"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/media"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-publish-format-h264/main.go b/examples/client-publish-format-h264/main.go
index 603ec53f..6c92dac2 100644
--- a/examples/client-publish-format-h264/main.go
+++ b/examples/client-publish-format-h264/main.go
@@ -4,9 +4,9 @@ import (
 	"log"
 	"net"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/media"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-publish-format-h265/main.go b/examples/client-publish-format-h265/main.go
index cc389392..d57cc79e 100644
--- a/examples/client-publish-format-h265/main.go
+++ b/examples/client-publish-format-h265/main.go
@@ -4,9 +4,9 @@ import (
 	"log"
 	"net"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/media"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-publish-format-lpcm/main.go b/examples/client-publish-format-lpcm/main.go
index c189895e..2143c122 100644
--- a/examples/client-publish-format-lpcm/main.go
+++ b/examples/client-publish-format-lpcm/main.go
@@ -4,9 +4,9 @@ import (
 	"log"
 	"net"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/media"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-publish-format-mjpeg/main.go b/examples/client-publish-format-mjpeg/main.go
index dd11d847..7c21b826 100644
--- a/examples/client-publish-format-mjpeg/main.go
+++ b/examples/client-publish-format-mjpeg/main.go
@@ -4,9 +4,9 @@ import (
 	"log"
 	"net"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/media"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-publish-format-mpeg4audio/main.go b/examples/client-publish-format-mpeg4audio/main.go
index d916046b..bf5073e3 100644
--- a/examples/client-publish-format-mpeg4audio/main.go
+++ b/examples/client-publish-format-mpeg4audio/main.go
@@ -4,10 +4,10 @@ import (
 	"log"
 	"net"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/codecs/mpeg4audio"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/media"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/codecs/mpeg4audio"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-publish-format-opus/main.go b/examples/client-publish-format-opus/main.go
index ebc8d2f3..3da30083 100644
--- a/examples/client-publish-format-opus/main.go
+++ b/examples/client-publish-format-opus/main.go
@@ -4,9 +4,9 @@ import (
 	"log"
 	"net"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/media"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-publish-format-vp8/main.go b/examples/client-publish-format-vp8/main.go
index 4df755e9..93b5f5e6 100644
--- a/examples/client-publish-format-vp8/main.go
+++ b/examples/client-publish-format-vp8/main.go
@@ -4,9 +4,9 @@ import (
 	"log"
 	"net"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/media"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-publish-format-vp9/main.go b/examples/client-publish-format-vp9/main.go
index a557cbc9..1a84f3c6 100644
--- a/examples/client-publish-format-vp9/main.go
+++ b/examples/client-publish-format-vp9/main.go
@@ -4,9 +4,9 @@ import (
 	"log"
 	"net"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/media"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-publish-options/main.go b/examples/client-publish-options/main.go
index cb2ea0ac..0933af6c 100644
--- a/examples/client-publish-options/main.go
+++ b/examples/client-publish-options/main.go
@@ -5,9 +5,9 @@ import (
 	"net"
 	"time"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/media"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-publish-pause/main.go b/examples/client-publish-pause/main.go
index 240f53f6..ed78951a 100644
--- a/examples/client-publish-pause/main.go
+++ b/examples/client-publish-pause/main.go
@@ -5,9 +5,9 @@ import (
 	"net"
 	"time"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/media"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-query/main.go b/examples/client-query/main.go
index 951744af..3e09c318 100644
--- a/examples/client-query/main.go
+++ b/examples/client-query/main.go
@@ -3,8 +3,8 @@ package main
 import (
 	"log"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 )
 
 // This example shows how to
diff --git a/examples/client-read-format-g711/main.go b/examples/client-read-format-g711/main.go
index 76414032..fea8a4cf 100644
--- a/examples/client-read-format-g711/main.go
+++ b/examples/client-read-format-g711/main.go
@@ -3,9 +3,9 @@ package main
 import (
 	"log"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-read-format-g722/main.go b/examples/client-read-format-g722/main.go
index 55ddbac0..ecb875fa 100644
--- a/examples/client-read-format-g722/main.go
+++ b/examples/client-read-format-g722/main.go
@@ -3,9 +3,9 @@ package main
 import (
 	"log"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-read-format-h264-convert-to-jpeg/main.go b/examples/client-read-format-h264-convert-to-jpeg/main.go
index c43024d2..350c729f 100644
--- a/examples/client-read-format-h264-convert-to-jpeg/main.go
+++ b/examples/client-read-format-h264-convert-to-jpeg/main.go
@@ -8,10 +8,10 @@ import (
 	"strconv"
 	"time"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/formatdecenc/rtph264"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/formatdecenc/rtph264"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-read-format-h264-save-to-disk/main.go b/examples/client-read-format-h264-save-to-disk/main.go
index 60d1f959..9e0eec00 100644
--- a/examples/client-read-format-h264-save-to-disk/main.go
+++ b/examples/client-read-format-h264-save-to-disk/main.go
@@ -3,10 +3,10 @@ package main
 import (
 	"log"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/formatdecenc/rtph264"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/formatdecenc/rtph264"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-read-format-h264-save-to-disk/mpegtsmuxer.go b/examples/client-read-format-h264-save-to-disk/mpegtsmuxer.go
index 7a8fe870..a79610ee 100644
--- a/examples/client-read-format-h264-save-to-disk/mpegtsmuxer.go
+++ b/examples/client-read-format-h264-save-to-disk/mpegtsmuxer.go
@@ -7,8 +7,8 @@ import (
 	"os"
 	"time"
 
-	"github.com/aler9/gortsplib/v2/pkg/codecs/h264"
 	"github.com/asticode/go-astits"
+	"github.com/bluenviron/gortsplib/v3/pkg/codecs/h264"
 )
 
 // mpegtsMuxer allows to save a H264 stream into a MPEG-TS file.
diff --git a/examples/client-read-format-h264/main.go b/examples/client-read-format-h264/main.go
index 43807351..fc3e9bc4 100644
--- a/examples/client-read-format-h264/main.go
+++ b/examples/client-read-format-h264/main.go
@@ -3,10 +3,10 @@ package main
 import (
 	"log"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/formatdecenc/rtph264"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/formatdecenc/rtph264"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-read-format-h265/main.go b/examples/client-read-format-h265/main.go
index e5a7755b..bbd7de94 100644
--- a/examples/client-read-format-h265/main.go
+++ b/examples/client-read-format-h265/main.go
@@ -3,10 +3,10 @@ package main
 import (
 	"log"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/formatdecenc/rtph265"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/formatdecenc/rtph265"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-read-format-lpcm/main.go b/examples/client-read-format-lpcm/main.go
index ad020736..3635556d 100644
--- a/examples/client-read-format-lpcm/main.go
+++ b/examples/client-read-format-lpcm/main.go
@@ -3,9 +3,9 @@ package main
 import (
 	"log"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-read-format-mjpeg/main.go b/examples/client-read-format-mjpeg/main.go
index 22036861..ec97712b 100644
--- a/examples/client-read-format-mjpeg/main.go
+++ b/examples/client-read-format-mjpeg/main.go
@@ -5,10 +5,10 @@ import (
 	"image/jpeg"
 	"log"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/formatdecenc/rtpmjpeg"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/formatdecenc/rtpmjpeg"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-read-format-mpeg4audio/main.go b/examples/client-read-format-mpeg4audio/main.go
index b355d7c6..ce0ad8d2 100644
--- a/examples/client-read-format-mpeg4audio/main.go
+++ b/examples/client-read-format-mpeg4audio/main.go
@@ -3,9 +3,9 @@ package main
 import (
 	"log"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-read-format-opus/main.go b/examples/client-read-format-opus/main.go
index c9861744..015638bc 100644
--- a/examples/client-read-format-opus/main.go
+++ b/examples/client-read-format-opus/main.go
@@ -3,9 +3,9 @@ package main
 import (
 	"log"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-read-format-vp8/main.go b/examples/client-read-format-vp8/main.go
index 1df33340..5316954f 100644
--- a/examples/client-read-format-vp8/main.go
+++ b/examples/client-read-format-vp8/main.go
@@ -3,10 +3,10 @@ package main
 import (
 	"log"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/formatdecenc/rtpvp8"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/formatdecenc/rtpvp8"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-read-format-vp9/main.go b/examples/client-read-format-vp9/main.go
index cf821909..5fa60e1e 100644
--- a/examples/client-read-format-vp9/main.go
+++ b/examples/client-read-format-vp9/main.go
@@ -3,10 +3,10 @@ package main
 import (
 	"log"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/formatdecenc/rtpvp9"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/formatdecenc/rtpvp9"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-read-options/main.go b/examples/client-read-options/main.go
index d81144c7..08964d55 100644
--- a/examples/client-read-options/main.go
+++ b/examples/client-read-options/main.go
@@ -4,10 +4,10 @@ import (
 	"log"
 	"time"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/media"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 	"github.com/pion/rtcp"
 	"github.com/pion/rtp"
 )
diff --git a/examples/client-read-pause/main.go b/examples/client-read-pause/main.go
index e5bec7a4..98a46fb2 100644
--- a/examples/client-read-pause/main.go
+++ b/examples/client-read-pause/main.go
@@ -4,10 +4,10 @@ import (
 	"log"
 	"time"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/media"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 	"github.com/pion/rtcp"
 	"github.com/pion/rtp"
 )
diff --git a/examples/client-read-republish/main.go b/examples/client-read-republish/main.go
index 17c82f84..2b64937d 100644
--- a/examples/client-read-republish/main.go
+++ b/examples/client-read-republish/main.go
@@ -3,10 +3,10 @@ package main
 import (
 	"log"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/media"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/client-read/main.go b/examples/client-read/main.go
index 82e53a86..42f1e7bc 100644
--- a/examples/client-read/main.go
+++ b/examples/client-read/main.go
@@ -3,10 +3,10 @@ package main
 import (
 	"log"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/media"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 	"github.com/pion/rtcp"
 	"github.com/pion/rtp"
 )
diff --git a/examples/proxy/client.go b/examples/proxy/client.go
index e6c00c95..c337f375 100644
--- a/examples/proxy/client.go
+++ b/examples/proxy/client.go
@@ -5,10 +5,10 @@ import (
 	"sync"
 	"time"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/media"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 	"github.com/pion/rtp"
 )
 
diff --git a/examples/proxy/server.go b/examples/proxy/server.go
index 52e7491b..753ccd83 100644
--- a/examples/proxy/server.go
+++ b/examples/proxy/server.go
@@ -3,8 +3,8 @@ package main
 import (
 	"log"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/base"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
 )
 
 type server struct {
diff --git a/examples/server-h264-save-to-disk/main.go b/examples/server-h264-save-to-disk/main.go
index 2d12c47c..82104520 100644
--- a/examples/server-h264-save-to-disk/main.go
+++ b/examples/server-h264-save-to-disk/main.go
@@ -7,11 +7,11 @@ import (
 
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/base"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/formatdecenc/rtph264"
-	"github.com/aler9/gortsplib/v2/pkg/media"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/formatdecenc/rtph264"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
 )
 
 // This example shows how to
diff --git a/examples/server-h264-save-to-disk/mpegtsmuxer.go b/examples/server-h264-save-to-disk/mpegtsmuxer.go
index 7a8fe870..a79610ee 100644
--- a/examples/server-h264-save-to-disk/mpegtsmuxer.go
+++ b/examples/server-h264-save-to-disk/mpegtsmuxer.go
@@ -7,8 +7,8 @@ import (
 	"os"
 	"time"
 
-	"github.com/aler9/gortsplib/v2/pkg/codecs/h264"
 	"github.com/asticode/go-astits"
+	"github.com/bluenviron/gortsplib/v3/pkg/codecs/h264"
 )
 
 // mpegtsMuxer allows to save a H264 stream into a MPEG-TS file.
diff --git a/examples/server-tls/main.go b/examples/server-tls/main.go
index 3562477a..d37b8cb2 100644
--- a/examples/server-tls/main.go
+++ b/examples/server-tls/main.go
@@ -7,10 +7,10 @@ import (
 
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/base"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/media"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
 )
 
 // This example shows how to
diff --git a/examples/server/main.go b/examples/server/main.go
index e838ea0e..54007829 100644
--- a/examples/server/main.go
+++ b/examples/server/main.go
@@ -6,10 +6,10 @@ import (
 
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/base"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/media"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
 )
 
 // This example shows how to
diff --git a/go.mod b/go.mod
index dbd4a76f..9f2aa388 100644
--- a/go.mod
+++ b/go.mod
@@ -1,4 +1,4 @@
-module github.com/aler9/gortsplib/v2
+module github.com/bluenviron/gortsplib/v3
 
 go 1.18
 
diff --git a/pkg/auth/sender.go b/pkg/auth/sender.go
index 11fc441c..c5e22c5d 100644
--- a/pkg/auth/sender.go
+++ b/pkg/auth/sender.go
@@ -4,8 +4,8 @@ import (
 	"fmt"
 	"strings"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
-	"github.com/aler9/gortsplib/v2/pkg/headers"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/headers"
 )
 
 // Sender allows to generate credentials for a Validator.
diff --git a/pkg/auth/validator.go b/pkg/auth/validator.go
index fed83b33..a4a2f7a2 100644
--- a/pkg/auth/validator.go
+++ b/pkg/auth/validator.go
@@ -6,9 +6,9 @@ import (
 	"fmt"
 	"strings"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
-	"github.com/aler9/gortsplib/v2/pkg/headers"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/headers"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 )
 
 // Validator allows to validate credentials generated by a Sender.
diff --git a/pkg/base/request.go b/pkg/base/request.go
index bf9e391e..30100ce6 100644
--- a/pkg/base/request.go
+++ b/pkg/base/request.go
@@ -6,7 +6,7 @@ import (
 	"fmt"
 	"strconv"
 
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 )
 
 const (
diff --git a/pkg/codecs/h264/dts_extractor.go b/pkg/codecs/h264/dts_extractor.go
index e52d8a94..026944ad 100644
--- a/pkg/codecs/h264/dts_extractor.go
+++ b/pkg/codecs/h264/dts_extractor.go
@@ -4,7 +4,7 @@ import (
 	"fmt"
 	"time"
 
-	"github.com/aler9/gortsplib/v2/pkg/bits"
+	"github.com/bluenviron/gortsplib/v3/pkg/bits"
 )
 
 func getPictureOrderCount(buf []byte, sps *SPS) (uint32, error) {
diff --git a/pkg/codecs/h264/sps.go b/pkg/codecs/h264/sps.go
index 1eaa202c..f19f243b 100644
--- a/pkg/codecs/h264/sps.go
+++ b/pkg/codecs/h264/sps.go
@@ -3,7 +3,7 @@ package h264
 import (
 	"fmt"
 
-	"github.com/aler9/gortsplib/v2/pkg/bits"
+	"github.com/bluenviron/gortsplib/v3/pkg/bits"
 )
 
 const (
diff --git a/pkg/codecs/h265/dts_extractor.go b/pkg/codecs/h265/dts_extractor.go
index 558180ed..e75fcd1c 100644
--- a/pkg/codecs/h265/dts_extractor.go
+++ b/pkg/codecs/h265/dts_extractor.go
@@ -4,8 +4,8 @@ import (
 	"fmt"
 	"time"
 
-	"github.com/aler9/gortsplib/v2/pkg/bits"
-	"github.com/aler9/gortsplib/v2/pkg/codecs/h264"
+	"github.com/bluenviron/gortsplib/v3/pkg/bits"
+	"github.com/bluenviron/gortsplib/v3/pkg/codecs/h264"
 )
 
 func getPictureOrderCount(buf []byte, sps *SPS, pps *PPS) (uint32, uint32, error) {
diff --git a/pkg/codecs/h265/pps.go b/pkg/codecs/h265/pps.go
index 56c1d0f9..2a4fe3dd 100644
--- a/pkg/codecs/h265/pps.go
+++ b/pkg/codecs/h265/pps.go
@@ -3,8 +3,8 @@ package h265
 import (
 	"fmt"
 
-	"github.com/aler9/gortsplib/v2/pkg/bits"
-	"github.com/aler9/gortsplib/v2/pkg/codecs/h264"
+	"github.com/bluenviron/gortsplib/v3/pkg/bits"
+	"github.com/bluenviron/gortsplib/v3/pkg/codecs/h264"
 )
 
 // PPS is a H265 picture parameter set.
diff --git a/pkg/codecs/h265/sps.go b/pkg/codecs/h265/sps.go
index af1fb463..84d4c7f6 100644
--- a/pkg/codecs/h265/sps.go
+++ b/pkg/codecs/h265/sps.go
@@ -3,8 +3,8 @@ package h265
 import (
 	"fmt"
 
-	"github.com/aler9/gortsplib/v2/pkg/bits"
-	"github.com/aler9/gortsplib/v2/pkg/codecs/h264"
+	"github.com/bluenviron/gortsplib/v3/pkg/bits"
+	"github.com/bluenviron/gortsplib/v3/pkg/codecs/h264"
 )
 
 const (
diff --git a/pkg/codecs/mpeg4audio/config.go b/pkg/codecs/mpeg4audio/config.go
index c97390ed..8a65c31f 100644
--- a/pkg/codecs/mpeg4audio/config.go
+++ b/pkg/codecs/mpeg4audio/config.go
@@ -3,7 +3,7 @@ package mpeg4audio
 import (
 	"fmt"
 
-	"github.com/aler9/gortsplib/v2/pkg/bits"
+	"github.com/bluenviron/gortsplib/v3/pkg/bits"
 )
 
 // Config is a MPEG-4 Audio configuration.
diff --git a/pkg/conn/conn.go b/pkg/conn/conn.go
index 891737a3..4596b855 100644
--- a/pkg/conn/conn.go
+++ b/pkg/conn/conn.go
@@ -5,7 +5,7 @@ import (
 	"bufio"
 	"io"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
 )
 
 const (
diff --git a/pkg/format/g711.go b/pkg/format/g711.go
index bae4e30d..828d25ec 100644
--- a/pkg/format/g711.go
+++ b/pkg/format/g711.go
@@ -3,7 +3,7 @@ package format
 import (
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/formatdecenc/rtpsimpleaudio"
+	"github.com/bluenviron/gortsplib/v3/pkg/formatdecenc/rtpsimpleaudio"
 )
 
 // G711 is a format that uses the G711 codec, encoded with mu-law or A-law.
diff --git a/pkg/format/g722.go b/pkg/format/g722.go
index 5c086c66..45373098 100644
--- a/pkg/format/g722.go
+++ b/pkg/format/g722.go
@@ -3,7 +3,7 @@ package format
 import (
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/formatdecenc/rtpsimpleaudio"
+	"github.com/bluenviron/gortsplib/v3/pkg/formatdecenc/rtpsimpleaudio"
 )
 
 // G722 is a format that uses the G722 codec.
diff --git a/pkg/format/h264.go b/pkg/format/h264.go
index 263bc511..80bfba9b 100644
--- a/pkg/format/h264.go
+++ b/pkg/format/h264.go
@@ -10,8 +10,8 @@ import (
 
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/codecs/h264"
-	"github.com/aler9/gortsplib/v2/pkg/formatdecenc/rtph264"
+	"github.com/bluenviron/gortsplib/v3/pkg/codecs/h264"
+	"github.com/bluenviron/gortsplib/v3/pkg/formatdecenc/rtph264"
 )
 
 // check whether a RTP/H264 packet contains a IDR, without decoding the packet.
diff --git a/pkg/format/h265.go b/pkg/format/h265.go
index bf8a818b..261251e8 100644
--- a/pkg/format/h265.go
+++ b/pkg/format/h265.go
@@ -8,7 +8,7 @@ import (
 
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/formatdecenc/rtph265"
+	"github.com/bluenviron/gortsplib/v3/pkg/formatdecenc/rtph265"
 )
 
 // H265 is a format that uses the H265 codec.
diff --git a/pkg/format/lpcm.go b/pkg/format/lpcm.go
index 0a6beebb..de7bdfec 100644
--- a/pkg/format/lpcm.go
+++ b/pkg/format/lpcm.go
@@ -6,7 +6,7 @@ import (
 
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/formatdecenc/rtplpcm"
+	"github.com/bluenviron/gortsplib/v3/pkg/formatdecenc/rtplpcm"
 )
 
 // LPCM is a format that uses the uncompressed, Linear PCM codec.
diff --git a/pkg/format/mjpeg.go b/pkg/format/mjpeg.go
index 4d1302ff..0ea6a0fb 100644
--- a/pkg/format/mjpeg.go
+++ b/pkg/format/mjpeg.go
@@ -3,7 +3,7 @@ package format
 import (
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/formatdecenc/rtpmjpeg"
+	"github.com/bluenviron/gortsplib/v3/pkg/formatdecenc/rtpmjpeg"
 )
 
 // MJPEG is a format that uses the Motion-JPEG codec.
diff --git a/pkg/format/mpeg4_audio.go b/pkg/format/mpeg4_audio.go
index 2d606988..1260e614 100644
--- a/pkg/format/mpeg4_audio.go
+++ b/pkg/format/mpeg4_audio.go
@@ -7,8 +7,8 @@ import (
 
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/codecs/mpeg4audio"
-	"github.com/aler9/gortsplib/v2/pkg/formatdecenc/rtpmpeg4audio"
+	"github.com/bluenviron/gortsplib/v3/pkg/codecs/mpeg4audio"
+	"github.com/bluenviron/gortsplib/v3/pkg/formatdecenc/rtpmpeg4audio"
 )
 
 // MPEG4Audio is a format that uses a MPEG-4 audio codec.
diff --git a/pkg/format/opus.go b/pkg/format/opus.go
index ab43ce3c..bb24b94e 100644
--- a/pkg/format/opus.go
+++ b/pkg/format/opus.go
@@ -7,7 +7,7 @@ import (
 
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/formatdecenc/rtpsimpleaudio"
+	"github.com/bluenviron/gortsplib/v3/pkg/formatdecenc/rtpsimpleaudio"
 )
 
 // Opus is a format that uses the Opus codec.
diff --git a/pkg/format/vp8.go b/pkg/format/vp8.go
index 1ffb0f60..bef25c4a 100644
--- a/pkg/format/vp8.go
+++ b/pkg/format/vp8.go
@@ -6,7 +6,7 @@ import (
 
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/formatdecenc/rtpvp8"
+	"github.com/bluenviron/gortsplib/v3/pkg/formatdecenc/rtpvp8"
 )
 
 // VP8 is a format that uses the VP8 codec.
diff --git a/pkg/format/vp9.go b/pkg/format/vp9.go
index abc92875..cc72eeb9 100644
--- a/pkg/format/vp9.go
+++ b/pkg/format/vp9.go
@@ -6,7 +6,7 @@ import (
 
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/formatdecenc/rtpvp9"
+	"github.com/bluenviron/gortsplib/v3/pkg/formatdecenc/rtpvp9"
 )
 
 // VP9 is a format that uses the VP9 codec.
diff --git a/pkg/formatdecenc/rtph264/decoder.go b/pkg/formatdecenc/rtph264/decoder.go
index e19d7b9c..62d66a8b 100644
--- a/pkg/formatdecenc/rtph264/decoder.go
+++ b/pkg/formatdecenc/rtph264/decoder.go
@@ -8,8 +8,8 @@ import (
 
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/codecs/h264"
-	"github.com/aler9/gortsplib/v2/pkg/rtptime"
+	"github.com/bluenviron/gortsplib/v3/pkg/codecs/h264"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtptime"
 )
 
 // ErrMorePacketsNeeded is returned when more packets are needed.
diff --git a/pkg/formatdecenc/rtph264/encoder.go b/pkg/formatdecenc/rtph264/encoder.go
index 564bbb11..ac657003 100644
--- a/pkg/formatdecenc/rtph264/encoder.go
+++ b/pkg/formatdecenc/rtph264/encoder.go
@@ -7,8 +7,8 @@ import (
 
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/codecs/h264"
-	"github.com/aler9/gortsplib/v2/pkg/rtptime"
+	"github.com/bluenviron/gortsplib/v3/pkg/codecs/h264"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtptime"
 )
 
 const (
diff --git a/pkg/formatdecenc/rtph265/decoder.go b/pkg/formatdecenc/rtph265/decoder.go
index 1993c5f5..b4ec566f 100644
--- a/pkg/formatdecenc/rtph265/decoder.go
+++ b/pkg/formatdecenc/rtph265/decoder.go
@@ -7,8 +7,8 @@ import (
 
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/codecs/h265"
-	"github.com/aler9/gortsplib/v2/pkg/rtptime"
+	"github.com/bluenviron/gortsplib/v3/pkg/codecs/h265"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtptime"
 )
 
 // ErrMorePacketsNeeded is returned when more packets are needed.
diff --git a/pkg/formatdecenc/rtph265/encoder.go b/pkg/formatdecenc/rtph265/encoder.go
index 3f3871f4..36f65de9 100644
--- a/pkg/formatdecenc/rtph265/encoder.go
+++ b/pkg/formatdecenc/rtph265/encoder.go
@@ -7,7 +7,7 @@ import (
 
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/rtptime"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtptime"
 )
 
 const (
diff --git a/pkg/formatdecenc/rtplpcm/decoder.go b/pkg/formatdecenc/rtplpcm/decoder.go
index 0b94ab02..3bb43175 100644
--- a/pkg/formatdecenc/rtplpcm/decoder.go
+++ b/pkg/formatdecenc/rtplpcm/decoder.go
@@ -6,7 +6,7 @@ import (
 
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/rtptime"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtptime"
 )
 
 // Decoder is a RTP/LPCM decoder.
diff --git a/pkg/formatdecenc/rtplpcm/encoder.go b/pkg/formatdecenc/rtplpcm/encoder.go
index c81744f8..0a25216d 100644
--- a/pkg/formatdecenc/rtplpcm/encoder.go
+++ b/pkg/formatdecenc/rtplpcm/encoder.go
@@ -7,7 +7,7 @@ import (
 
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/rtptime"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtptime"
 )
 
 const (
diff --git a/pkg/formatdecenc/rtpmjpeg/decoder.go b/pkg/formatdecenc/rtpmjpeg/decoder.go
index 44ee7fdf..1ab57438 100644
--- a/pkg/formatdecenc/rtpmjpeg/decoder.go
+++ b/pkg/formatdecenc/rtpmjpeg/decoder.go
@@ -7,9 +7,9 @@ import (
 
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/codecs/jpeg"
-	"github.com/aler9/gortsplib/v2/pkg/formatdecenc/rtpmjpeg/headers"
-	"github.com/aler9/gortsplib/v2/pkg/rtptime"
+	"github.com/bluenviron/gortsplib/v3/pkg/codecs/jpeg"
+	"github.com/bluenviron/gortsplib/v3/pkg/formatdecenc/rtpmjpeg/headers"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtptime"
 )
 
 // ErrMorePacketsNeeded is returned when more packets are needed.
diff --git a/pkg/formatdecenc/rtpmjpeg/encoder.go b/pkg/formatdecenc/rtpmjpeg/encoder.go
index 066d8c43..c8bda07c 100644
--- a/pkg/formatdecenc/rtpmjpeg/encoder.go
+++ b/pkg/formatdecenc/rtpmjpeg/encoder.go
@@ -8,9 +8,9 @@ import (
 
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/codecs/jpeg"
-	"github.com/aler9/gortsplib/v2/pkg/formatdecenc/rtpmjpeg/headers"
-	"github.com/aler9/gortsplib/v2/pkg/rtptime"
+	"github.com/bluenviron/gortsplib/v3/pkg/codecs/jpeg"
+	"github.com/bluenviron/gortsplib/v3/pkg/formatdecenc/rtpmjpeg/headers"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtptime"
 )
 
 const (
diff --git a/pkg/formatdecenc/rtpmpeg4audio/decoder.go b/pkg/formatdecenc/rtpmpeg4audio/decoder.go
index d366c4e8..d6dc8cab 100644
--- a/pkg/formatdecenc/rtpmpeg4audio/decoder.go
+++ b/pkg/formatdecenc/rtpmpeg4audio/decoder.go
@@ -7,9 +7,9 @@ import (
 
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/bits"
-	"github.com/aler9/gortsplib/v2/pkg/codecs/mpeg4audio"
-	"github.com/aler9/gortsplib/v2/pkg/rtptime"
+	"github.com/bluenviron/gortsplib/v3/pkg/bits"
+	"github.com/bluenviron/gortsplib/v3/pkg/codecs/mpeg4audio"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtptime"
 )
 
 // ErrMorePacketsNeeded is returned when more packets are needed.
diff --git a/pkg/formatdecenc/rtpmpeg4audio/encoder.go b/pkg/formatdecenc/rtpmpeg4audio/encoder.go
index a67aa339..0188e65d 100644
--- a/pkg/formatdecenc/rtpmpeg4audio/encoder.go
+++ b/pkg/formatdecenc/rtpmpeg4audio/encoder.go
@@ -6,9 +6,9 @@ import (
 
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/bits"
-	"github.com/aler9/gortsplib/v2/pkg/codecs/mpeg4audio"
-	"github.com/aler9/gortsplib/v2/pkg/rtptime"
+	"github.com/bluenviron/gortsplib/v3/pkg/bits"
+	"github.com/bluenviron/gortsplib/v3/pkg/codecs/mpeg4audio"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtptime"
 )
 
 const (
diff --git a/pkg/formatdecenc/rtpsimpleaudio/decoder.go b/pkg/formatdecenc/rtpsimpleaudio/decoder.go
index 116f6175..db4d05d8 100644
--- a/pkg/formatdecenc/rtpsimpleaudio/decoder.go
+++ b/pkg/formatdecenc/rtpsimpleaudio/decoder.go
@@ -5,7 +5,7 @@ import (
 
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/rtptime"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtptime"
 )
 
 // Decoder is a RTP/simple audio decoder.
diff --git a/pkg/formatdecenc/rtpsimpleaudio/encoder.go b/pkg/formatdecenc/rtpsimpleaudio/encoder.go
index dacd35b1..155e8e95 100644
--- a/pkg/formatdecenc/rtpsimpleaudio/encoder.go
+++ b/pkg/formatdecenc/rtpsimpleaudio/encoder.go
@@ -7,7 +7,7 @@ import (
 
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/rtptime"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtptime"
 )
 
 const (
diff --git a/pkg/formatdecenc/rtpvp8/decoder.go b/pkg/formatdecenc/rtpvp8/decoder.go
index 25f645c4..921036ef 100644
--- a/pkg/formatdecenc/rtpvp8/decoder.go
+++ b/pkg/formatdecenc/rtpvp8/decoder.go
@@ -8,7 +8,7 @@ import (
 	"github.com/pion/rtp"
 	"github.com/pion/rtp/codecs"
 
-	"github.com/aler9/gortsplib/v2/pkg/rtptime"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtptime"
 )
 
 // ErrMorePacketsNeeded is returned when more packets are needed.
diff --git a/pkg/formatdecenc/rtpvp8/encoder.go b/pkg/formatdecenc/rtpvp8/encoder.go
index 09bb6bdc..4b7961d7 100644
--- a/pkg/formatdecenc/rtpvp8/encoder.go
+++ b/pkg/formatdecenc/rtpvp8/encoder.go
@@ -8,7 +8,7 @@ import (
 	"github.com/pion/rtp"
 	"github.com/pion/rtp/codecs"
 
-	"github.com/aler9/gortsplib/v2/pkg/rtptime"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtptime"
 )
 
 const (
diff --git a/pkg/formatdecenc/rtpvp9/decoder.go b/pkg/formatdecenc/rtpvp9/decoder.go
index 2f2b2ab2..45f5dd50 100644
--- a/pkg/formatdecenc/rtpvp9/decoder.go
+++ b/pkg/formatdecenc/rtpvp9/decoder.go
@@ -8,7 +8,7 @@ import (
 	"github.com/pion/rtp"
 	"github.com/pion/rtp/codecs"
 
-	"github.com/aler9/gortsplib/v2/pkg/rtptime"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtptime"
 )
 
 // ErrMorePacketsNeeded is returned when more packets are needed.
diff --git a/pkg/formatdecenc/rtpvp9/encoder.go b/pkg/formatdecenc/rtpvp9/encoder.go
index 03040e5e..2de3d7f9 100644
--- a/pkg/formatdecenc/rtpvp9/encoder.go
+++ b/pkg/formatdecenc/rtpvp9/encoder.go
@@ -8,7 +8,7 @@ import (
 	"github.com/pion/rtp"
 	"github.com/pion/rtp/codecs"
 
-	"github.com/aler9/gortsplib/v2/pkg/rtptime"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtptime"
 )
 
 const (
diff --git a/pkg/headers/authenticate.go b/pkg/headers/authenticate.go
index 7554f91f..7baf156e 100644
--- a/pkg/headers/authenticate.go
+++ b/pkg/headers/authenticate.go
@@ -5,7 +5,7 @@ import (
 	"fmt"
 	"strings"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
 )
 
 // AuthMethod is an authentication method.
diff --git a/pkg/headers/authorization.go b/pkg/headers/authorization.go
index 8379e72c..f81a1332 100644
--- a/pkg/headers/authorization.go
+++ b/pkg/headers/authorization.go
@@ -5,7 +5,7 @@ import (
 	"fmt"
 	"strings"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
 )
 
 // Authorization is an Authorization header.
diff --git a/pkg/headers/range.go b/pkg/headers/range.go
index 49965082..4109125c 100644
--- a/pkg/headers/range.go
+++ b/pkg/headers/range.go
@@ -6,7 +6,7 @@ import (
 	"strings"
 	"time"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
 )
 
 func leadingZero(v uint) string {
diff --git a/pkg/headers/rtpinfo.go b/pkg/headers/rtpinfo.go
index 0a53090f..7f7522d7 100644
--- a/pkg/headers/rtpinfo.go
+++ b/pkg/headers/rtpinfo.go
@@ -5,7 +5,7 @@ import (
 	"strconv"
 	"strings"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
 )
 
 // RTPInfoEntry is an entry of a RTP-Info header.
diff --git a/pkg/headers/session.go b/pkg/headers/session.go
index eb0dff66..07ef5c18 100644
--- a/pkg/headers/session.go
+++ b/pkg/headers/session.go
@@ -5,7 +5,7 @@ import (
 	"strconv"
 	"strings"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
 )
 
 // Session is a Session header.
diff --git a/pkg/headers/transport.go b/pkg/headers/transport.go
index d75fc393..dcbc8ef6 100644
--- a/pkg/headers/transport.go
+++ b/pkg/headers/transport.go
@@ -7,7 +7,7 @@ import (
 	"strconv"
 	"strings"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
 )
 
 func parsePorts(val string) (*[2]int, error) {
diff --git a/pkg/liberrors/client.go b/pkg/liberrors/client.go
index 5e839ac0..7ad11851 100644
--- a/pkg/liberrors/client.go
+++ b/pkg/liberrors/client.go
@@ -3,7 +3,7 @@ package liberrors
 import (
 	"fmt"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
 )
 
 // ErrClientTerminated is an error that can be returned by a client.
diff --git a/pkg/liberrors/server.go b/pkg/liberrors/server.go
index d0049f3a..1253f2f9 100644
--- a/pkg/liberrors/server.go
+++ b/pkg/liberrors/server.go
@@ -4,8 +4,8 @@ import (
 	"fmt"
 	"net"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
-	"github.com/aler9/gortsplib/v2/pkg/headers"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/headers"
 )
 
 // ErrServerTerminated is an error that can be returned by a server.
diff --git a/pkg/media/media.go b/pkg/media/media.go
index 6a0e9bb1..135e93d8 100644
--- a/pkg/media/media.go
+++ b/pkg/media/media.go
@@ -10,8 +10,8 @@ import (
 
 	psdp "github.com/pion/sdp/v3"
 
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 )
 
 func getControlAttribute(attributes []psdp.Attribute) string {
diff --git a/pkg/media/medias.go b/pkg/media/medias.go
index c531c0cd..5cdc88fd 100644
--- a/pkg/media/medias.go
+++ b/pkg/media/medias.go
@@ -6,7 +6,7 @@ import (
 	"github.com/google/uuid"
 	psdp "github.com/pion/sdp/v3"
 
-	"github.com/aler9/gortsplib/v2/pkg/sdp"
+	"github.com/bluenviron/gortsplib/v3/pkg/sdp"
 )
 
 // Medias is a list of media streams.
diff --git a/server.go b/server.go
index afba79a7..dd23f2f5 100644
--- a/server.go
+++ b/server.go
@@ -11,8 +11,8 @@ import (
 
 	"github.com/google/uuid"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
-	"github.com/aler9/gortsplib/v2/pkg/liberrors"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/liberrors"
 )
 
 func extractPort(address string) (int, error) {
diff --git a/server_conn.go b/server_conn.go
index ac73ab83..d4514e4a 100644
--- a/server_conn.go
+++ b/server_conn.go
@@ -10,12 +10,12 @@ import (
 	"sync/atomic"
 	"time"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
-	"github.com/aler9/gortsplib/v2/pkg/bytecounter"
-	"github.com/aler9/gortsplib/v2/pkg/conn"
-	"github.com/aler9/gortsplib/v2/pkg/liberrors"
-	"github.com/aler9/gortsplib/v2/pkg/media"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/bytecounter"
+	"github.com/bluenviron/gortsplib/v3/pkg/conn"
+	"github.com/bluenviron/gortsplib/v3/pkg/liberrors"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 )
 
 func getSessionID(header base.Header) string {
diff --git a/server_handler.go b/server_handler.go
index 7572ce9d..9da6ac81 100644
--- a/server_handler.go
+++ b/server_handler.go
@@ -1,8 +1,8 @@
 package gortsplib
 
 import (
-	"github.com/aler9/gortsplib/v2/pkg/base"
-	"github.com/aler9/gortsplib/v2/pkg/media"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
 )
 
 // ServerHandler is the interface implemented by all the server handlers.
diff --git a/server_multicast_writer.go b/server_multicast_writer.go
index 876581be..721896e2 100644
--- a/server_multicast_writer.go
+++ b/server_multicast_writer.go
@@ -4,7 +4,7 @@ import (
 	"fmt"
 	"net"
 
-	"github.com/aler9/gortsplib/v2/pkg/ringbuffer"
+	"github.com/bluenviron/gortsplib/v3/pkg/ringbuffer"
 )
 
 type typeAndPayload struct {
diff --git a/server_session.go b/server_session.go
index 8614056c..52921a6b 100644
--- a/server_session.go
+++ b/server_session.go
@@ -11,13 +11,13 @@ import (
 	"github.com/pion/rtcp"
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/headers"
-	"github.com/aler9/gortsplib/v2/pkg/liberrors"
-	"github.com/aler9/gortsplib/v2/pkg/media"
-	"github.com/aler9/gortsplib/v2/pkg/sdp"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/headers"
+	"github.com/bluenviron/gortsplib/v3/pkg/liberrors"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
+	"github.com/bluenviron/gortsplib/v3/pkg/sdp"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 )
 
 func stringsReverseIndex(s, substr string) int {
diff --git a/server_session_format.go b/server_session_format.go
index 079df6e7..b51cc793 100644
--- a/server_session_format.go
+++ b/server_session_format.go
@@ -7,9 +7,9 @@ import (
 	"github.com/pion/rtcp"
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/rtcpreceiver"
-	"github.com/aler9/gortsplib/v2/pkg/rtpreorderer"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtcpreceiver"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtpreorderer"
 )
 
 type serverSessionFormat struct {
diff --git a/server_session_media.go b/server_session_media.go
index ff996946..3e6a5daf 100644
--- a/server_session_media.go
+++ b/server_session_media.go
@@ -9,8 +9,8 @@ import (
 	"github.com/pion/rtcp"
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
-	"github.com/aler9/gortsplib/v2/pkg/media"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
 )
 
 type serverSessionMedia struct {
diff --git a/server_stream.go b/server_stream.go
index e5cc2a21..98d09f3d 100644
--- a/server_stream.go
+++ b/server_stream.go
@@ -8,9 +8,9 @@ import (
 	"github.com/pion/rtcp"
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/headers"
-	"github.com/aler9/gortsplib/v2/pkg/liberrors"
-	"github.com/aler9/gortsplib/v2/pkg/media"
+	"github.com/bluenviron/gortsplib/v3/pkg/headers"
+	"github.com/bluenviron/gortsplib/v3/pkg/liberrors"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
 )
 
 // ServerStream represents a data stream.
diff --git a/server_stream_format.go b/server_stream_format.go
index db7b1cf9..d466eec0 100644
--- a/server_stream_format.go
+++ b/server_stream_format.go
@@ -1,8 +1,8 @@
 package gortsplib
 
 import (
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/rtcpsender"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtcpsender"
 )
 
 type serverStreamFormat struct {
diff --git a/server_stream_media.go b/server_stream_media.go
index 2bbc935b..33fef74b 100644
--- a/server_stream_media.go
+++ b/server_stream_media.go
@@ -7,8 +7,8 @@ import (
 	"github.com/pion/rtcp"
 	"github.com/pion/rtp"
 
-	"github.com/aler9/gortsplib/v2/pkg/media"
-	"github.com/aler9/gortsplib/v2/pkg/rtcpsender"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
+	"github.com/bluenviron/gortsplib/v3/pkg/rtcpsender"
 )
 
 type serverStreamMedia struct {
diff --git a/writer.go b/writer.go
index 45480355..ade274f4 100644
--- a/writer.go
+++ b/writer.go
@@ -1,7 +1,7 @@
 package gortsplib
 
 import (
-	"github.com/aler9/gortsplib/v2/pkg/ringbuffer"
+	"github.com/bluenviron/gortsplib/v3/pkg/ringbuffer"
 )
 
 // this struct contains a queue that allows to detach the routine that is reading a stream


Test patch:
diff --git a/client_play_test.go b/client_play_test.go
index 9e828c48..30077cc6 100644
--- a/client_play_test.go
+++ b/client_play_test.go
@@ -16,14 +16,14 @@ import (
 	"github.com/stretchr/testify/require"
 	"golang.org/x/net/ipv4"
 
-	"github.com/aler9/gortsplib/v2/pkg/auth"
-	"github.com/aler9/gortsplib/v2/pkg/base"
-	"github.com/aler9/gortsplib/v2/pkg/codecs/mpeg4audio"
-	"github.com/aler9/gortsplib/v2/pkg/conn"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/headers"
-	"github.com/aler9/gortsplib/v2/pkg/media"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3/pkg/auth"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/codecs/mpeg4audio"
+	"github.com/bluenviron/gortsplib/v3/pkg/conn"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/headers"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 )
 
 func mustMarshalMedias(medias media.Medias) []byte {
diff --git a/client_record_test.go b/client_record_test.go
index 3c63920c..0fe1a89c 100644
--- a/client_record_test.go
+++ b/client_record_test.go
@@ -13,13 +13,13 @@ import (
 	"github.com/pion/rtp"
 	"github.com/stretchr/testify/require"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
-	"github.com/aler9/gortsplib/v2/pkg/conn"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/headers"
-	"github.com/aler9/gortsplib/v2/pkg/media"
-	"github.com/aler9/gortsplib/v2/pkg/sdp"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/conn"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/headers"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
+	"github.com/bluenviron/gortsplib/v3/pkg/sdp"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 )
 
 var testH264Media = &media.Media{
diff --git a/client_test.go b/client_test.go
index 2b9ab625..b2043331 100644
--- a/client_test.go
+++ b/client_test.go
@@ -8,11 +8,11 @@ import (
 
 	"github.com/stretchr/testify/require"
 
-	"github.com/aler9/gortsplib/v2/pkg/auth"
-	"github.com/aler9/gortsplib/v2/pkg/base"
-	"github.com/aler9/gortsplib/v2/pkg/conn"
-	"github.com/aler9/gortsplib/v2/pkg/media"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3/pkg/auth"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/conn"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 )
 
 func mustParseURL(s string) *url.URL {
diff --git a/internal/highleveltests/server_test.go b/internal/highleveltests/server_test.go
index 41859d64..924ef49c 100644
--- a/internal/highleveltests/server_test.go
+++ b/internal/highleveltests/server_test.go
@@ -17,10 +17,10 @@ import (
 	"github.com/pion/rtp"
 	"github.com/stretchr/testify/require"
 
-	"github.com/aler9/gortsplib/v2"
-	"github.com/aler9/gortsplib/v2/pkg/base"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/media"
+	"github.com/bluenviron/gortsplib/v3"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
 )
 
 var serverCert = []byte(`-----BEGIN CERTIFICATE-----
diff --git a/pkg/auth/package_test.go b/pkg/auth/package_test.go
index 51c7fa0b..112caabe 100644
--- a/pkg/auth/package_test.go
+++ b/pkg/auth/package_test.go
@@ -5,9 +5,9 @@ import (
 
 	"github.com/stretchr/testify/require"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
-	"github.com/aler9/gortsplib/v2/pkg/headers"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/headers"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 )
 
 func mustParseURL(s string) *url.URL {
diff --git a/pkg/auth/sender_test.go b/pkg/auth/sender_test.go
index c8454b2f..c867e760 100644
--- a/pkg/auth/sender_test.go
+++ b/pkg/auth/sender_test.go
@@ -5,7 +5,7 @@ import (
 
 	"github.com/stretchr/testify/require"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
 )
 
 func TestSenderErrors(t *testing.T) {
diff --git a/pkg/auth/validator_test.go b/pkg/auth/validator_test.go
index 646f06e2..0b5bad1f 100644
--- a/pkg/auth/validator_test.go
+++ b/pkg/auth/validator_test.go
@@ -5,7 +5,7 @@ import (
 
 	"github.com/stretchr/testify/require"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
 )
 
 func TestValidatorErrors(t *testing.T) {
diff --git a/pkg/base/request_test.go b/pkg/base/request_test.go
index ca6b7f29..4e277847 100644
--- a/pkg/base/request_test.go
+++ b/pkg/base/request_test.go
@@ -7,7 +7,7 @@ import (
 
 	"github.com/stretchr/testify/require"
 
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 )
 
 func mustParseURL(s string) *url.URL {
diff --git a/pkg/conn/conn_test.go b/pkg/conn/conn_test.go
index 523886ee..c8326380 100644
--- a/pkg/conn/conn_test.go
+++ b/pkg/conn/conn_test.go
@@ -6,8 +6,8 @@ import (
 
 	"github.com/stretchr/testify/require"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 )
 
 func mustParseURL(s string) *url.URL {
diff --git a/pkg/format/format_test.go b/pkg/format/format_test.go
index 2fbaa23a..d836d9d1 100644
--- a/pkg/format/format_test.go
+++ b/pkg/format/format_test.go
@@ -6,7 +6,7 @@ import (
 	psdp "github.com/pion/sdp/v3"
 	"github.com/stretchr/testify/require"
 
-	"github.com/aler9/gortsplib/v2/pkg/codecs/mpeg4audio"
+	"github.com/bluenviron/gortsplib/v3/pkg/codecs/mpeg4audio"
 )
 
 func TestNewFromMediaDescription(t *testing.T) {
diff --git a/pkg/format/mpeg4_audio_test.go b/pkg/format/mpeg4_audio_test.go
index 7617729b..b935a279 100644
--- a/pkg/format/mpeg4_audio_test.go
+++ b/pkg/format/mpeg4_audio_test.go
@@ -6,7 +6,7 @@ import (
 	"github.com/pion/rtp"
 	"github.com/stretchr/testify/require"
 
-	"github.com/aler9/gortsplib/v2/pkg/codecs/mpeg4audio"
+	"github.com/bluenviron/gortsplib/v3/pkg/codecs/mpeg4audio"
 )
 
 func TestMPEG4AudioAttributes(t *testing.T) {
diff --git a/pkg/formatdecenc/rtpmpeg4audio/decoder_test.go b/pkg/formatdecenc/rtpmpeg4audio/decoder_test.go
index 3552df58..db76abc1 100644
--- a/pkg/formatdecenc/rtpmpeg4audio/decoder_test.go
+++ b/pkg/formatdecenc/rtpmpeg4audio/decoder_test.go
@@ -10,7 +10,7 @@ import (
 	"github.com/pion/rtp"
 	"github.com/stretchr/testify/require"
 
-	"github.com/aler9/gortsplib/v2/pkg/codecs/mpeg4audio"
+	"github.com/bluenviron/gortsplib/v3/pkg/codecs/mpeg4audio"
 )
 
 func TestDecode(t *testing.T) {
diff --git a/pkg/headers/authenticate_test.go b/pkg/headers/authenticate_test.go
index 8ecddd0a..be35f9ee 100644
--- a/pkg/headers/authenticate_test.go
+++ b/pkg/headers/authenticate_test.go
@@ -5,7 +5,7 @@ import (
 
 	"github.com/stretchr/testify/require"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
 )
 
 var casesAuthenticate = []struct {
diff --git a/pkg/headers/authorization_test.go b/pkg/headers/authorization_test.go
index f0a64aba..e13d792b 100644
--- a/pkg/headers/authorization_test.go
+++ b/pkg/headers/authorization_test.go
@@ -5,7 +5,7 @@ import (
 
 	"github.com/stretchr/testify/require"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
 )
 
 var casesAuthorization = []struct {
diff --git a/pkg/headers/range_test.go b/pkg/headers/range_test.go
index 39851e94..bcee4e66 100644
--- a/pkg/headers/range_test.go
+++ b/pkg/headers/range_test.go
@@ -6,7 +6,7 @@ import (
 
 	"github.com/stretchr/testify/require"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
 )
 
 var casesRange = []struct {
diff --git a/pkg/headers/rtpinfo_test.go b/pkg/headers/rtpinfo_test.go
index 5c940e87..db8125db 100644
--- a/pkg/headers/rtpinfo_test.go
+++ b/pkg/headers/rtpinfo_test.go
@@ -5,7 +5,7 @@ import (
 
 	"github.com/stretchr/testify/require"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
 )
 
 var casesRTPInfo = []struct {
diff --git a/pkg/headers/session_test.go b/pkg/headers/session_test.go
index bfff6a35..b670d938 100644
--- a/pkg/headers/session_test.go
+++ b/pkg/headers/session_test.go
@@ -5,7 +5,7 @@ import (
 
 	"github.com/stretchr/testify/require"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
 )
 
 var casesSession = []struct {
diff --git a/pkg/headers/transport_test.go b/pkg/headers/transport_test.go
index b823cd1d..b9e78d11 100644
--- a/pkg/headers/transport_test.go
+++ b/pkg/headers/transport_test.go
@@ -6,7 +6,7 @@ import (
 
 	"github.com/stretchr/testify/require"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
 )
 
 var casesTransport = []struct {
diff --git a/pkg/media/media_test.go b/pkg/media/media_test.go
index 46ef91f3..50bd1d51 100644
--- a/pkg/media/media_test.go
+++ b/pkg/media/media_test.go
@@ -5,9 +5,9 @@ import (
 
 	"github.com/stretchr/testify/require"
 
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/sdp"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/sdp"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 )
 
 func mustParseURL(s string) *url.URL {
diff --git a/pkg/media/medias_test.go b/pkg/media/medias_test.go
index 670118ce..30e57310 100644
--- a/pkg/media/medias_test.go
+++ b/pkg/media/medias_test.go
@@ -5,8 +5,8 @@ import (
 
 	"github.com/stretchr/testify/require"
 
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/sdp"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/sdp"
 )
 
 var casesMedias = []struct {
diff --git a/server_play_test.go b/server_play_test.go
index 3dd91bde..04adca09 100644
--- a/server_play_test.go
+++ b/server_play_test.go
@@ -17,13 +17,13 @@ import (
 	"github.com/stretchr/testify/require"
 	"golang.org/x/net/ipv4"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
-	"github.com/aler9/gortsplib/v2/pkg/conn"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/headers"
-	"github.com/aler9/gortsplib/v2/pkg/media"
-	"github.com/aler9/gortsplib/v2/pkg/sdp"
-	"github.com/aler9/gortsplib/v2/pkg/url"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/conn"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/headers"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
+	"github.com/bluenviron/gortsplib/v3/pkg/sdp"
+	"github.com/bluenviron/gortsplib/v3/pkg/url"
 )
 
 func multicastCapableIP(t *testing.T) string {
diff --git a/server_record_test.go b/server_record_test.go
index e3172205..117a01d0 100644
--- a/server_record_test.go
+++ b/server_record_test.go
@@ -13,12 +13,12 @@ import (
 	psdp "github.com/pion/sdp/v3"
 	"github.com/stretchr/testify/require"
 
-	"github.com/aler9/gortsplib/v2/pkg/base"
-	"github.com/aler9/gortsplib/v2/pkg/conn"
-	"github.com/aler9/gortsplib/v2/pkg/format"
-	"github.com/aler9/gortsplib/v2/pkg/headers"
-	"github.com/aler9/gortsplib/v2/pkg/media"
-	"github.com/aler9/gortsplib/v2/pkg/sdp"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/conn"
+	"github.com/bluenviron/gortsplib/v3/pkg/format"
+	"github.com/bluenviron/gortsplib/v3/pkg/headers"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
+	"github.com/bluenviron/gortsplib/v3/pkg/sdp"
 )
 
 func invalidURLAnnounceReq(t *testing.T, control string) base.Request {
diff --git a/server_test.go b/server_test.go
index bb0d2db0..fb67e4ba 100644
--- a/server_test.go
+++ b/server_test.go
@@ -7,11 +7,11 @@ import (
 
 	"github.com/stretchr/testify/require"
 
-	"github.com/aler9/gortsplib/v2/pkg/auth"
-	"github.com/aler9/gortsplib/v2/pkg/base"
-	"github.com/aler9/gortsplib/v2/pkg/conn"
-	"github.com/aler9/gortsplib/v2/pkg/headers"
-	"github.com/aler9/gortsplib/v2/pkg/media"
+	"github.com/bluenviron/gortsplib/v3/pkg/auth"
+	"github.com/bluenviron/gortsplib/v3/pkg/base"
+	"github.com/bluenviron/gortsplib/v3/pkg/conn"
+	"github.com/bluenviron/gortsplib/v3/pkg/headers"
+	"github.com/bluenviron/gortsplib/v3/pkg/media"
 )
 
 var serverCert = []byte(`-----BEGIN CERTIFICATE-----