[FFmpeg-devel] [PATCH] avformat/rtsp: don't overwrite session control uri

Andriy Gelman andriy.gelman at gmail.com
Mon Jan 18 00:53:38 EET 2021


On Sat, 31. Oct 10:16, Andriy Gelman wrote:
> On Wed, 21. Oct 13:39, Andriy Gelman wrote:
> > On Sat, 10. Oct 19:22, Andriy Gelman wrote:
> > > From: Andriy Gelman <andriy.gelman at gmail.com>
> > > 
> > > Fixes #1941
> > > 
> > > Currently the session control uri gets overwritten by the media's uri
> > > when mpegts is signalled in the media description. This happens because
> > > s->nb_streams doesn't count mpegts which is instead part of the private
> > > context in RTSPStream.
> > > 
> > > Instead use rt->nb_rtsp_streams which counts all of the media streams
> > > signalled in the sdp.
> > > 
> > > This solution was originally proposed by user "tpol" on trac:
> > > https://trac.ffmpeg.org/ticket/1941
> > > 
> > > Signed-off-by: Andriy Gelman <andriy.gelman at gmail.com>
> > > ---
> > >  libavformat/rtsp.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
> > > index e9fca034b4..4d5459ac41 100644
> > > --- a/libavformat/rtsp.c
> > > +++ b/libavformat/rtsp.c
> > > @@ -542,7 +542,7 @@ static void sdp_parse_line(AVFormatContext *s, SDPParseState *s1,
> > >          break;
> > >      case 'a':
> > >          if (av_strstart(p, "control:", &p)) {
> > > -            if (s->nb_streams == 0) {
> > > +            if (rt->nb_rtsp_streams == 0) {
> > >                  if (!strncmp(p, "rtsp://", 7))
> > >                      av_strlcpy(rt->control_uri, p,
> > >                                 sizeof(rt->control_uri));
> > > -- 
> > > 2.28.0
> > > 
> > 
> > ping
> > 
> 
> ping
> Will apply this Monday if no one objects.

I haven't applied this patch yet because I had some problems testing with vlc.
vlc would close the socket connection after ~10 seconds, even though a 60second
timeout was advertised.

This was fairly recently fixed in vlc:
38d214bc4f2ef68dfe6859383e12a20ae91e62de
ce3269d4a20aba2f87fc3e512131cb31b9561b3e

So I'll go ahead and push.

-- 
Andriy


More information about the ffmpeg-devel mailing list