Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH] avformat/rtsp: Fix server compatibility issues with rtspclientsink GStreamer plugin
@ 2023-12-27 13:44 Paul Orlyk
  2023-12-28 19:33 ` Michael Niedermayer
  0 siblings, 1 reply; 11+ messages in thread
From: Paul Orlyk @ 2023-12-27 13:44 UTC (permalink / raw)
  To: ffmpeg-devel

mode field in Transport header can be sent in upper case so make string 
comparison case insensitive.
Also, GStreamer expects to see mode=record instead of mode=receive in 
Transport header in response.

Signed-off-by: Paul Orlyk <paul.orlyk@gmail.com>
---
  libavformat/rtsp.c    | 4 ++--
  libavformat/rtspdec.c | 4 ++--
  2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 583f5338e8..61e24a5c7a 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -1012,8 +1012,8 @@ static void rtsp_parse_transport(AVFormatContext *s,
                  if (*p == '=') {
                      p++;
                      get_word_sep(buf, sizeof(buf), ";, ", &p);
-                    if (!strcmp(buf, "record") ||
-                        !strcmp(buf, "receive"))
+                    if (!av_strcasecmp(buf, "record") ||
+                        !av_strcasecmp(buf, "receive"))
                          th->mode_record = 1;
                  }
              }
diff --git a/libavformat/rtspdec.c b/libavformat/rtspdec.c
index 39fd92fb66..d6a223cbc6 100644
--- a/libavformat/rtspdec.c
+++ b/libavformat/rtspdec.c
@@ -303,7 +303,7 @@ static int rtsp_read_setup(AVFormatContext *s, char* 
host, char *controlurl)
          rtsp_st->interleaved_min = request.transports[0].interleaved_min;
          rtsp_st->interleaved_max = request.transports[0].interleaved_max;
          snprintf(responseheaders, sizeof(responseheaders), "Transport: "
-                 "RTP/AVP/TCP;unicast;mode=receive;interleaved=%d-%d"
+                 "RTP/AVP/TCP;unicast;mode=record;interleaved=%d-%d"
                   "\r\n", request.transports[0].interleaved_min,
                   request.transports[0].interleaved_max);
      } else {
@@ -333,7 +333,7 @@ static int rtsp_read_setup(AVFormatContext *s, char* 
host, char *controlurl)
           localport = ff_rtp_get_local_rtp_port(rtsp_st->rtp_handle);
          snprintf(responseheaders, sizeof(responseheaders), "Transport: "
-                 "RTP/AVP/UDP;unicast;mode=receive;source=%s;"
+                 "RTP/AVP/UDP;unicast;mode=record;source=%s;"
                   "client_port=%d-%d;server_port=%d-%d\r\n",
                   host, request.transports[0].client_port_min,
                   request.transports[0].client_port_max, localport,
-- 
2.39.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-01-16  0:21 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-27 13:44 [FFmpeg-devel] [PATCH] avformat/rtsp: Fix server compatibility issues with rtspclientsink GStreamer plugin Paul Orlyk
2023-12-28 19:33 ` Michael Niedermayer
2024-01-03 12:51   ` Paul Orlyk
2024-01-10 17:57     ` Paul Orlyk
2024-01-12 19:07     ` Michael Niedermayer
2024-01-12 20:46       ` Paul Orlyk
2024-01-13 18:22         ` Michael Niedermayer
2024-01-15 20:37           ` [FFmpeg-devel] [PATCH v2 1/2] avformat/rtsp: Support mode field of Transport header being sent in upper case Paul Orlyk
2024-01-16  0:05             ` Michael Niedermayer
2024-01-15 20:37           ` [FFmpeg-devel] [PATCH v2 2/2] avformat/rtsp: Send mode=record instead of mode=receive in Transport header Paul Orlyk
2024-01-16  0:20             ` Michael Niedermayer

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git