[FFmpeg-devel] [PATCH] avformat/rtsp: Fix server compatibility issues with rtspclientsink GStreamer plugin

Michael Niedermayer michael at niedermayer.cc
Fri Jan 12 21:07:10 EET 2024


On Wed, Jan 03, 2024 at 02:51:36PM +0200, Paul Orlyk wrote:
> On 12/28/23 21:33, Michael Niedermayer wrote:
> > On Wed, Dec 27, 2023 at 03:44:09PM +0200, Paul Orlyk wrote:
> > > 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 at 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;
> > patch is damaged by linebreaks
> > 
> > 
> > [...]
> 
> 
> Sorry for that. Please find it attached.

>  rtsp.c    |    4 ++--
>  rtspdec.c |    4 ++--
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 8ed5709b8c5cb30aeaa18d609b86b9be0557a06e  0001-avformat-rtsp-Fix-server-compatibility-issues-with-r.patch
> From 156ceeded6cd076b781205adc034144186a9a7ea Mon Sep 17 00:00:00 2001
> From: Paul Orlyk <paul.orlyk at gmail.com>
> Date: Wed, 27 Dec 2023 15:30:20 +0200
> Subject: [PATCH] avformat/rtsp: Fix server compatibility issues with
>  rtspclientsink GStreamer plugin
> 
> 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.

It appears to me that these are 2 seperate issues ?
if its 2 patches, i can apply the av_strcasecmp().

For the receive vs record i would prefer to see some quote from a RFC instead
of just an implementation

thx

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

If you fake or manipulate statistics in a paper in physics you will never
get a job again.
If you fake or manipulate statistics in a paper in medicin you will get
a job for life at the pharma industry.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20240112/c4506ef2/attachment.sig>


More information about the ffmpeg-devel mailing list