[FFmpeg-devel] [PATCH] rtp: Fix play multiple multicast streams with the same port

Michael Niedermayer michael at niedermayer.cc
Mon Mar 7 03:11:02 CET 2016


On Wed, Jan 13, 2016 at 09:11:13AM +0800, Zhao Zhili wrote:
> ping?

applied

sorry for the delay, i had hoped thomas would review

thanks


> 
> On Fri, Jan 8, 2016 at 9:15 AM, Zhao Zhili <wantlamy at gmail.com> wrote:
> 
> > Sorry, I work hard to cross the Great Fire Wall to send this patch and
> > cannot send it as plaintext.
> > Now send it as attachment.
> >
> > On Fri, Jan 8, 2016 at 1:52 AM, Michael Niedermayer <
> > michael at niedermayer.cc> wrote:
> >
> >> On Thu, Jan 07, 2016 at 06:58:49PM +0800, Zhao Zhili wrote:
> >> > I made a mistake that rtp and rtcp cannot be the same port. A new patch
> >> is
> >> > appended.
> >> >
> >> > From: Zhao Zhili <wantlamy at gmail.com>
> >> > Date: Thu, 7 Jan 2016 18:55:50 +0800
> >> > Subject: [PATCH] rtp: Fix play multiple multicast streams with the same
> >> port
> >> >
> >> > We cannot play multiple multicast streams with the same port at the
> >> > same time. This is because both rtp and rtcp port are opened in
> >> > read-write mode, so they will not bind to the multicast address. Try
> >> > to make rtp port as read-only by default to solve this bug.
> >> >
> >> > Signed-off-by: Zhao Zhili <wantlamy at gmail.com>
> >> > ---
> >> >  libavformat/rtpproto.c | 6 ++++--
> >> >  libavformat/rtsp.c     | 2 +-
> >> >  2 files changed, 5 insertions(+), 3 deletions(-)
> >> >
> >> > diff --git a/libavformat/rtpproto.c b/libavformat/rtpproto.c
> >> > index e0aa23e..04a40ea 100644
> >> > --- a/libavformat/rtpproto.c
> >> > +++ b/libavformat/rtpproto.c
> >> > @@ -323,6 +323,7 @@ static int rtp_open(URLContext *h, const char *uri,
> >> int
> >> > flags)
> >> >      char path[1024];
> >> >      const char *p;
> >> >      int i, max_retry_count = 3;
> >> > +    int rtcpflags;
> >> >
> >> >      av_url_split(NULL, 0, NULL, 0, hostname, sizeof(hostname),
> >> &rtp_port,
> >> >                   path, sizeof(path), uri);
> >> > @@ -387,12 +388,13 @@ static int rtp_open(URLContext *h, const char
> >> *uri,
> >> > int flags)
> >> >              s->local_rtpport = -1;
> >> >              continue;
> >> >          }
> >> > +        rtcpflags = flags | AVIO_FLAG_WRITE;
> >> >          if (s->local_rtcpport < 0) {
> >> >              s->local_rtcpport = s->local_rtpport + 1;
> >> >              build_udp_url(s, buf, sizeof(buf),
> >> >                            hostname, s->rtcp_port, s->local_rtcpport,
> >> >                            sources, block);
> >> > -            if (ffurl_open(&s->rtcp_hd, buf, flags,
> >> > &h->interrupt_callback, NULL) < 0) {
> >> > +            if (ffurl_open(&s->rtcp_hd, buf, rtcpflags,
> >> > &h->interrupt_callback, NULL) < 0) {
> >>
> >> the patch is corrupted by linebreaks
> >>
> >> attaching it usually fixes that
> >>
> >> [...]
> >> --
> >> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
> >>
> >> Old school: Use the lowest level language in which you can solve the
> >> problem
> >>             conveniently.
> >> New school: Use the highest level language in which the latest
> >> supercomputer
> >>             can solve the problem without the user falling asleep waiting.
> >>
> >> _______________________________________________
> >> ffmpeg-devel mailing list
> >> ffmpeg-devel at ffmpeg.org
> >> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >>
> >>
> >
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Let us carefully observe those good qualities wherein our enemies excel us
and endeavor to excel them, by avoiding what is faulty, and imitating what
is excellent in them. -- Plutarch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160307/fe478035/attachment.sig>


More information about the ffmpeg-devel mailing list